Houdiniでのプロシージャルビルディングとパイプライン上での課題
Procedural building in Houdini and challenges on pipeline
(株式会社ポリゴン・ピクチュアズ / スタジオフォンズ)
(Polygon Pictures Inc. / Studio Phones)
今後の会合の状況を見つつ加筆修正を含めブラッシュアップを進めていく予定です。
■概要
■Overview
本資料ではプロシージャルモデリングを題材に、パイプライン上でアーティストが個別にプロシージャルビルディングを生成可能なアセットを構築しつつ、アーティスト同士でそれらを組み合わせ運用していくことを念頭におきながら、映像制作パイプライン構築時の課題に関して簡単にまとめて行きたいと思います。
詳しくは講演時に説明しますが、映像制作パイプラインとして運用するうえで欠かせない、ストレージ内でのアセットアッセンブルの視点から今回の考察で得られた知見を簡単に説明したいと思います。
under construction...
■問題意識
■Awareness
プロシージャルに生成するモデルとそのアセット(この資料ではプロシージャルモデルのアセットと呼ぶことにします)の課題の一つとして、その生成したモデルを後の工程で組み合わせたり、映像制作全体で用いるモデル全てとの対話性を如何にして持たせていくかとモデレーター達は考えました。
その顕著な例として、建物(ビルなど)の構成をプロシージャルに行うというトピックがあります。建物を構成するには、壁、床、柱、扉、窓、階段、可動性を考えて構成するエレベーターやエスカレーター、などなど多くの構成要素により成り立っており、それらを属性として管理したとしても、窓には窓枠、サッシ、取っ手、それらに必要なネジ類、などなど、建物のディテールまでモデルを構成していくには、膨大なモデルアセットを取り扱う必要があります。
これらは建築分野でのBIMのように、再利用性やメンテ性などを意識して構築していくことが求められ、同時に、プロシージャルに生成することを念頭においてアセットが構築されるため、柔軟にそれらのカタログ化などもパラメータの調整にともない行う仕組みが求められます。
関連資料として、下記もご覧いたけますと幸いです。
CADとBIMから学んだこととモデリングの課題
https://a-film-production-technique-seminar.com/fppat/materials/ppi_phones_learning_cad_bim/index.html
大規模アセットとカタログ化
https://a-film-production-technique-seminar.com/fppat/materials/ppi_phones_assets_catalog/index.html
モデレーター達で今回この課題を考えていくにあたって、ディテールを作り込む前段階のモデルアセットのアッセンブル時の課題に関して絞って扱うことにしました。単にアッセンブルと行っても、例えば扉のプロシージャルモデルのアセットと、窓のプロシージャルモデルのアセット、壁のプロシージャルモデルのアセットなどの連動した生成やアセット同士の接合、といった、編集しやすい何らかの仕組みが必要になります。
今回はかなりタイトなスケジュールでしたが、Houdini上でごく基本的なケースに関して、その解決法を考え、Houdini上でのnodeとして実現しましたので、講演時にはそのデモと苦労した点、アルゴリズム、その操作性の紹介、現在の仕組みで扱えないこと、パイプライン上で運用する上でまだ課題に残っていることを紹介し、会合参加者と他に課題がないかなどのディスカッションを進めたいと思います。
under construction...
■採用した方針と意識した事
■Policy adopted and Consciousness
ここでは基本的な方針と実現した仕組みの概略のみ説明します。
扉など、個別のプロシージャルモデルのアセットの組みに対して単純にパラメータを送り込むための仕組みを導入しました。その上で、例えば階段を建物の壁に接合する際に必要な道具たて(くり抜きなど)を構成し、スナップ機能を構成したことで接合したい箇所に接合出来るよう工夫を行いました。
このように単純な発想での仕組みですが、言い換えると、プロシージャルビルディングのアッセンブル時に必要なスナップ機能の拡充と、複数のプロシージャルモデルのアセットを統御するコンポーネントを新しく導入した、ということになります。課題や限界、可能性に関しては、会合時に参加者の皆さんとディスカッションして行きたいと考えております。
アッセンブルしたオブジェクトとノードツリー
階段アセットのIN/OUTデータと内部のノードツリー
スナップアセットのデモ
接続用アセットのデモ
under construction...
■今回の方法の延長で出来そうなこと
■Things that can be done with extension of this method
インスタンスなどへの対応や、シェーダの自在なリプレースメント、レンダラーに受け渡す各種設定をアッセンブルしたプロシージャルビルディングの状況から自動化して生成するなど、そういった点があげられます。
今回導入した複数のプロシージャルモデルのアセットを統御するコンポーネントを少し工夫すればアセットアッセンブルを行うアーティストや担当者は複数のプロシージャルビルディングのアセットの状況からそこに合った各種設定を行う仕組みは可能でしょうし、実運用でも事実試してみたい機能が出来ていくとおもわれます。
例えば、街をひとつ全てプロシージャルビルディングで構成した際、これらのアセットはデータ容量の肥大化を招きますので、プロシージャルビルディングの生成過程に対して前述のような操作性を追求していくことで、街として扱うプロシージャルビルディングのアセット全体へ影響するプロシージャーなども考えていけるかと思います。これらは会合の後も取り組みたいと思いますし、また会合時にフィードバックを行っていけると思います。
under construction...
■今回、課題に思えて来たこと
■Things that seemed to be an issue this time
今回はディテールを省いた複数のプロシージャルモデルのアセットの配置に特化しトライアルを進めていましたが、今扱っているディテール以上にディテールを詰めていこうと思うと、UV面でもこれらの生成時に追随しつつ編集可能な仕組みも必要になるでしょうし、HoudiniなどUI上でひとつのシーンで扱って行くには厳しい規模のアセットサイズになっていくになっていくと思います。機能を抜き出し、サーバサイドでプロシージャを稼働させ、それらを描画する形態に移行する、大量のプロシージャルモデルのアセットの様子(シェーダやテクスチャ、ディテールなどの詳細など)を瞬時に概観するためのWebパネルなどがないと、アーティスト同士で状況を概観していくにも難しく、ちょうどBIMクラウドのような仕組みをプライベート/パブリックなクラウドで構成していく必要も感じました。
また、アートディレクションを行っていく意味でも、これらの工程の生産管理のための仕組みも映像制作のパイプラインという視点で見ると欠かせないとも思えました。それらに加えて、複数のプロシージャルモデルのアセット生成の指示を出す仕組みも必要になるでしょうし、計算クラスター側へ柔軟な対応もここでは必要になるかと思われます。大規模制作での映像制作ほど、瞬時にアセットを生成出来る分、どのように全体を俯瞰できるかなど、アートディレクション上の課題は今後ますます顕著になっていくのかもしれません。
関係する課題として、下記もご覧頂けましたら幸いです。
事前設計と生産管理の課題とコンセプトワーク
https://a-film-production-technique-seminar.com/fppat/materials/ppi_phones_predesign_mng_concept/index.html
under construction...