>   >  Houdini × UE4によるプロシージャル背景制作! Procedural Environment『1,000の和室』
Houdini × UE4によるプロシージャル背景制作! Procedural Environment『1,000の和室』

Houdini × UE4によるプロシージャル背景制作! Procedural Environment『1,000の和室』

Topic 3 和室を彩る内装設計と各アセット

アーティストによる画づくりまで考慮されたプロシージャル

和室の構造が生成された後は、内装の生成が行われる。RoomSizeOutputで生成されたシンプルなプリミティブはここでも使用される。「プロップ類の配置は、ただプロシージャル的にランダムに行なったのでは、人間が見てあり得ないような変な部屋ができてしまいかねません。そこで、できるだけ自然で魅力的な配置になるように、アセットごとにどこに置かれるべきかというアトリビュートを付与し、部屋側のアトリビュートを照らし合わせながら配置するしくみにしています」とは、背景アーティストを務めた神谷 卓氏。例えば外光が差し込む窓の前には物を置かないようにする、机上のプロップは重心がはみ出さないようにする、扇風機やテレビは使用者の存在を想定してテーブルの方を向く......といったルールが細かく設計されている。

配置されるプロップは、内部的には大きく2つに分けられる。フルプロシージャルに形作られるものと、先に造形したものを組み込んだ「差分アセット」だ。構造から配置物まで全てをプロシージャルにすれば、生成物の可能性は圧倒的に広がるが、一方でアセット生成の時間なども膨大になってしまう。プロシージャル化の手間がかかりすぎるものや、バリエーションの多さがそれほど効果的でないものは、差分アセットとした方が効率的だ。プロップの配置は、Bullet、Vellumによるシミュレーション、Find Shortest Path、点群やUVパッキングなどの手法を適材適所に組み合わせて行われている。「各スタッフから日々アセットが追加されるので、それに合わせた配置方法を考えて組み込むといった対応、バグ潰しをくり返す日々でした」と語る神谷氏は、Houdini歴10ヶ月のTAではないアーティストというから驚きだ。年末以降のブラッシュアップ期間は、プロシージャルに生成された大量の和室から特徴的なものを選び、最終的なルックに向けての調整がくり返された。クオリティアップのためのレビュー会を実施しつつ、2Dアーティストの肥塚めぐみ氏が合流し、ペイントオーバーによるブラッシュアップが施された。「UE4上で生成された部屋を確認しつつ、プロップの配置調整や追加、ライティングなどで部屋ごとのコンセプトが際立つよう提案していきました」(肥塚氏)。同時期にUE4での画づくり経験が豊富なアーティストが多数合流。デカールによる汚しなどの追加、テクスチャやライティングの調整、庭の追加などを経て冒頭のキービジュアルのクオリティまで引き上げている。

差分アセット

別途DCCツールでモデリング後にHoudiniに組み込まれた「差分アセット」。MayaからFBXで出力し、それをHoudini側でFileSOPで読み込み。パブリッシュのために用意したHDA「UE4 Mesh Output」でbgeoに書き出している。またプロシージャルなプロップも、生成時間を優先していったん出力して差分アセット化したものもある

モデリングした照明器具のバリエーション

照明器具のバリエーションを差分アセットパブリッシュ用に組み上げたところ。ちなみに照明の発光部分には、UE4上でライトを自動配置するために頂点カラーが塗られている

様々な手法を組み合わせた内装配置



  • プロップの配置については、点群を散布しそれを置き換えていく手法が考えられるが、それではあらゆるプロップがあらゆる位置・角度で配置される可能性があり、適した配置をなかなか得られない



  • そこで、RoomSizeOutputの情報を利用しつつ配置条件を調整。箪笥・段違い棚・テレビの上には配置場所としてのアトリビュートを別途付与したり、障子や襖の前には物を置かないなどのルールを組み込み、適切な配置を得ている。また、プロップ類のパブリッシュの際に組み込まれるコリジョンメッシュも配置に利用している

机のHDA。机の上にも物が置かれ、長さに応じて座椅子や座布団が配置される。また湯のみやキセルなどは、一般的に置かれるであろう位置関係から大きく逸脱しないよう設計されている



フレキシブルに変化する机と配置

机の上のアセットの配置は、机の大きさが変わっても追従する。種類もちゃぶ台、囲炉裏とあるが、それぞれ配置のルールを設けて形状変化にも対応するようにしている。さらに座布団、座椅子の位置や数も変更可能


UV LayoutとRigid Bodyを用いた本の自動配置

UVレイアウトを使用し、本棚の中に本を配置した例。配置後にDOPシュミレーションを使用することで自然に配置されるようにしている。諸事情により、今回の最終データでは用いてはいない


Houdini の機能を利用したコタツの配置

コタツ布団はVellumを用いてシワを寄せている。「ただ落とすと綺麗なシワになってしまうので、サンプルの豚を出入りさせてコリジョンさせています。適度な凹凸に引っかかって引っ張られることで、人が出入りした後のようなコタツ感が得られます」(神谷氏)。なお、座布団のコリジョンを考慮することで、座布団がどのように配置されてもめり込まないよう設計されている



Vellumを使用したこたつのクロスシミュレーション

こたつの布をVellumを用いて作成。単純に上方から平面を落とすだけでは使用感のある布の形状が生成できないため、アニメーションしたコリジョンを用いて自然な形状になるようにしている。試行錯誤の結果、HoudiniのTest GeometoryのPig headが一番理想的な形状だったという


アート・肥塚氏提案によるコタツの電源コードの調整例。散布した点群をFind Shortest Pathで結びながら自動生成しているが、家具を避けるためにコリジョン形状に入った点群を除外して接続している。また、適度な使用感を出すためにノイズを加えているが、この際にコリジョン内に入ってしまった場合はノイズ追加前のカーブの位置情報も併用



Find Shortest Pathを用いたこたつコードの自動生成

部屋内に置かれたアセットの隙間を縫うようにコードが自動生成される。アセットで生成されるコリジョンを利用しており、コードがアセットに貫通することはない。同様にコンセントもコードの先端に自動で配置される


和室を彩る数々のプロップ類

多岐にわたるプロップを用意することで、生成される和室をバリエーション豊かなものにしている。アーティストの多くが、本プロジェクトで入門したHoudiniを何らかのかたちで用いて制作している

屏風や刀など古風なものから、白黒テレビ、ヒーターといった近現代の家具まで幅広い。プロジェクト開始時から制作されているもののほかに、生成された部屋のコンセプト決定後に追加されたものなど様々だ

アセット各種。検証プロジェクトということでポリ数、テクスチャなどに制限は設けなかったが、普段から最適化に慣れたスタッフ揃いのため高負荷アセットはあまりないとのこと。「薬箪笥やコタツは重たくなりがちで、コタツは約40万tri、薬箪笥は約60万triにおよぶものが生成されることもあります」(斎藤氏)



背景2Dアートによるペイントオーバーとイテレーション

プロシージャルである程度のレイアウトやライティングができた時点で、適宜レビュー会が開かれ改善点が話し合われた。2Dアート肥塚氏が合流し、総合的なクオリティアップに向けて各種検討が重ねられた。図はコタツを中心にした和室の事例

プロシージャル出力された、ペイントオーバー前の状態

肥塚氏によるペイントオーバー。ライティング調整のほか、生活感を出すための提案が多数含まれている

完成シーン。こうしたブラッシュアップ期間は約2ヶ月ほどだが、部屋によってはコンセプトが定まってから1週間程度で仕上がったものも。プロシージャルで8割まで生成、そこから追加作業で品質を高める、という目標は達成されたかたちだが、そこにはもちろんUE4でのアートワークに長けたアーティストたちの貢献も大きい



UE4 Editor上のこたつシーンウォークスルー

実際に作成した、こたつシーンのウォークスルー動画。UE4上でリアルタイムで描画されてることがわかる



info.

  • 月刊CGWORLD + digital video vol.248(2019年4月号)
    第1特集:リミテッドモデリング
    第2特集:衣服制作特化型ツールのすすめ
    定価:1,512 円(税込)
    判型:A4ワイド
    総ページ数:128
    発売日:2019年3月9日

    © 2019 Virtual-Market. All rights reserved.
    © Unity Technologies Japan/UCL
    ※表紙に掲載されているキャラクターは全てオリジナルもしくはライセンス規約に則ったものであり、いかなる著作物の権利も侵害しておりません

特集