SlideShare a Scribd company logo
1 of 83
ⒸKLab inc. 1
ⒸKLab inc.
introduction
2
ⒸKLab inc.
自己紹介
3
ⒸKLab inc.
● 佐々木洋太
● KLab株式会社技術統括部RRRグループ所属
○ ※RRR = RealTime Rendering Researchの略
● VFXシニアアーティスト
自己紹介
4
ⒸKLab inc.
● 来歴
○ アニメ制作会社、3DCG制作会社で主に2D・3Dのエフェクト・コンポジット・映像制作に多
数携わった後KLabに入社。
自己紹介
5
ⒸKLab inc.
● 入社後
○ 入社後は先端VFXの技術検証やテックデモ制作に携わりつつ、オリジナルRPGタイトルのカ
ットシーン制作に参加。
■ テックデモのLink
■ UnityKorea様で行ったテックデモのウェビナーLink
● 現在
○ 現在は主に映像・エフェクトの技術・アート両分野での「新規プロジェクトへの協力・高度
なVFXの技術検証及び社内導入・制作力向上への貢献・コンセプトやスタイルガイドの構
築」といった業務を行っています。
○ 技術検証・実践内容の一部は2020年のCEDECで登壇して紹介しています。
■ CEDEC2020の資料Link
■ SideFX社様のCEDEC紹介ページLink
自己紹介
6
ⒸKLab inc.
● リアルタイム・レンダリング・リサーチグループ(RRR)
○ KLabの3Dビジュアル研究開発グループ
○ 横断活動グループとしてプロジェクトサポート及び新規開発に関与
○ 2018年に結成
○ 現在は7人
■ 全員がそれぞれ違う得意分野を持っている人
■ 全員が「楽するための苦労をしたい」人
● <今の仕事を仕組化・効率化し、未来を楽にする。>という、KLabの大事にしている価値観の
一つでもあります。
自己紹介
7
ⒸKLab inc.
● 自主制作
○ 仕事だけではなく趣味でもプリレンダーやリアルタイムの映像・エフェクト・モーショング
ラフィックス制作をしています。
■ 先日ボーンデジタル様主催の『Houdiniで作るNPRエフェクト&After Effectsでのコンポ
ジット実践解説オンラインセミナー』という題で、趣味のNPRエフェクトの解説セミナ
ーを行いました。
○ 今回のUnity道場では、仕事及びこうした自主制作で培われたHoudiniとUnity連携のノウハウ
をご紹介致します。
自己紹介
8
ⒸKLab inc.
Personal Work Demo Reel
9
ⒸKLab inc.
Personal Work Demo Reel
● Houdini&Unity:Real-timeリール紹介
○ 動画リンク
10
ⒸKLab inc.
Houdini and Unity integration
11
ⒸKLab inc.
Houdini and Unity integration
● introduction
○ デモリールで紹介したようにHoudiniとUnityを使用した作例が色々とございます。
○ 今回はその中から「FlowMap」及び「Rigid Body Dynamics(RBD)」関係のノウハウの紹介
を主に行いたいと存じます。
○ 基本的には作業シーンを紹介しながらの説明になりますが、後で資料として読み返しやすい
ように要点はスライドの方にも記載させていただきます。
12
ⒸKLab inc.
Houdini and Unity integration
● 香盤表
○ 前編
■ introduction
● 自己紹介
■ Houdini and Unity integration
● Various uses for flowmap
○ 後編
■ Houdini and Unity integration
● Baking Rigid Body Dynamics
● その他Tips
13
ⒸKLab inc.
Houdini and Unity integration
● 使用しているツールのバージョン
○ Houdini
■ Houdini18.5.462
■ SideFXLabs18.5.462
○ Unity
■ Unity2019.3LTS:HDRP
■ Unity2019.4LTS:URP
■ Unity2020.2LTS:HDRP
■ Unity2020.3LTS:HDRP
14
ⒸKLab inc.
Various uses for Flowmap
15
ⒸKLab inc.
序文
16
ⒸKLab inc.
序文
● Flowmap とは
○ Flowmap は、端的に言うと水など流体の流れを2次元で表現するための手法です。
○ Y-up で X方向への動きを赤(R)チャネルに、Z 方向のチャネルを緑 (G) チャネルに渡し、 0 <
x,z < 128 で-方向に、128< x,z < 255 で+ 方向に動きます。X=128, Z=128 で静止状態です。
17
ⒸKLab inc.
序文
● Flowmap とは
○ 一般的なエフェクトで煙やショックウェーブのような要素に使用したり、環境エフェクトで
川や滝・溶岩のようなものに使用したり、サイネージのようなイメージ流体的な表現に使用
したりと色々と使い所の多い手法です。
18
ⒸKLab inc.
序文
● Flowmap とは
○ 一般的なエフェクトで煙やショックウェーブのような要素に使用したり、環境エフェクトで
川や滝・溶岩のようなものに使用したり、サイネージのようなイメージ流体的な表現に使用
したりと色々と使い所の多い手法です。
19
ⒸKLab inc.
序文
● Flowmap とは
○ 一般的なエフェクトで煙やショックウェーブのような要素に使用したり、環境エフェクトで
川や滝・溶岩のようなものに使用したり、サイネージのようなイメージ流体的な表現に使用
したりと色々と使い所の多い手法です。
20
ⒸKLab inc.
序文
● infomation
○ 今回はUnity道場Houdini編ということで、画像のシーンをベースに、Houdiniで川のような流
れのFlowmapを生成し、それをUnityに持ち込んで利用する環境エフェクト作成手法を主にご
紹介したいと思います。
21
ⒸKLab inc.
序文
● infomation
○ 今回はUnity道場Houdini編ということで、画像のシーンをベースに、Houdiniで川のような流
れのFlowmapを生成し、それをUnityに持ち込んで利用する環境エフェクト作成手法を主にご
紹介したいと思います。
22
ⒸKLab inc.
Flowmap of Environments
23
ⒸKLab inc.
Flowmap of Environments
● infomation
○ Unityに持ち込む素材は基本的にHoudiniで作成しています。
24
ⒸKLab inc.
Flowmap of Environments
● 背景素材:infomation
○ 背景素材はHeightFieldで作成しています。
25
ⒸKLab inc.
Flowmap of Environments
● 背景素材:初期設定
○ ジオメトリの凹凸のクオリティが頂点カラーやNormalにベイクする際に直に影響するので、
「GridSpacing」を「1」にしてメッシュの解像度を高めています(初期設定は「2」)。
○ 「GridSpacing」が「2」だと寄りの絵で見た時にメッシュやテクスチャが甘めに見えやすい
ので、高解像度でベースの素材を作成して後々必要に応じてリダクションすることをお奨め
します。
26
ⒸKLab inc.
Flowmap of Environments
● 背景素材:マスク
○ 実際に川にする部分をジオメトリでマスキングして指定することができます。
■ こうすることで極めてプロシージャルなシーン・アセットを構築することができますが、
後々細かく個別に調整したいときに逆に不便な事もあるので適宜使い分けます。
27
ⒸKLab inc.
Flowmap of Environments
● 背景素材:マスク
○ 今回はHeightField上でアナログで川にする部分をペイントしてマスキングしています。
28
ⒸKLab inc.
Flowmap of Environments
● 背景素材:ディテール
○ 主に「Noise」「Distort」「Erode」を用いてディテールを作成します。
29
ⒸKLab inc.
Flowmap of Environments
● 背景素材:ディテール
○ 主に「Noise」「Distort」「Erode」を用いてディテールを作成します。
30
ⒸKLab inc.
Flowmap of Environments
● 背景素材:ディテール
○ 主に「Noise」「Distort」「Erode」を用いてディテールを作成します。
31
ⒸKLab inc.
Flowmap of Environments
● 背景素材:ディテール
○ 主に「Noise」「Distort」「Erode」を用いてディテールを作成します。
32
ⒸKLab inc.
Flowmap of Environments
● 背景素材:リサイズ
○ 初期設定だと1000m×1000mのような長大なサイズなので、ディテールを作り終えたらポリゴ
ンに変換する前に扱いやすいサイズにリサイズしています。
33
ⒸKLab inc.
Flowmap of Environments
● 背景素材:コンバート
○ 「Convert HeightField」SOPでポリゴンに変換します。
○ この作例のような小規模なスケールの場合、HeightFieldを普通のポリゴンとして扱うことで
作業の取り回しが良くなります。
34
ⒸKLab inc.
Flowmap of Environments
● 背景素材:ポストプロセス
○ HeightField素材は様々なアトリビュートを内包しているので、それを用いることで地形に沿
った色調整を行う事ができます。
35
ⒸKLab inc.
Flowmap of Environments
● 背景素材:ポストプロセス
○ HeightField素材は様々なアトリビュートを内包しているので、それを用いることで地形に沿
った色調整を行う事ができます。
36
ⒸKLab inc.
Flowmap of Environments
● 背景素材:Export
○ 色調整等のポストプロセスが済んだら、SideFXLabsの「MapsBaker」SOPで必要なテクスチ
ャを書き出します。メッシュも必要に応じてリダクションしてFBXで書き出します。
37
ⒸKLab inc.
Flowmap of Environments
● 背景素材:Export
○ 色調整等のポストプロセスが済んだら、SideFXLabsの「MapsBaker」SOPで必要なテクスチ
ャを書き出します。メッシュも必要に応じてリダクションしてFBXで書き出します。
38
ⒸKLab inc.
Flowmap of Environments
● Flowmap:infomation
○ 背景素材の調整が済んだら、それに沿ってFlowmapのテクスチャとメッシュ作成を行います。
39
ⒸKLab inc.
Flowmap of Environments
● Flowmap:ベース素材
○ 背景素材に沿って、任意の形状のカーブを作成して使用します。
○ 地形に沿わせる事を考慮して、ベース形状作成後に「ResampleSOP」等でPoint数を増やし
ておくとベターです。
40
ⒸKLab inc.
Flowmap of Environments
● Flowmap:ベース素材
○ 「add」SOPでPointを作って繋げてベースのカーブを作成しています。
■ こうすることで後々カーブを編集したい時に調整がしやすくておススメです。
41
ⒸKLab inc.
Flowmap of Environments
● Flowmap:ベース素材
○ 「raySOP」でカーブを任意の背景素材に沿わせます。
42
ⒸKLab inc.
Flowmap of Environments
● Flowmap:ベース素材
○ 「Sweep」SOPでメッシュを生成します。
43
ⒸKLab inc.
Flowmap of Environments
● Flowmap:ベース素材:注意事項
○ 「Sweep」SOPの「PrimitiveType」を「Polygons」に設定します。
○ 初期設定の「Automatic」だと「PolygonSoup」扱いになる場合が多く、「PolygonSoup」だ
とPointやPrimitiveのアトリビュートを参照・調整したい時に不都合があるので、Flowmap作
成時は「Polygons」に設定する必要があります。
44
ⒸKLab inc.
Flowmap of Environments
● Flowmap:UV
○ 川のように縦に長いメッシュや中規模以上のメッシュを生成した場合、画像の様にUVが複
数のUV空間に渡って生成されることがよくあります。
■ プリレンダーならともかく、ゲームエンジンに持ち込む上でこの状態は望ましくあり
ません。そのため一つのUV空間にUVを納める必要があります。
45
ⒸKLab inc.
Flowmap of Environments
● Flowmap:UV
○ pointnunber等の任意のアトリビュートを参照したアトリビュートを作成し、それを0-1にfit
させます。
○ 生成するアトリビュートは元のカーブのpoint数と同じにしておくのがベターです。
46
ⒸKLab inc.
Flowmap of Environments
● Flowmap:UV
○ 0-1にfitさせたアトリビュートの情報を基にUV情報をリマップします。0-1にfitさせているの
でUVが一つのUV空間に納まります。
47
ⒸKLab inc.
Flowmap of Environments
● Flowmap:Flowmap生成
○ ベースのDirectionは元のメッシュのNormal情報を使うか、画像の様に均一なDirectionでベー
スを作成しておくと後の調整がし易くておススメです。
48
ⒸKLab inc.
Flowmap of Environments
● Flowmap:Flowmap生成
○ 元のカーブを「FlowmapGuide」ノードに接続することで、プロシージャルにカーブの流れ
に沿ったFlowmapを作成することができます。
49
ⒸKLab inc.
Flowmap of Environments
● Flowmap:Flowmap生成
○ 元のカーブを「FlowmapGuide」ノードに接続することで、プロシージャルにカーブの流れ
に沿ったFlowmapを作成することができます。
50
ⒸKLab inc.
Flowmap of Environments
● Flowmap:カラー設定
○ 「Flowmap to Color」ノードでFlowmapとしての色を付けます。
○ 如何にもUnityで使う場合はチェックを入れなければならないと思われるようなチェックボ
ックスがあるのですが、プレビューで意図した通りにFlowmapが流れていればチェックを入
れなくて問題ありません。
51
ⒸKLab inc.
Flowmap of Environments
● Flowmap:障害物の設定
○ 「FlowmapObstacle」ノードを使用し、障害物周辺の流れの歪みを生成することができます。
障害物がない場合は「FlowmapObstacle」ノードは使用しなくて大丈夫です。
52
ⒸKLab inc.
Flowmap of Environments
● Flowmap:プレビュー
○ Flowmapの見た目や動きの確認は「FlowmapVisualize」ノードで行います。実際にアニメー
ションを再生しながらFlowmapのクオリティを詰めていきます。
53
ⒸKLab inc.
Flowmap of Environments
● Export:事前確認
○ Exportの前にUV情報が一つのUV空間に納まっているかを確認します。
○ 本来一つのUV空間に納まらないUVをfitさせているので、画像の様に圧縮されたような見た
目になっていても問題ありません。
54
ⒸKLab inc.
Flowmap of Environments
● Export:Texture
○ FlowmapTextureのExportにはSideFXLabsの「SimpleBaker」「MapsBaker」が手軽でおス
スメです。
○ 基本的に地形のFlowmapは縦横に伸縮された状態で書き出すので、実際にColorやNormalで
使うテクスチャはタイリングされたものを推奨します。
55
ⒸKLab inc.
Flowmap of Environments
● Export:メッシュ
○ 静的なメッシュとしてFBX等でExportします。
○ この際、場合によっては適宜リダクションしてポリゴン数を減らします。
■ 四角ポリゴンのままリダクションしたい場合は「PolyReduce」SOPの
「PreserveQuads」のチェックをオンにしておくと、比較的四角ポリゴンを維持してリダ
クションできます。
■ UVはHoudiniの殆どのリダクション手法で維持されます。
56
ⒸKLab inc.
Flowmap of Environments
● Unity:import設定
○ Flowmapの素材はsRGBのチェックを外さないと上手く使えない場合もあるのですが、
sRGBの状態できちんとFlowmapテクスチャが描画されていればチェックが付いたままで
大丈夫です。
57
ⒸKLab inc.
Flowmap of Environments
● Unity:Shader設定
○ 川や溶岩のようなPBR要素を活かしてクオリティを調整するようなものは、Normalmap
もFlowmapの影響を受けるように構築すると品質向上に繋がります。
58
ⒸKLab inc.
Flowmap of Environments
● Unity:Shader設定
○ 逆にバトルエフェクトの煙やショックウェーブのようなUnlitで良いものは、Normalmap
等の必要ない要素をオミットすることでShaderを簡略化・軽量化できます。
59
ⒸKLab inc.
Flowmap of Environments
● Unity:Appendix:背景パーティクル
○ 背景の賑やかしで挿入しているパーティクルはVisualEffectGraphで作成しています。
60
ⒸKLab inc.
Flowmap of Environments
● Unity:Appendix:背景パーティクル
○ ベースとなる発生源の素材はHoudiniで作成しています。
■ 最低限の指向性を持ったNormalやVelocityがあれば大丈夫なので、シンプルなチュ
ーブを作成しアトリビュートを調整してPointCacheで書き出しています。
61
ⒸKLab inc.
Flowmap of Environments
● Unity:Appendix:背景パーティクル
○ VectorFieldのデータも同じチューブから生成しています。
■ こちらもSDFの起点として最低限の要素が備わっていれば今回のような用途では問
題ないので、軽量のボリュームに変換して3KBのVectorFieldデータとして書き出し
ています。
62
ⒸKLab inc.
Flowmap of Environments
● Unity:Appendix:背景パーティクル
○ PointCacheとVectorFieldの書き出しに使用しているノードは、Unity-Technologiesの
Github上で公開されているVFXtoolboxのものを使用しています。
63
ⒸKLab inc.
Flowmap of Environments
● Unity:Appendix:背景パーティクル
○ 書き出したPointCacheとVectorFieldを使用して添付gifのような汎用パーティクル素材を
作成しています。
64
ⒸKLab inc.
Flowmap of Environments
● Unity:Appendix:背景パーティクル
○ PointCacheとVectorFieldに基本的な情報を格納しているので、VisualEffectGraphの構造
自体はシンプルです。
65
ⒸKLab inc.
Flowmap of Environments
● Unity:Appendix:背景パーティクル
○ PointCacheからベースとなるPositionやVelocityの値を参照させています。こうすること
で任意の位置からの発生や指向性を持った初速を簡単にコントロールできます。
66
ⒸKLab inc.
Flowmap of Environments
● Unity:Appendix:背景パーティクル
○ VectorFieldと3DNoiseをかけ合わせています。こうすることでタービュランスを柔軟に調
整できるようにしています。
67
ⒸKLab inc.
Other Flowmap tips
68
ⒸKLab inc.
Other Flowmap tips
● infomation
○ ポピュラーなFlowmapの利用法として、煙やショックウェーブのようなエネルギー物に使う
放射型のFlowmapのHoudiniでの作り方を紹介いたします。
69
ⒸKLab inc.
Other Flowmap tips
● ベース素材作成
○ Flowmap作成に使う正方形のグリッドを用意します。このグリッドの頂点カラーに焼き付い
たFlowmapの情報をテクスチャにベイクするので、分割数はそこそこ増やしておきます。
70
ⒸKLab inc.
Other Flowmap tips
● 指向性のある法線素材作成
○ 放射型のNormalを持ったサークルを作成します。このNormalが放射型の動きのベースになり
ます。
71
ⒸKLab inc.
Other Flowmap tips
● 指向性のある法線素材作成
○ 放射型のNormalを持ったサークルを作成します。このNormalが放射型の動きのベースになり
ます。
72
ⒸKLab inc.
Other Flowmap tips
● 指向性のある法線適応・調整
○ 作成した放射型Normalの素材を「FlowmapObstacle」ノードに接続し、パラメータを調整し
て放射具合を整えます。
73
ⒸKLab inc.
Other Flowmap tips
● ディテールアップ
○ 均一な放射になりすぎるのが嫌な場合は、別の素材を追加で「FlowmapObstacle」ノードに
接続したり、元々の放射型Normalに少しランダム性を持たせたりして不均一さを作ります。
74
ⒸKLab inc.
Other Flowmap tips
● ディテールアップ
○ 均一な放射になりすぎるのが嫌な場合は、別の素材を追加で「FlowmapObstacle」ノードに
接続したり、元々の放射型Normalに少しランダム性を持たせたりして不均一さを作ります。
75
ⒸKLab inc.
Other Flowmap tips
● プレビュー・最終調整
○ 基本的なNormalの設定が終わったら「FlowmapVisualize」ノードで視覚化しながら最終的な
ディテールを詰めていきます。
76
ⒸKLab inc.
Other Flowmap tips
● Export
○ 「FlowmapVisualize」ノードでの調整が終わったら「SimpleBaker」や「MapsBaker」ノード
で頂点カラーをテクスチャにベイクして作業完了です。
77
ⒸKLab inc.
Other Flowmap tips
● Extra
○ 余談ですが、プレビューに用いているショックウェーブ素材もHoudiniで作成しています。
78
ⒸKLab inc.
Other Flowmap tips
● Extra
○ Flowmap作成時に特によく調整する要素はそこまで多くないので、よく調整する要素を纏め
てHDAやサブネットでアセット化しておくと作業効率・品質の向上に役立ちます。
79
ⒸKLab inc.
Flowmap:END
80
ⒸKLab inc.
Flowmap:END
● Flowmap関係の説明・解説は以上となります。
81
ⒸKLab inc.
ご清覧ありがとうございました
82
ⒸKLab inc.
end
83

More Related Content

What's hot

What's hot (20)

第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
 
UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!UE4でTranslucencyやUnlitに影を落としたい!
UE4でTranslucencyやUnlitに影を落としたい!
 
60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編60fpsアクションを実現する秘訣を伝授 解析編
60fpsアクションを実現する秘訣を伝授 解析編
 
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
 
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTERNPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
 
猫でも分かる Control Rig UE4.25 版
猫でも分かる Control Rig UE4.25 版猫でも分かる Control Rig UE4.25 版
猫でも分かる Control Rig UE4.25 版
 
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)
 
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
大規模タイトルにおけるエフェクトマテリアル運用 (SQEX大阪: 林武尊様) #UE4DD
 
エフェクトツール機能の実装例
エフェクトツール機能の実装例エフェクトツール機能の実装例
エフェクトツール機能の実装例
 
Game Creators Conference 2019 Keiji Kikuchi
Game Creators Conference 2019 Keiji KikuchiGame Creators Conference 2019 Keiji Kikuchi
Game Creators Conference 2019 Keiji Kikuchi
 
UE4におけるアニメーション制作事例
UE4におけるアニメーション制作事例  UE4におけるアニメーション制作事例
UE4におけるアニメーション制作事例
 
UE4のスレッドの流れと Input Latency改善の仕組み
UE4のスレッドの流れとInput Latency改善の仕組みUE4のスレッドの流れとInput Latency改善の仕組み
UE4のスレッドの流れと Input Latency改善の仕組み
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
 
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
 
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDマテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
 
UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-
 
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
 
UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-
 
猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り
 

Similar to 【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編

ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
 
3 dプリンタの使い方
3 dプリンタの使い方3 dプリンタの使い方
3 dプリンタの使い方
mgwsuzuki
 
130329 04
130329 04130329 04
130329 04
openrtm
 
20130329 rtm4
20130329 rtm420130329 rtm4
20130329 rtm4
openrtm
 

Similar to 【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編 (20)

CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめにCEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
 
CGWORLD 2021 クリエイティブカンファレンス
CGWORLD 2021 クリエイティブカンファレンス CGWORLD 2021 クリエイティブカンファレンス
CGWORLD 2021 クリエイティブカンファレンス
 
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築するピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
 
20181228 ncf to_azure_batch
20181228 ncf to_azure_batch20181228 ncf to_azure_batch
20181228 ncf to_azure_batch
 
Inside pixiv's infrastructure〜application cluster side〜
Inside pixiv's infrastructure〜application cluster side〜Inside pixiv's infrastructure〜application cluster side〜
Inside pixiv's infrastructure〜application cluster side〜
 
Scalaプロダクトのビルド高速化
Scalaプロダクトのビルド高速化Scalaプロダクトのビルド高速化
Scalaプロダクトのビルド高速化
 
SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-SpringOne Platform Replay -Pivotal Cloud Foundry-
SpringOne Platform Replay -Pivotal Cloud Foundry-
 
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料
 
リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介リクルートにおける画像解析事例紹介と周辺技術紹介
リクルートにおける画像解析事例紹介と周辺技術紹介
 
SDSoC でストリーム
SDSoC でストリームSDSoC でストリーム
SDSoC でストリーム
 
3 dプリンタの使い方
3 dプリンタの使い方3 dプリンタの使い方
3 dプリンタの使い方
 
[DL輪読会]An Image is Worth 16x16 Words: Transformers for Image Recognition at S...
[DL輪読会]An Image is Worth 16x16 Words: Transformers for Image Recognition at S...[DL輪読会]An Image is Worth 16x16 Words: Transformers for Image Recognition at S...
[DL輪読会]An Image is Worth 16x16 Words: Transformers for Image Recognition at S...
 
130329 04
130329 04130329 04
130329 04
 
20130329 rtm4
20130329 rtm420130329 rtm4
20130329 rtm4
 
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践
 
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたかリクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか
 
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布
 
Lecuture on Deep Learning API
Lecuture on Deep Learning APILecuture on Deep Learning API
Lecuture on Deep Learning API
 
2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて2014年を振り返る 今年の技術トレンドとDockerについて
2014年を振り返る 今年の技術トレンドとDockerについて
 
実践! Argo cd &amp; rollouts による canary release(cndt2021)
実践! Argo cd &amp; rollouts による canary release(cndt2021) 実践! Argo cd &amp; rollouts による canary release(cndt2021)
実践! Argo cd &amp; rollouts による canary release(cndt2021)
 

More from UnityTechnologiesJapan002

More from UnityTechnologiesJapan002 (20)

5分でわかる Sensor SDK
5分でわかる Sensor SDK5分でわかる Sensor SDK
5分でわかる Sensor SDK
 
10分でわかる Unityコンピュータービジョン
10分でわかる Unityコンピュータービジョン10分でわかる Unityコンピュータービジョン
10分でわかる Unityコンピュータービジョン
 
5分でわかる Unity Forma
5分でわかる Unity Forma5分でわかる Unity Forma
5分でわかる Unity Forma
 
ROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉する
 
Unityでロボットの教師データは作れる!
Unityでロボットの教師データは作れる!Unityでロボットの教師データは作れる!
Unityでロボットの教師データは作れる!
 
ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携
 
産業用ロボット開発におけるUnityの活用
産業用ロボット開発におけるUnityの活用産業用ロボット開発におけるUnityの活用
産業用ロボット開発におけるUnityの活用
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
 
UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
 
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
 
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
 
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
 
5分でわかる Unity点群
5分でわかる Unity点群5分でわかる Unity点群
5分でわかる Unity点群
 
5分でわかる Unity Reflect
5分でわかる Unity Reflect5分でわかる Unity Reflect
5分でわかる Unity Reflect
 
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
 
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
 
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
 
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
 
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
 
【Unity道場 自動車編】モビリティへの活用に向けて
【Unity道場 自動車編】モビリティへの活用に向けて【Unity道場 自動車編】モビリティへの活用に向けて
【Unity道場 自動車編】モビリティへの活用に向けて
 

【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編

  • 4. ⒸKLab inc. ● 佐々木洋太 ● KLab株式会社技術統括部RRRグループ所属 ○ ※RRR = RealTime Rendering Researchの略 ● VFXシニアアーティスト 自己紹介 4
  • 5. ⒸKLab inc. ● 来歴 ○ アニメ制作会社、3DCG制作会社で主に2D・3Dのエフェクト・コンポジット・映像制作に多 数携わった後KLabに入社。 自己紹介 5
  • 6. ⒸKLab inc. ● 入社後 ○ 入社後は先端VFXの技術検証やテックデモ制作に携わりつつ、オリジナルRPGタイトルのカ ットシーン制作に参加。 ■ テックデモのLink ■ UnityKorea様で行ったテックデモのウェビナーLink ● 現在 ○ 現在は主に映像・エフェクトの技術・アート両分野での「新規プロジェクトへの協力・高度 なVFXの技術検証及び社内導入・制作力向上への貢献・コンセプトやスタイルガイドの構 築」といった業務を行っています。 ○ 技術検証・実践内容の一部は2020年のCEDECで登壇して紹介しています。 ■ CEDEC2020の資料Link ■ SideFX社様のCEDEC紹介ページLink 自己紹介 6
  • 7. ⒸKLab inc. ● リアルタイム・レンダリング・リサーチグループ(RRR) ○ KLabの3Dビジュアル研究開発グループ ○ 横断活動グループとしてプロジェクトサポート及び新規開発に関与 ○ 2018年に結成 ○ 現在は7人 ■ 全員がそれぞれ違う得意分野を持っている人 ■ 全員が「楽するための苦労をしたい」人 ● <今の仕事を仕組化・効率化し、未来を楽にする。>という、KLabの大事にしている価値観の 一つでもあります。 自己紹介 7
  • 8. ⒸKLab inc. ● 自主制作 ○ 仕事だけではなく趣味でもプリレンダーやリアルタイムの映像・エフェクト・モーショング ラフィックス制作をしています。 ■ 先日ボーンデジタル様主催の『Houdiniで作るNPRエフェクト&After Effectsでのコンポ ジット実践解説オンラインセミナー』という題で、趣味のNPRエフェクトの解説セミナ ーを行いました。 ○ 今回のUnity道場では、仕事及びこうした自主制作で培われたHoudiniとUnity連携のノウハウ をご紹介致します。 自己紹介 8
  • 10. ⒸKLab inc. Personal Work Demo Reel ● Houdini&Unity:Real-timeリール紹介 ○ 動画リンク 10
  • 11. ⒸKLab inc. Houdini and Unity integration 11
  • 12. ⒸKLab inc. Houdini and Unity integration ● introduction ○ デモリールで紹介したようにHoudiniとUnityを使用した作例が色々とございます。 ○ 今回はその中から「FlowMap」及び「Rigid Body Dynamics(RBD)」関係のノウハウの紹介 を主に行いたいと存じます。 ○ 基本的には作業シーンを紹介しながらの説明になりますが、後で資料として読み返しやすい ように要点はスライドの方にも記載させていただきます。 12
  • 13. ⒸKLab inc. Houdini and Unity integration ● 香盤表 ○ 前編 ■ introduction ● 自己紹介 ■ Houdini and Unity integration ● Various uses for flowmap ○ 後編 ■ Houdini and Unity integration ● Baking Rigid Body Dynamics ● その他Tips 13
  • 14. ⒸKLab inc. Houdini and Unity integration ● 使用しているツールのバージョン ○ Houdini ■ Houdini18.5.462 ■ SideFXLabs18.5.462 ○ Unity ■ Unity2019.3LTS:HDRP ■ Unity2019.4LTS:URP ■ Unity2020.2LTS:HDRP ■ Unity2020.3LTS:HDRP 14
  • 15. ⒸKLab inc. Various uses for Flowmap 15
  • 17. ⒸKLab inc. 序文 ● Flowmap とは ○ Flowmap は、端的に言うと水など流体の流れを2次元で表現するための手法です。 ○ Y-up で X方向への動きを赤(R)チャネルに、Z 方向のチャネルを緑 (G) チャネルに渡し、 0 < x,z < 128 で-方向に、128< x,z < 255 で+ 方向に動きます。X=128, Z=128 で静止状態です。 17
  • 18. ⒸKLab inc. 序文 ● Flowmap とは ○ 一般的なエフェクトで煙やショックウェーブのような要素に使用したり、環境エフェクトで 川や滝・溶岩のようなものに使用したり、サイネージのようなイメージ流体的な表現に使用 したりと色々と使い所の多い手法です。 18
  • 19. ⒸKLab inc. 序文 ● Flowmap とは ○ 一般的なエフェクトで煙やショックウェーブのような要素に使用したり、環境エフェクトで 川や滝・溶岩のようなものに使用したり、サイネージのようなイメージ流体的な表現に使用 したりと色々と使い所の多い手法です。 19
  • 20. ⒸKLab inc. 序文 ● Flowmap とは ○ 一般的なエフェクトで煙やショックウェーブのような要素に使用したり、環境エフェクトで 川や滝・溶岩のようなものに使用したり、サイネージのようなイメージ流体的な表現に使用 したりと色々と使い所の多い手法です。 20
  • 21. ⒸKLab inc. 序文 ● infomation ○ 今回はUnity道場Houdini編ということで、画像のシーンをベースに、Houdiniで川のような流 れのFlowmapを生成し、それをUnityに持ち込んで利用する環境エフェクト作成手法を主にご 紹介したいと思います。 21
  • 22. ⒸKLab inc. 序文 ● infomation ○ 今回はUnity道場Houdini編ということで、画像のシーンをベースに、Houdiniで川のような流 れのFlowmapを生成し、それをUnityに持ち込んで利用する環境エフェクト作成手法を主にご 紹介したいと思います。 22
  • 23. ⒸKLab inc. Flowmap of Environments 23
  • 24. ⒸKLab inc. Flowmap of Environments ● infomation ○ Unityに持ち込む素材は基本的にHoudiniで作成しています。 24
  • 25. ⒸKLab inc. Flowmap of Environments ● 背景素材:infomation ○ 背景素材はHeightFieldで作成しています。 25
  • 26. ⒸKLab inc. Flowmap of Environments ● 背景素材:初期設定 ○ ジオメトリの凹凸のクオリティが頂点カラーやNormalにベイクする際に直に影響するので、 「GridSpacing」を「1」にしてメッシュの解像度を高めています(初期設定は「2」)。 ○ 「GridSpacing」が「2」だと寄りの絵で見た時にメッシュやテクスチャが甘めに見えやすい ので、高解像度でベースの素材を作成して後々必要に応じてリダクションすることをお奨め します。 26
  • 27. ⒸKLab inc. Flowmap of Environments ● 背景素材:マスク ○ 実際に川にする部分をジオメトリでマスキングして指定することができます。 ■ こうすることで極めてプロシージャルなシーン・アセットを構築することができますが、 後々細かく個別に調整したいときに逆に不便な事もあるので適宜使い分けます。 27
  • 28. ⒸKLab inc. Flowmap of Environments ● 背景素材:マスク ○ 今回はHeightField上でアナログで川にする部分をペイントしてマスキングしています。 28
  • 29. ⒸKLab inc. Flowmap of Environments ● 背景素材:ディテール ○ 主に「Noise」「Distort」「Erode」を用いてディテールを作成します。 29
  • 30. ⒸKLab inc. Flowmap of Environments ● 背景素材:ディテール ○ 主に「Noise」「Distort」「Erode」を用いてディテールを作成します。 30
  • 31. ⒸKLab inc. Flowmap of Environments ● 背景素材:ディテール ○ 主に「Noise」「Distort」「Erode」を用いてディテールを作成します。 31
  • 32. ⒸKLab inc. Flowmap of Environments ● 背景素材:ディテール ○ 主に「Noise」「Distort」「Erode」を用いてディテールを作成します。 32
  • 33. ⒸKLab inc. Flowmap of Environments ● 背景素材:リサイズ ○ 初期設定だと1000m×1000mのような長大なサイズなので、ディテールを作り終えたらポリゴ ンに変換する前に扱いやすいサイズにリサイズしています。 33
  • 34. ⒸKLab inc. Flowmap of Environments ● 背景素材:コンバート ○ 「Convert HeightField」SOPでポリゴンに変換します。 ○ この作例のような小規模なスケールの場合、HeightFieldを普通のポリゴンとして扱うことで 作業の取り回しが良くなります。 34
  • 35. ⒸKLab inc. Flowmap of Environments ● 背景素材:ポストプロセス ○ HeightField素材は様々なアトリビュートを内包しているので、それを用いることで地形に沿 った色調整を行う事ができます。 35
  • 36. ⒸKLab inc. Flowmap of Environments ● 背景素材:ポストプロセス ○ HeightField素材は様々なアトリビュートを内包しているので、それを用いることで地形に沿 った色調整を行う事ができます。 36
  • 37. ⒸKLab inc. Flowmap of Environments ● 背景素材:Export ○ 色調整等のポストプロセスが済んだら、SideFXLabsの「MapsBaker」SOPで必要なテクスチ ャを書き出します。メッシュも必要に応じてリダクションしてFBXで書き出します。 37
  • 38. ⒸKLab inc. Flowmap of Environments ● 背景素材:Export ○ 色調整等のポストプロセスが済んだら、SideFXLabsの「MapsBaker」SOPで必要なテクスチ ャを書き出します。メッシュも必要に応じてリダクションしてFBXで書き出します。 38
  • 39. ⒸKLab inc. Flowmap of Environments ● Flowmap:infomation ○ 背景素材の調整が済んだら、それに沿ってFlowmapのテクスチャとメッシュ作成を行います。 39
  • 40. ⒸKLab inc. Flowmap of Environments ● Flowmap:ベース素材 ○ 背景素材に沿って、任意の形状のカーブを作成して使用します。 ○ 地形に沿わせる事を考慮して、ベース形状作成後に「ResampleSOP」等でPoint数を増やし ておくとベターです。 40
  • 41. ⒸKLab inc. Flowmap of Environments ● Flowmap:ベース素材 ○ 「add」SOPでPointを作って繋げてベースのカーブを作成しています。 ■ こうすることで後々カーブを編集したい時に調整がしやすくておススメです。 41
  • 42. ⒸKLab inc. Flowmap of Environments ● Flowmap:ベース素材 ○ 「raySOP」でカーブを任意の背景素材に沿わせます。 42
  • 43. ⒸKLab inc. Flowmap of Environments ● Flowmap:ベース素材 ○ 「Sweep」SOPでメッシュを生成します。 43
  • 44. ⒸKLab inc. Flowmap of Environments ● Flowmap:ベース素材:注意事項 ○ 「Sweep」SOPの「PrimitiveType」を「Polygons」に設定します。 ○ 初期設定の「Automatic」だと「PolygonSoup」扱いになる場合が多く、「PolygonSoup」だ とPointやPrimitiveのアトリビュートを参照・調整したい時に不都合があるので、Flowmap作 成時は「Polygons」に設定する必要があります。 44
  • 45. ⒸKLab inc. Flowmap of Environments ● Flowmap:UV ○ 川のように縦に長いメッシュや中規模以上のメッシュを生成した場合、画像の様にUVが複 数のUV空間に渡って生成されることがよくあります。 ■ プリレンダーならともかく、ゲームエンジンに持ち込む上でこの状態は望ましくあり ません。そのため一つのUV空間にUVを納める必要があります。 45
  • 46. ⒸKLab inc. Flowmap of Environments ● Flowmap:UV ○ pointnunber等の任意のアトリビュートを参照したアトリビュートを作成し、それを0-1にfit させます。 ○ 生成するアトリビュートは元のカーブのpoint数と同じにしておくのがベターです。 46
  • 47. ⒸKLab inc. Flowmap of Environments ● Flowmap:UV ○ 0-1にfitさせたアトリビュートの情報を基にUV情報をリマップします。0-1にfitさせているの でUVが一つのUV空間に納まります。 47
  • 48. ⒸKLab inc. Flowmap of Environments ● Flowmap:Flowmap生成 ○ ベースのDirectionは元のメッシュのNormal情報を使うか、画像の様に均一なDirectionでベー スを作成しておくと後の調整がし易くておススメです。 48
  • 49. ⒸKLab inc. Flowmap of Environments ● Flowmap:Flowmap生成 ○ 元のカーブを「FlowmapGuide」ノードに接続することで、プロシージャルにカーブの流れ に沿ったFlowmapを作成することができます。 49
  • 50. ⒸKLab inc. Flowmap of Environments ● Flowmap:Flowmap生成 ○ 元のカーブを「FlowmapGuide」ノードに接続することで、プロシージャルにカーブの流れ に沿ったFlowmapを作成することができます。 50
  • 51. ⒸKLab inc. Flowmap of Environments ● Flowmap:カラー設定 ○ 「Flowmap to Color」ノードでFlowmapとしての色を付けます。 ○ 如何にもUnityで使う場合はチェックを入れなければならないと思われるようなチェックボ ックスがあるのですが、プレビューで意図した通りにFlowmapが流れていればチェックを入 れなくて問題ありません。 51
  • 52. ⒸKLab inc. Flowmap of Environments ● Flowmap:障害物の設定 ○ 「FlowmapObstacle」ノードを使用し、障害物周辺の流れの歪みを生成することができます。 障害物がない場合は「FlowmapObstacle」ノードは使用しなくて大丈夫です。 52
  • 53. ⒸKLab inc. Flowmap of Environments ● Flowmap:プレビュー ○ Flowmapの見た目や動きの確認は「FlowmapVisualize」ノードで行います。実際にアニメー ションを再生しながらFlowmapのクオリティを詰めていきます。 53
  • 54. ⒸKLab inc. Flowmap of Environments ● Export:事前確認 ○ Exportの前にUV情報が一つのUV空間に納まっているかを確認します。 ○ 本来一つのUV空間に納まらないUVをfitさせているので、画像の様に圧縮されたような見た 目になっていても問題ありません。 54
  • 55. ⒸKLab inc. Flowmap of Environments ● Export:Texture ○ FlowmapTextureのExportにはSideFXLabsの「SimpleBaker」「MapsBaker」が手軽でおス スメです。 ○ 基本的に地形のFlowmapは縦横に伸縮された状態で書き出すので、実際にColorやNormalで 使うテクスチャはタイリングされたものを推奨します。 55
  • 56. ⒸKLab inc. Flowmap of Environments ● Export:メッシュ ○ 静的なメッシュとしてFBX等でExportします。 ○ この際、場合によっては適宜リダクションしてポリゴン数を減らします。 ■ 四角ポリゴンのままリダクションしたい場合は「PolyReduce」SOPの 「PreserveQuads」のチェックをオンにしておくと、比較的四角ポリゴンを維持してリダ クションできます。 ■ UVはHoudiniの殆どのリダクション手法で維持されます。 56
  • 57. ⒸKLab inc. Flowmap of Environments ● Unity:import設定 ○ Flowmapの素材はsRGBのチェックを外さないと上手く使えない場合もあるのですが、 sRGBの状態できちんとFlowmapテクスチャが描画されていればチェックが付いたままで 大丈夫です。 57
  • 58. ⒸKLab inc. Flowmap of Environments ● Unity:Shader設定 ○ 川や溶岩のようなPBR要素を活かしてクオリティを調整するようなものは、Normalmap もFlowmapの影響を受けるように構築すると品質向上に繋がります。 58
  • 59. ⒸKLab inc. Flowmap of Environments ● Unity:Shader設定 ○ 逆にバトルエフェクトの煙やショックウェーブのようなUnlitで良いものは、Normalmap 等の必要ない要素をオミットすることでShaderを簡略化・軽量化できます。 59
  • 60. ⒸKLab inc. Flowmap of Environments ● Unity:Appendix:背景パーティクル ○ 背景の賑やかしで挿入しているパーティクルはVisualEffectGraphで作成しています。 60
  • 61. ⒸKLab inc. Flowmap of Environments ● Unity:Appendix:背景パーティクル ○ ベースとなる発生源の素材はHoudiniで作成しています。 ■ 最低限の指向性を持ったNormalやVelocityがあれば大丈夫なので、シンプルなチュ ーブを作成しアトリビュートを調整してPointCacheで書き出しています。 61
  • 62. ⒸKLab inc. Flowmap of Environments ● Unity:Appendix:背景パーティクル ○ VectorFieldのデータも同じチューブから生成しています。 ■ こちらもSDFの起点として最低限の要素が備わっていれば今回のような用途では問 題ないので、軽量のボリュームに変換して3KBのVectorFieldデータとして書き出し ています。 62
  • 63. ⒸKLab inc. Flowmap of Environments ● Unity:Appendix:背景パーティクル ○ PointCacheとVectorFieldの書き出しに使用しているノードは、Unity-Technologiesの Github上で公開されているVFXtoolboxのものを使用しています。 63
  • 64. ⒸKLab inc. Flowmap of Environments ● Unity:Appendix:背景パーティクル ○ 書き出したPointCacheとVectorFieldを使用して添付gifのような汎用パーティクル素材を 作成しています。 64
  • 65. ⒸKLab inc. Flowmap of Environments ● Unity:Appendix:背景パーティクル ○ PointCacheとVectorFieldに基本的な情報を格納しているので、VisualEffectGraphの構造 自体はシンプルです。 65
  • 66. ⒸKLab inc. Flowmap of Environments ● Unity:Appendix:背景パーティクル ○ PointCacheからベースとなるPositionやVelocityの値を参照させています。こうすること で任意の位置からの発生や指向性を持った初速を簡単にコントロールできます。 66
  • 67. ⒸKLab inc. Flowmap of Environments ● Unity:Appendix:背景パーティクル ○ VectorFieldと3DNoiseをかけ合わせています。こうすることでタービュランスを柔軟に調 整できるようにしています。 67
  • 69. ⒸKLab inc. Other Flowmap tips ● infomation ○ ポピュラーなFlowmapの利用法として、煙やショックウェーブのようなエネルギー物に使う 放射型のFlowmapのHoudiniでの作り方を紹介いたします。 69
  • 70. ⒸKLab inc. Other Flowmap tips ● ベース素材作成 ○ Flowmap作成に使う正方形のグリッドを用意します。このグリッドの頂点カラーに焼き付い たFlowmapの情報をテクスチャにベイクするので、分割数はそこそこ増やしておきます。 70
  • 71. ⒸKLab inc. Other Flowmap tips ● 指向性のある法線素材作成 ○ 放射型のNormalを持ったサークルを作成します。このNormalが放射型の動きのベースになり ます。 71
  • 72. ⒸKLab inc. Other Flowmap tips ● 指向性のある法線素材作成 ○ 放射型のNormalを持ったサークルを作成します。このNormalが放射型の動きのベースになり ます。 72
  • 73. ⒸKLab inc. Other Flowmap tips ● 指向性のある法線適応・調整 ○ 作成した放射型Normalの素材を「FlowmapObstacle」ノードに接続し、パラメータを調整し て放射具合を整えます。 73
  • 74. ⒸKLab inc. Other Flowmap tips ● ディテールアップ ○ 均一な放射になりすぎるのが嫌な場合は、別の素材を追加で「FlowmapObstacle」ノードに 接続したり、元々の放射型Normalに少しランダム性を持たせたりして不均一さを作ります。 74
  • 75. ⒸKLab inc. Other Flowmap tips ● ディテールアップ ○ 均一な放射になりすぎるのが嫌な場合は、別の素材を追加で「FlowmapObstacle」ノードに 接続したり、元々の放射型Normalに少しランダム性を持たせたりして不均一さを作ります。 75
  • 76. ⒸKLab inc. Other Flowmap tips ● プレビュー・最終調整 ○ 基本的なNormalの設定が終わったら「FlowmapVisualize」ノードで視覚化しながら最終的な ディテールを詰めていきます。 76
  • 77. ⒸKLab inc. Other Flowmap tips ● Export ○ 「FlowmapVisualize」ノードでの調整が終わったら「SimpleBaker」や「MapsBaker」ノード で頂点カラーをテクスチャにベイクして作業完了です。 77
  • 78. ⒸKLab inc. Other Flowmap tips ● Extra ○ 余談ですが、プレビューに用いているショックウェーブ素材もHoudiniで作成しています。 78
  • 79. ⒸKLab inc. Other Flowmap tips ● Extra ○ Flowmap作成時に特によく調整する要素はそこまで多くないので、よく調整する要素を纏め てHDAやサブネットでアセット化しておくと作業効率・品質の向上に役立ちます。 79