SlideShare a Scribd company logo
1 of 104
Ⓒ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.
Baking Rigid Body Dynamics
15
ⒸKLab inc.
序文
16
ⒸKLab inc.
Baking Rigid Body Dynamics
● Rigid Body Dynamics とは
○ 略称は RBD。
○ 3DCGにおいては一般的には「硬い固体の物理シミュレーション(ビルやドアの破壊・落
石・金属の鎖の揺れ等)」のことを指します。
17
ⒸKLab inc.
Baking Rigid Body Dynamics
● Rigid Body Dynamics とは
○ また、破壊表現だけではなく添付gifのような固体の物理シミュレーションする要素全般の事
をRBDと呼びます。
18
ⒸKLab inc.
Baking Rigid Body Dynamics
● Baking Rigid Body Dynamics とは
○ DCCツール上で作成したRBDをベイクしてコンバートし、ゲームエンジンで使用する手法の
ことを本セッションでは指しています。本セッションでは、主にこの内容について紹介した
いと思います。
■ 本セッションでは使用するDCCツールは「Houdini」、ゲームエンジンは「Unity」にな
ります。
19
ⒸKLab inc.
Baking Rigid Body Dynamics
● Baking Rigid Body Dynamics の必要性
○ モバイルゲーム等ではゲームエンジン上の物理シミュレーションを多用すると処理負荷が高
く問題が生じるため、このような手法が適宜必要になります。
20
ⒸKLab inc.
Baking Rigid Body Dynamics
● Baking Rigid Body Dynamics の作成方法
○ 基本的にはHoudiniの「RBDtoFBX」ROPを使用してアニメーションをベイクしたFBXとして
コンバートします。
○ ボーンを使わずベイクするので、Unity上ではMesh Renderer扱いになります。
○ VATとしても書き出せますが、そもそもモバイルゲームでの負荷対策が主目的なので、FBX
のアニメーションとして書き出せる手法を優先しています。
■ 最終出力の方法をVAT用のギミックにすれば同じアセットからVATを書き出せるので、
VATが必要な場合でも追加コストは殆どかかりません。
21
ⒸKLab inc.
Baking Rigid Body Dynamics
● Baking Rigid Body Dynamics の利点
○ DCCツールで作りこんだRBDのディテールやアニメーションをそのままゲームエンジンに持
ち込めるので、アート性が高かったり、作りこんだ優れたビジュアルの素材を持ち込めます。
22
ⒸKLab inc.
Baking Rigid Body Dynamics
● Baking Rigid Body Dynamics の利点
○ FBXアニメーションとして書き出すとトランスフォームのアニメーションになるので、添付
gifのような「動きの途中からスローモーション」のような表現もゲームエンジン上で簡単に
できます。
23
ⒸKLab inc.
Baking Rigid Body Dynamics
● Baking Rigid Body Dynamics の利点
○ 前述のとおりFBXアニメーションとして書き出すとトランスフォームのアニメーションにな
るので、レイトレーシング化でも安定して動作します。
■ 古典的で堅実な手法ゆえに、レイトレーシングと組み合わせるのが大変な手法で起こる
ような問題を気にしなくて済みます。
24
ⒸKLab inc.
Baking Rigid Body Dynamics:シーン紹介
25
ⒸKLab inc.
汎用素材:破壊プロップ
26
ⒸKLab inc.
汎用素材:破壊プロップ
● 概要
○ こちらの破壊プロップの作成方法に、RBDの基本とUnityへのベイク・コンバートの基本が詰
まっています。そのためまずはこちらを紹介したいと思います。
27
ⒸKLab inc.
汎用素材:破壊プロップ
● 概要
○ こちらの破壊プロップの作成方法に、RBDの基本とUnityへのコンバートの基本が詰まってい
ますので紹介したいと思います。
28
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:introduction
○ まずはゲームエンジンで基準としているフレームレートにFPSを合わせます。
○ 特に指定がない場合は60FPSで作成しておくと汎用性があって扱いやすいです。
○ 今回紹介するアセットは60FPSで作成しています。
29
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:introduction
○ GUIでパラメータをコントロールするしないに関わらず、アセット化を想定しているものは
最初からサブネットを作成し、その中でデータを作成するとワークフローとしてスムーズで
後々問題も起こりにくいです。
30
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:UV
○ HoudiniはPointでアトリビュートを扱う事が多いのですが、この手のRBDで扱うオブジェク
トのUVをPointで管理すると、画像のように偏りができるケースが珍しくありません。
31
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:UV
○ HoudiniはPointでアトリビュートを扱う事が多いのですが、この手のRBDで扱うオブジェク
トのUVをPointで管理すると、画像のように偏りができるケースが珍しくありません。
○ Vertexの方が自動で均等にUVが設定されやすいので、ひとまずVertexに設定して作業するこ
とが個人的にはお奨めです。
32
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:UV
○ 基本的にUVはUDIMで作られるので、ゲームエンジンで扱いやすいように単一のUV空間に収
めます。ゲームエンジンを用いた映像制作でこの項目を気にしなくて良いという場合は気に
しなくても良いのですが、0-1の範囲に収めておくとHoudini・Unity双方で何かと調整がしや
すいので、できれば0-1の範囲に収めておくことをお奨めします。
33
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:UV Optimize
○ UVを0-1の単一のUV空間に収めるために、まずはUVの最大値と最小値を取得してDetailに格
納します。
34
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:UV Optimize
○ 取得したUVの最大値最小値をfit関数で0-1にクランプさせます。
○ こうすることで単一のUV空間にプロシージャル且つオートマチックにUVを収めることがで
きます。
35
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:Fracture
○ 2021年5月時点のHoudini18.5で破砕を行う場合は「RBD Material Fracture」が多くの場面で
有用です。
36
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:Fracture
○ 断面のディテールやカット数はアートやパフォーマンスに合わせて適宜調整します。
○ デフォルトの割れ方のギミックは割れ方に偏りができやすいので、画像のようにInput4に
「Scatter」SOP等を繋いでPointを自分で追加すると偏りを回避できます。
37
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:Fracture
○ 多少偏りを付けたい場合でも、前述の手法のような形でプリカットを行ってからDensityアト
リビュート等の任意のアトリビュートを生成し、それを基に再度破壊を行った方が、嫌な偏
りができにくいです。
38
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:Inside
○ 映像制作では破壊した断面のUVは気にしないことも多いのですが、ゲームエンジンで扱うた
めにはきちんと設定する必要があるので、断面のUVも設定します。
39
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:Inside
○ 基本的にはSideFXLabsの「inside Face UVs」ノードで、元のUV空間に見た目的に問題ない
位の粒度のUVを生成することができます。
40
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:Inside
○ SideFXLabsの「Auto UV」ノードで、簡単に破砕面をUVアイランド化したUVにすることも
できます。
41
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:Inside
○ SideFXLabsの「Auto UV」ノードで、簡単に破砕面をUVアイランド化したUVにすることも
できます。
○ ただし、自動でアイランド化されているのでそのままテクスチャを張ると画像のような見た
目になります。テクスチャペイントツールを使う場合はこれでも良いのですが、そうでない
場合は破砕面毎にアイランドを作るUV展開はあまりしない方が良いでしょう。
42
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:RBD Object:Pack
○ エクスポートする際にPackされたジオメトリである必要があるので、「Assemble」や「RBD
Configure」ノードでPackし、PackジオメトリにしてからRBDのSimulationを行います。
○ Simulationするジオメトリの下準備はこれで完了です。
43
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Impact Velocity
○ こういうプロップの場合、破壊用の接触要素はオブジェクトを衝突させるよりもVelocityを放
射した方がアセットが綺麗に纏まって且つ良い結果になる場合が多いので、放射用Velocityを
作成します。
44
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Impact Velocity
○ まずは発生点と発生フレームを作成します。
45
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Impact Velocity
○ normalizeしたpointをvelocityにアサインして放射Velocityのベースを作成します。
○ 更に倍率やフェード具合を調整する値や関数も追加します。
46
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Impact Velocity
○ 方向性のない汎用破壊のような動きの場合、画像の様に上方向からVelocityを放射すると汎用
素材に適した方向性のない破壊の動きの印象になりやすいです。
■ 横や下方向からだと、特定方向からの衝撃が加わったような印象になりやすいです。
47
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Impact Velocity
○ Velocityを綺麗にForceとして参照させるために
Volumeに変換&範囲を調整します。
■ 多少拡張しておいた方が、Forceで参照してい
るVolumeの範囲外にオブジェクトがでて変な挙
動になるような現象を避けやすいです。
48
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Impact Velocity
○ 作成した放射VelocityのVolumeは、BulletSolverやDOPnet内にPOP advect by volume ノード
を作成して読み込みます。
49
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Simulation
○ Simulationには「RBD Bullet Solver」SOPを使用します。複雑なSimulationの場合はDOPnet
でSolverを自作する事もありますが、基本的に「RBD Bullet Solver」で問題ない場合が多い
です。
○ Simulation全般に言えることですが、Simulationが上手くいかない時はSolverの問題よりもそ
こに至るまでの下準備が適切でない場合が多いです。そのため、Simulationが上手くいかない
と感じたらまずは下準備を見直した方が問題解決に繋がりやすいです。
50
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Simulation
○ メッシュは最終的にはオリジナルのものを当て直すので、pointのアニメーション情報のみを
キャッシュします。同様の理由で、全てのSimulationをProxyGeometryで行うこともあります。
こうすることで各種計算時間を大幅に高速化して作業効率を上げることができます。
51
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Simulation
○ 「Transform Pieces」SOPで、SimulationしたPointに元のジオメトリをアサインします。
52
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Export:Optimize
○ FBXアニメーションとして書き出す場合は、アトリビュートを整理すると逆にアニメーショ
ンが上手く反映されない場合があるので本当に不要なものだけを整理しましょう。
■ 小規模なプロップの場合は整理しなくても大丈夫な場合が多いです。
53
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Export:Optimize
○ ただし、VATで書き出す場合はPositionやNormal、Cd等の必要なアトリビュート以外を残し
ていると逆にアニメーションが上手く反映されない不具合が起こることがあります。
○ VATで使用する場合は「Clean」SOP等でアトリビュートを大胆に整理する事を推奨します。
54
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Export
○ 書き出しには基本的に「RBD to FBX」ROPを使用します。
○ ROPnet内でないと呼び出せないので、OUTコンテキスト内にノードを作るかアセット内に
ROPnetを作成して使用します。
55
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Export:AnimationClips
○ AnimationClipの名前を指定する場合は、「RBD to FBX」ノードの「Allow Editing of
Contents」をクリックして編集可能にし、内部のノードに記述する必要があります。
56
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Export:AnimationClips
○ 「Convert Units」をオンにしておくと、システムスケールのズレを自動的に補正してくれま
す。これにより「Houdiniで作ったジオメトリがUnityで読むととても小さい」というよくある
問題を回避できます。
■ ただし、それを見越して大きくHoudiniでジオメトリを作成していた場合は、今度は
「Unityで読んだら大きすぎる」という事態になるので適宜使い分けます。
57
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Import:Unity
○ ドラッグ&ドロップ等、普通にUnityにインポートする時と同じ手法で問題ありません。
58
ⒸKLab inc.
汎用素材:破壊プロップ
● シーン説明:Others
○ テクスチャは自由に変えられるので、テクスチャを変えるだけで多くの場面に対応可能です。
59
ⒸKLab inc.
汎用素材:破壊プロップ
● 応用
○ 同じHoudiniアセットの仕組みで、添付gifのような他の形状のオブジェクトも簡単に破壊アセ
ットにすることができます。
60
ⒸKLab inc.
汎用素材:コイン
61
ⒸKLab inc.
汎用素材:コイン
● 概要
○ 序文の方でも記しましたが、RigidBodyDynamicsのBakeは破壊だけではなく、頂点変化のな
い硬いオブジェクトが行う物理シミュレーション全般に使えます。
62
ⒸKLab inc.
汎用素材:コイン
● 概要
○ 序文の方でも記しましたが、RigidBodyDynamicsのBakeは破壊だけではなく、頂点変化のな
い硬いオブジェクトが行う物理シミュレーション全般に使えます。
63
ⒸKLab inc.
汎用素材:鎖
64
ⒸKLab inc.
汎用素材:鎖
● 概要
○ こういった鎖の揺れアニメーション素材も、HoudiniのRigidBodyDynamicsのBakeでUnityに
持ち込むことができます。
65
ⒸKLab inc.
汎用素材:鎖
● シーン説明:前提
○ 鎖は何も考えずにsimulationを行うと、「バラバラになる・吹っ飛ぶ・変な動きになる・計算
が重すぎる」等の状態になることが多いです。
■ そのためスマートに作業するためには少し仕込みが必要になります。
● 細かく全てを解説すると非常に長くなりますので、要点を幾つか紹介したいと思
います。
66
ⒸKLab inc.
汎用素材:鎖
● シーン構成
○ 全体図
67
ⒸKLab inc.
汎用素材:鎖
● シーン構成
○ 全体図
68
ⒸKLab inc.
汎用素材:鎖
● シーン構成
○ 全体図
69
ⒸKLab inc.
汎用素材:鎖
● 要点解説
○ この手の複数のジオメトリを複製して一繋ぎにする場合は、Houdini18.5で追加された
ChainSOPが使いやすくておススメです。
■ 始点・終点の設定や複数ジオメトリの配置、線路のような形状への応用もできて幅広く
使えるSOPです。
70
ⒸKLab inc.
汎用素材:鎖
● 要点解説
○ 最終的に使用するジオメトリと、それを基にしたSimulation用のジオメトリの二種類を作成し
ます。
71
ⒸKLab inc.
汎用素材:鎖
● 要点解説
○ Simulation用の素材は、VDB化を利用して画像のように元の形状にシェイプを詰めます。
○ これは映像制作では馴染み深い手法で、こうすることで鎖のようなものでも低負荷で破綻の
ないSimlationを行う事ができます。
72
ⒸKLab inc.
汎用素材:鎖
● 要点解説
○ Simulation用のジオメトリと最終的に使用するジオメトリを上手く差し替えるために、Pack
したピース毎に同じアトリビュートを割り振っておきます。
73
ⒸKLab inc.
汎用素材:鎖
● 要点解説
○ SimulationはBulletで行っています。Solverの設定は特に特別なことはしていません。
74
ⒸKLab inc.
汎用素材:鎖
● 要点解説
○ 最後に「TransformPieces」SOPでSimulationジオメトリを最終的に使うジオメトリに差し替
えます。きちんと差し替えが行えていれば、「RBDtoFBX」ROPで最終的に使うジオメトリ
のFBXアニメーションを問題なく書き出す事ができます。
75
ⒸKLab inc.
その他注意事項
76
ⒸKLab inc.
その他注意事項
● Export
○ 「RBDtoFBX」ROPでエクスポートする場合はジオメトリをPackしておく必要があります。
■ Packすることにより、それぞれのピースを単一のトランスフォーム情報に落とし込む
ことができます。
■ 「name」かそれに準ずるアトリビュートとピースの相関関係を参照するので、この性
質を利用することで鎖の項目で述べたような「Simlationジオメトリと全く別のジオメト
リをアサインする」というような事をしても、上手く書き出す事ができます。
77
ⒸKLab inc.
その他注意事項
● 頂点数の変化
○ 頂点数が変わると「RBDtoFBX」ROPでは上手く書き出せないことが多いです。
■ 動的に頂点数が変化するジオメトリをUnityに持ち込む場合は、「FluidVAT」や
「Alembic」といった手法で書き出さないと基本的には上手く書き出せません。
● そのため事前に全てのピースを割っておく必要があります。
● 映像制作でよく使う「破壊等で実際に物が割れるまで割れてるように見せないた
めに該当要素を削除したり隠したりするテクニック」を使うと頂点数の変化が起
こるので、「RBDtoFBX」ROPで上手く書き出せなくなります。
78
ⒸKLab inc.
その他注意事項
● Constraint
○ Constraintは使用しても問題ありません。下記の画像もGlueで割れ感を制御しています。
○ 前述の通り頂点数の変化は上手く書き出せない場合が多いですが、Constraintを使用すること
で段階的に壊れるような表現を「RBDtoFBX」ROPで書き出す事ができます。
■ Group等でアクティブ・非アクティブを分けるのも有効です。
79
ⒸKLab inc.
Baking Rigid Body Dynamics:END
80
ⒸKLab inc.
Baking Rigid Body Dynamics:END
● Baking Rigid Body Dynamics の説明は以上となります。
81
ⒸKLab inc.
Other tips
82
ⒸKLab inc.
Other tips
● シームレステクスチャの作成方法
○ UnityGrenoble様のHPで、普通の画像からタイリング可能なシームレステクスチャを作成す
る機能が公開されています。
■ ツールのインストールも必要なく、知っておくと何かと便利な手法です。
83
ⒸKLab inc.
Other tips
● シームレステクスチャの作成方法
○ UnityGrenoble様のHPで、普通の画像からタイリング可能なシームレステクスチャを作成す
る機能が公開されています。
■ ツールのインストールも必要なく、知っておくと何かと便利な手法です。
84
・Before ・After
ⒸKLab inc.
Other tips
● Houdiniで画像からNormalmapを作成する方法
○ COPの「NormalFromGrayscale」ノードで簡単に画像からNormalmapを生成できます。
■ 「NormalLevels」ノードで法線の強弱も調整可能です。
■ 画像からNormalmapを作成する手段は他にもありますが、Houdiniだとアセット化や
PDGで効率化して作業ストレスや手数を軽減し易いです。
85
ⒸKLab inc.
Other tips
● HoudiniでSpriteSheetを簡単に作成する方法
○ COPの「Mosaic」ノードで簡単に画像からSpriteSheetを生成できます。
■ Normalmap同様SpriteSheetを作成する手段は他にもありますが、Normalmap同様に
Houdiniだとアセット化やPDGで効率化して作業ストレスや手数を軽減し易いです。
86
ⒸKLab inc.
Other tips
● VertexAnimationTextureフォルダの注意点
○ SideFX社様が提供しているShaderを使う場合、Unityのパッケージマネージャから該当デー
タをロードする事が多いと思います。
○ HoudiniのVertexAnimesionTextureノードに記されたパスはオリジナルデータのパスなので、
そのまま使用して中身を改変・削除等を行うと今後同様のパスを参照する要素全てに影響が
生じます。
■ オリジナルデータを誤って上書きしないためには以下のような対策が有効です。
● オリジナルデータのフォルダを参照するが、中に入っているShader等を複製して
使用する。
● パッケージマネージャで参照するフォルダ一式を別の場所にコピーし、そちらか
ら参照するようにする。
87
ⒸKLab inc.
Other tips
● Alembicについて
○ 参考
88
ⒸKLab inc.
Other tips
● Alembicについて
○ 映像制作利用想定の場合
■ 指標として、30~40万ポリゴン位のデータの場合、Unityでの再生時にそこまで重くな
ることもなく再生できます。
■ Alembicのファイルサイズも10GB~20GB位だと、初期の読み込みには少し時間がかか
りますがそれ以降はスムーズに扱って作業できます。
● 私はこれくらいのファイルサイズを目安にオプティマイズしています。
■ Github上にもLFSで問題なくアップできます。
● ただし、大容量のファイルをバージョン管理ツールで共有するかは会社やプロジ
ェクト次第なので、個々人の環境で各々判断が必要です。
89
ⒸKLab inc.
Other tips
● PolygonSoupに関する注意点
○ 参考
90
ⒸKLab inc.
Other tips
● PolygonSoupに関する注意点
○ 2021年4月時点だと、「Sweep」や「ParticleFluidSurface」等のよく使うメッシュ生成ノード
のデフォルトがPolygonSoupになっている事が多いです。
○ PolygonSoupだとPolygonと比べて、見た目は一見変わらずにキャッシュサイズが半分位にな
ります。
■ 映像制作ではこれでも良いのですが、PrimitiveやVertexはPolygonSoup化されることで
アトリビュートの調整ができなくなり、それらを基にしたUVや頂点情報も正確ではな
くなるので、後からアトリビュートを調整したりゲームエンジンでの使用を想定してい
る場合はPolygonにする必要があります。
○ 「Convert」SOPでPolygonSoupからPolygonに変換できます。
■ ただし元データと比べてPolygonの順番が異なる場合があるので、ゲームエンジンで使
用するデータを作る場合は、PolygonSoupを使用しない方が安全だと思われます。
○ Pointの情報は殆ど維持され、Houdiniの作業時もPointを扱うことが多いので気づき辛いので
すが、作業の途中で意図せずPolygonSoupに変換され、後で気づいて問題になるということ
もあるので注意が必要です。
91
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ VertexAnimationTextureを使わないSoftbodySimulationのHoudiniからUnityへのコンバート手
法として、主にHoudiniの「SideFXLabs Skinning Converter」ノードを使用し、Unityに
SkinnedMeshRenderer扱いのボーンベースアニメーションに変換して持ち込む手法がござい
ます。
92
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ CEDEC2020でこの手法について登壇しましたので、興味のある方は弊社のホームページの方
で資料を一般公開しているのでご覧ください。
■ CEDEC2020の資料Link
93
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ 前述の「Skinning Converter」を使用した手法ですが、CEDEC2020登壇時のHoudini18の段階
では、「プロシージャルアセットにできてアプローチとしても有用ではあるが、当時のボー
ンの仕様も相まって少々使い辛い」という状態でした。
94
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ Houdini18.5になり、KineFXが登場したことでボーン周りの扱いが大幅に改善され、
「Skinning Converter」も大幅に使い勝手が向上しました。
○ Houdini18以前で作業する場合は私がCEDEC2020で登壇した手法で良いのですが、
Houdini18.5で作業する場合はバージョンアップした仕組みを使用した方が良い場合が多いの
で、Houdini18.5における「Skinning Converter」の使い方を簡単に紹介いたします。
95
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ Houdini18以前のSkinningConverter
96
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ Houdini18以前のSkinningConverter
■ ボーンへのベイク時にサブネットが生成されます。
■ KineFX以前のボーン仕様なので、ボーン用のノードがサブネット内に大量に生成され
ます。
■ エクスポート時は、この生成されたサブネットを指定する必要があります。
■ シーンファイル内にベイクされたデータを保持するのでデータサイズがHoudiniのシー
ンファイルにしては大きくなります。
97
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ Houdini18.5のSkinningConverter
98
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ Houdini18.5のSkinningConverter
■ 「SkinningConverter」ノードに直接ノードを繋いでメッシュやボーンを確認・エクス
ポートできます。
■ シーンファイルのサイズも、通常のシーンファイルと同等です。
99
ⒸKLab inc.
Other tips
● Skinning Converter in Houdini 18.5
○ まとめ
■ KineFX対応でバージョンアップしたHoudini18.5仕様の方が、総じて使いやすく個人的
にはお奨めです。
■ ただし、従来の仕組みも依然として有用です。
● そのため、諸事情によってHoudini18以前のバージョンで作業する必要がある場合、
SoftbodySimulationのベイクのアプローチとしては従来の仕組みも有効です。
100
ⒸKLab inc.
Other tips:END
101
ⒸKLab inc.
Other tips:END
● Other tips の説明・紹介は以上となります。
102
ⒸKLab inc.
ご清覧ありがとうございました
103
ⒸKLab inc.
end
104

More Related Content

What's hot

UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~ UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~ エピック・ゲームズ・ジャパン Epic Games Japan
 
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~com044
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-Tatsuya Iwama
 
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDマテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDエピック・ゲームズ・ジャパン Epic Games Japan
 
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~エピック・ゲームズ・ジャパン Epic Games Japan
 
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?com044
 
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTERエピック・ゲームズ・ジャパン Epic Games Japan
 
オックスフォード図書館制作奮闘記
オックスフォード図書館制作奮闘記オックスフォード図書館制作奮闘記
オックスフォード図書館制作奮闘記Aiko Shinohara
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...エピック・ゲームズ・ジャパン Epic Games Japan
 
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~historia_Inc
 

What's hot (20)

UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~ UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
 
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
 
建築ビジュアライズにおけるLightmass実践使用方法 (フリーランス 真茅健一様)
建築ビジュアライズにおけるLightmass実践使用方法 (フリーランス 真茅健一様)建築ビジュアライズにおけるLightmass実践使用方法 (フリーランス 真茅健一様)
建築ビジュアライズにおけるLightmass実践使用方法 (フリーランス 真茅健一様)
 
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DDマテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
 
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
 
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
第1回UE4勉強会 in 大阪 - エンジン改造ってどうなの?
 
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)
 
UE4の色について v1.1
 UE4の色について v1.1 UE4の色について v1.1
UE4の色について v1.1
 
猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り
 
UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編
 
UE4におけるエフェクトの基本戦略事例 前半
UE4におけるエフェクトの基本戦略事例  前半UE4におけるエフェクトの基本戦略事例  前半
UE4におけるエフェクトの基本戦略事例 前半
 
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
 
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフローUE4とBlenderでランニングコストを抑えるモダンなワークフロー
UE4とBlenderでランニングコストを抑えるモダンなワークフロー
 
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
個人製作インディーゲーム”ジラフとアンニカ” のUE4 制作事例紹介 | UNREAL FEST EXTREME 2020 WINTER
 
UE4.14で入る新機能の一部を 駆け足でご紹介!
UE4.14で入る新機能の一部を 駆け足でご紹介!UE4.14で入る新機能の一部を 駆け足でご紹介!
UE4.14で入る新機能の一部を 駆け足でご紹介!
 
オックスフォード図書館制作奮闘記
オックスフォード図書館制作奮闘記オックスフォード図書館制作奮闘記
オックスフォード図書館制作奮闘記
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
 
エフェクトツール機能の実装例
エフェクトツール機能の実装例エフェクトツール機能の実装例
エフェクトツール機能の実装例
 
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
UE5制作事例 “The Market of Light” ~Nanite/Lumenへの挑戦~
 

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

CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめにCEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめにKLab Inc. Creative
 
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編UnityTechnologiesJapan002
 
CGWORLD 2021 クリエイティブカンファレンス
CGWORLD 2021 クリエイティブカンファレンス CGWORLD 2021 クリエイティブカンファレンス
CGWORLD 2021 クリエイティブカンファレンス KLab Inc. Creative
 
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践KLab Inc. Creative
 
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...TARO KOBAYASHI
 
CEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWorkCEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWorkKeiji Kikuchi
 
Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告Kentaro NOMURA
 
自動LOD生成を可能にする3Dキャラクターパイプラインセミナー
自動LOD生成を可能にする3Dキャラクターパイプラインセミナー自動LOD生成を可能にする3Dキャラクターパイプラインセミナー
自動LOD生成を可能にする3DキャラクターパイプラインセミナーKLab Inc. Creative
 
【concrete5】CMS夏祭り2015@mttokyo
【concrete5】CMS夏祭り2015@mttokyo【concrete5】CMS夏祭り2015@mttokyo
【concrete5】CMS夏祭り2015@mttokyoShinji Sakai
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1Y Watanabe
 
Houdiniで作るNPRエフェクト&After Effectsでのコンポジット実践解説オンラインセミナー登壇資料
Houdiniで作るNPRエフェクト&After Effectsでのコンポジット実践解説オンラインセミナー登壇資料Houdiniで作るNPRエフェクト&After Effectsでのコンポジット実践解説オンラインセミナー登壇資料
Houdiniで作るNPRエフェクト&After Effectsでのコンポジット実践解説オンラインセミナー登壇資料KLab Inc. Creative
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!Hirotaka Sato
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Takashi Honda
 
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善Developers Summit
 
ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】Junya "Jun" Shimoda
 
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?Takakiyo Tanaka
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーションssuser070fa9
 
Windows 11とNPUで実現するWindowsのAI
Windows 11とNPUで実現するWindowsのAIWindows 11とNPUで実現するWindowsのAI
Windows 11とNPUで実現するWindowsのAITomokazu Kizawa
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術dena_study
 

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

CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめにCEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
 
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編
【Unity道場Houdini編】UnityとHoudiniで作るRealtimeVFX実践解説 前編
 
CGWORLD 2021 クリエイティブカンファレンス
CGWORLD 2021 クリエイティブカンファレンス CGWORLD 2021 クリエイティブカンファレンス
CGWORLD 2021 クリエイティブカンファレンス
 
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 2 モバイルゲーム 実践
 
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
GDC ラウンドテーブルで得た情報量 2016 - Demystifying VFX, Art Director & Leadership, RiotGa...
 
CEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWorkCEDEC2022 Keiji Kikuchi RemoteMobWork
CEDEC2022 Keiji Kikuchi RemoteMobWork
 
Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告Kubernetes 初心者の僕からの JKD 参加報告
Kubernetes 初心者の僕からの JKD 参加報告
 
自動LOD生成を可能にする3Dキャラクターパイプラインセミナー
自動LOD生成を可能にする3Dキャラクターパイプラインセミナー自動LOD生成を可能にする3Dキャラクターパイプラインセミナー
自動LOD生成を可能にする3Dキャラクターパイプラインセミナー
 
【concrete5】CMS夏祭り2015@mttokyo
【concrete5】CMS夏祭り2015@mttokyo【concrete5】CMS夏祭り2015@mttokyo
【concrete5】CMS夏祭り2015@mttokyo
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
 
Houdiniで作るNPRエフェクト&After Effectsでのコンポジット実践解説オンラインセミナー登壇資料
Houdiniで作るNPRエフェクト&After Effectsでのコンポジット実践解説オンラインセミナー登壇資料Houdiniで作るNPRエフェクト&After Effectsでのコンポジット実践解説オンラインセミナー登壇資料
Houdiniで作るNPRエフェクト&After Effectsでのコンポジット実践解説オンラインセミナー登壇資料
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善
 
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
 
ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】ゲームエンジン導入セミナー【UDK編】
ゲームエンジン導入セミナー【UDK編】
 
20181228 ncf to_azure_batch
20181228 ncf to_azure_batch20181228 ncf to_azure_batch
20181228 ncf to_azure_batch
 
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
 
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web ServiceアプリケーションAngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
 
Windows 11とNPUで実現するWindowsのAI
Windows 11とNPUで実現するWindowsのAIWindows 11とNPUで実現するWindowsのAI
Windows 11とNPUで実現するWindowsのAI
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術
 

More from UnityTechnologiesJapan002

10分でわかる Unityコンピュータービジョン
10分でわかる Unityコンピュータービジョン10分でわかる Unityコンピュータービジョン
10分でわかる UnityコンピュータービジョンUnityTechnologiesJapan002
 
ROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するUnityTechnologiesJapan002
 
Unityでロボットの教師データは作れる!
Unityでロボットの教師データは作れる!Unityでロボットの教師データは作れる!
Unityでロボットの教師データは作れる!UnityTechnologiesJapan002
 
産業用ロボット開発におけるUnityの活用
産業用ロボット開発におけるUnityの活用産業用ロボット開発におけるUnityの活用
産業用ロボット開発におけるUnityの活用UnityTechnologiesJapan002
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能についてUnityTechnologiesJapan002
 
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクス
中国深センから盛り上がる、ソフトウェアフレンドリーなロボティクスUnityTechnologiesJapan002
 
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例UnityTechnologiesJapan002
 
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜UnityTechnologiesJapan002
 
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~
BIMからはじまる異世界転生 ~Unity Reflect が叶える新しい建築の世界~UnityTechnologiesJapan002
 
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
【Unity道場 自動車編】Unityで実現する産業向けxRソリューション【Unity道場 自動車編】Unityで実現する産業向けxRソリューション
【Unity道場 自動車編】Unityで実現する産業向けxRソリューションUnityTechnologiesJapan002
 
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~
【Unity道場 自動車編】トヨタのxR活用で進める現場DXへの挑戦 ~UnityとHoloLens 2を用いて~UnityTechnologiesJapan002
 
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例UnityTechnologiesJapan002
 
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツイン
【Unity道場 自動車編】 リアルタイム3D技術が支えるデジタルツインUnityTechnologiesJapan002
 
【Unity道場 自動車編】モビリティへの活用に向けて
【Unity道場 自動車編】モビリティへの活用に向けて【Unity道場 自動車編】モビリティへの活用に向けて
【Unity道場 自動車編】モビリティへの活用に向けて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. Baking Rigid Body Dynamics 15
  • 17. ⒸKLab inc. Baking Rigid Body Dynamics ● Rigid Body Dynamics とは ○ 略称は RBD。 ○ 3DCGにおいては一般的には「硬い固体の物理シミュレーション(ビルやドアの破壊・落 石・金属の鎖の揺れ等)」のことを指します。 17
  • 18. ⒸKLab inc. Baking Rigid Body Dynamics ● Rigid Body Dynamics とは ○ また、破壊表現だけではなく添付gifのような固体の物理シミュレーションする要素全般の事 をRBDと呼びます。 18
  • 19. ⒸKLab inc. Baking Rigid Body Dynamics ● Baking Rigid Body Dynamics とは ○ DCCツール上で作成したRBDをベイクしてコンバートし、ゲームエンジンで使用する手法の ことを本セッションでは指しています。本セッションでは、主にこの内容について紹介した いと思います。 ■ 本セッションでは使用するDCCツールは「Houdini」、ゲームエンジンは「Unity」にな ります。 19
  • 20. ⒸKLab inc. Baking Rigid Body Dynamics ● Baking Rigid Body Dynamics の必要性 ○ モバイルゲーム等ではゲームエンジン上の物理シミュレーションを多用すると処理負荷が高 く問題が生じるため、このような手法が適宜必要になります。 20
  • 21. ⒸKLab inc. Baking Rigid Body Dynamics ● Baking Rigid Body Dynamics の作成方法 ○ 基本的にはHoudiniの「RBDtoFBX」ROPを使用してアニメーションをベイクしたFBXとして コンバートします。 ○ ボーンを使わずベイクするので、Unity上ではMesh Renderer扱いになります。 ○ VATとしても書き出せますが、そもそもモバイルゲームでの負荷対策が主目的なので、FBX のアニメーションとして書き出せる手法を優先しています。 ■ 最終出力の方法をVAT用のギミックにすれば同じアセットからVATを書き出せるので、 VATが必要な場合でも追加コストは殆どかかりません。 21
  • 22. ⒸKLab inc. Baking Rigid Body Dynamics ● Baking Rigid Body Dynamics の利点 ○ DCCツールで作りこんだRBDのディテールやアニメーションをそのままゲームエンジンに持 ち込めるので、アート性が高かったり、作りこんだ優れたビジュアルの素材を持ち込めます。 22
  • 23. ⒸKLab inc. Baking Rigid Body Dynamics ● Baking Rigid Body Dynamics の利点 ○ FBXアニメーションとして書き出すとトランスフォームのアニメーションになるので、添付 gifのような「動きの途中からスローモーション」のような表現もゲームエンジン上で簡単に できます。 23
  • 24. ⒸKLab inc. Baking Rigid Body Dynamics ● Baking Rigid Body Dynamics の利点 ○ 前述のとおりFBXアニメーションとして書き出すとトランスフォームのアニメーションにな るので、レイトレーシング化でも安定して動作します。 ■ 古典的で堅実な手法ゆえに、レイトレーシングと組み合わせるのが大変な手法で起こる ような問題を気にしなくて済みます。 24
  • 25. ⒸKLab inc. Baking Rigid Body Dynamics:シーン紹介 25
  • 27. ⒸKLab inc. 汎用素材:破壊プロップ ● 概要 ○ こちらの破壊プロップの作成方法に、RBDの基本とUnityへのベイク・コンバートの基本が詰 まっています。そのためまずはこちらを紹介したいと思います。 27
  • 28. ⒸKLab inc. 汎用素材:破壊プロップ ● 概要 ○ こちらの破壊プロップの作成方法に、RBDの基本とUnityへのコンバートの基本が詰まってい ますので紹介したいと思います。 28
  • 29. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:introduction ○ まずはゲームエンジンで基準としているフレームレートにFPSを合わせます。 ○ 特に指定がない場合は60FPSで作成しておくと汎用性があって扱いやすいです。 ○ 今回紹介するアセットは60FPSで作成しています。 29
  • 30. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:introduction ○ GUIでパラメータをコントロールするしないに関わらず、アセット化を想定しているものは 最初からサブネットを作成し、その中でデータを作成するとワークフローとしてスムーズで 後々問題も起こりにくいです。 30
  • 31. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:UV ○ HoudiniはPointでアトリビュートを扱う事が多いのですが、この手のRBDで扱うオブジェク トのUVをPointで管理すると、画像のように偏りができるケースが珍しくありません。 31
  • 32. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:UV ○ HoudiniはPointでアトリビュートを扱う事が多いのですが、この手のRBDで扱うオブジェク トのUVをPointで管理すると、画像のように偏りができるケースが珍しくありません。 ○ Vertexの方が自動で均等にUVが設定されやすいので、ひとまずVertexに設定して作業するこ とが個人的にはお奨めです。 32
  • 33. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:UV ○ 基本的にUVはUDIMで作られるので、ゲームエンジンで扱いやすいように単一のUV空間に収 めます。ゲームエンジンを用いた映像制作でこの項目を気にしなくて良いという場合は気に しなくても良いのですが、0-1の範囲に収めておくとHoudini・Unity双方で何かと調整がしや すいので、できれば0-1の範囲に収めておくことをお奨めします。 33
  • 34. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:UV Optimize ○ UVを0-1の単一のUV空間に収めるために、まずはUVの最大値と最小値を取得してDetailに格 納します。 34
  • 35. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:UV Optimize ○ 取得したUVの最大値最小値をfit関数で0-1にクランプさせます。 ○ こうすることで単一のUV空間にプロシージャル且つオートマチックにUVを収めることがで きます。 35
  • 36. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:Fracture ○ 2021年5月時点のHoudini18.5で破砕を行う場合は「RBD Material Fracture」が多くの場面で 有用です。 36
  • 37. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:Fracture ○ 断面のディテールやカット数はアートやパフォーマンスに合わせて適宜調整します。 ○ デフォルトの割れ方のギミックは割れ方に偏りができやすいので、画像のようにInput4に 「Scatter」SOP等を繋いでPointを自分で追加すると偏りを回避できます。 37
  • 38. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:Fracture ○ 多少偏りを付けたい場合でも、前述の手法のような形でプリカットを行ってからDensityアト リビュート等の任意のアトリビュートを生成し、それを基に再度破壊を行った方が、嫌な偏 りができにくいです。 38
  • 39. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:Inside ○ 映像制作では破壊した断面のUVは気にしないことも多いのですが、ゲームエンジンで扱うた めにはきちんと設定する必要があるので、断面のUVも設定します。 39
  • 40. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:Inside ○ 基本的にはSideFXLabsの「inside Face UVs」ノードで、元のUV空間に見た目的に問題ない 位の粒度のUVを生成することができます。 40
  • 41. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:Inside ○ SideFXLabsの「Auto UV」ノードで、簡単に破砕面をUVアイランド化したUVにすることも できます。 41
  • 42. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:Inside ○ SideFXLabsの「Auto UV」ノードで、簡単に破砕面をUVアイランド化したUVにすることも できます。 ○ ただし、自動でアイランド化されているのでそのままテクスチャを張ると画像のような見た 目になります。テクスチャペイントツールを使う場合はこれでも良いのですが、そうでない 場合は破砕面毎にアイランドを作るUV展開はあまりしない方が良いでしょう。 42
  • 43. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:RBD Object:Pack ○ エクスポートする際にPackされたジオメトリである必要があるので、「Assemble」や「RBD Configure」ノードでPackし、PackジオメトリにしてからRBDのSimulationを行います。 ○ Simulationするジオメトリの下準備はこれで完了です。 43
  • 44. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Impact Velocity ○ こういうプロップの場合、破壊用の接触要素はオブジェクトを衝突させるよりもVelocityを放 射した方がアセットが綺麗に纏まって且つ良い結果になる場合が多いので、放射用Velocityを 作成します。 44
  • 45. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Impact Velocity ○ まずは発生点と発生フレームを作成します。 45
  • 46. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Impact Velocity ○ normalizeしたpointをvelocityにアサインして放射Velocityのベースを作成します。 ○ 更に倍率やフェード具合を調整する値や関数も追加します。 46
  • 47. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Impact Velocity ○ 方向性のない汎用破壊のような動きの場合、画像の様に上方向からVelocityを放射すると汎用 素材に適した方向性のない破壊の動きの印象になりやすいです。 ■ 横や下方向からだと、特定方向からの衝撃が加わったような印象になりやすいです。 47
  • 48. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Impact Velocity ○ Velocityを綺麗にForceとして参照させるために Volumeに変換&範囲を調整します。 ■ 多少拡張しておいた方が、Forceで参照してい るVolumeの範囲外にオブジェクトがでて変な挙 動になるような現象を避けやすいです。 48
  • 49. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Impact Velocity ○ 作成した放射VelocityのVolumeは、BulletSolverやDOPnet内にPOP advect by volume ノード を作成して読み込みます。 49
  • 50. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Simulation ○ Simulationには「RBD Bullet Solver」SOPを使用します。複雑なSimulationの場合はDOPnet でSolverを自作する事もありますが、基本的に「RBD Bullet Solver」で問題ない場合が多い です。 ○ Simulation全般に言えることですが、Simulationが上手くいかない時はSolverの問題よりもそ こに至るまでの下準備が適切でない場合が多いです。そのため、Simulationが上手くいかない と感じたらまずは下準備を見直した方が問題解決に繋がりやすいです。 50
  • 51. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Simulation ○ メッシュは最終的にはオリジナルのものを当て直すので、pointのアニメーション情報のみを キャッシュします。同様の理由で、全てのSimulationをProxyGeometryで行うこともあります。 こうすることで各種計算時間を大幅に高速化して作業効率を上げることができます。 51
  • 52. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Simulation ○ 「Transform Pieces」SOPで、SimulationしたPointに元のジオメトリをアサインします。 52
  • 53. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Export:Optimize ○ FBXアニメーションとして書き出す場合は、アトリビュートを整理すると逆にアニメーショ ンが上手く反映されない場合があるので本当に不要なものだけを整理しましょう。 ■ 小規模なプロップの場合は整理しなくても大丈夫な場合が多いです。 53
  • 54. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Export:Optimize ○ ただし、VATで書き出す場合はPositionやNormal、Cd等の必要なアトリビュート以外を残し ていると逆にアニメーションが上手く反映されない不具合が起こることがあります。 ○ VATで使用する場合は「Clean」SOP等でアトリビュートを大胆に整理する事を推奨します。 54
  • 55. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Export ○ 書き出しには基本的に「RBD to FBX」ROPを使用します。 ○ ROPnet内でないと呼び出せないので、OUTコンテキスト内にノードを作るかアセット内に ROPnetを作成して使用します。 55
  • 56. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Export:AnimationClips ○ AnimationClipの名前を指定する場合は、「RBD to FBX」ノードの「Allow Editing of Contents」をクリックして編集可能にし、内部のノードに記述する必要があります。 56
  • 57. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Export:AnimationClips ○ 「Convert Units」をオンにしておくと、システムスケールのズレを自動的に補正してくれま す。これにより「Houdiniで作ったジオメトリがUnityで読むととても小さい」というよくある 問題を回避できます。 ■ ただし、それを見越して大きくHoudiniでジオメトリを作成していた場合は、今度は 「Unityで読んだら大きすぎる」という事態になるので適宜使い分けます。 57
  • 58. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Import:Unity ○ ドラッグ&ドロップ等、普通にUnityにインポートする時と同じ手法で問題ありません。 58
  • 59. ⒸKLab inc. 汎用素材:破壊プロップ ● シーン説明:Others ○ テクスチャは自由に変えられるので、テクスチャを変えるだけで多くの場面に対応可能です。 59
  • 60. ⒸKLab inc. 汎用素材:破壊プロップ ● 応用 ○ 同じHoudiniアセットの仕組みで、添付gifのような他の形状のオブジェクトも簡単に破壊アセ ットにすることができます。 60
  • 62. ⒸKLab inc. 汎用素材:コイン ● 概要 ○ 序文の方でも記しましたが、RigidBodyDynamicsのBakeは破壊だけではなく、頂点変化のな い硬いオブジェクトが行う物理シミュレーション全般に使えます。 62
  • 63. ⒸKLab inc. 汎用素材:コイン ● 概要 ○ 序文の方でも記しましたが、RigidBodyDynamicsのBakeは破壊だけではなく、頂点変化のな い硬いオブジェクトが行う物理シミュレーション全般に使えます。 63
  • 65. ⒸKLab inc. 汎用素材:鎖 ● 概要 ○ こういった鎖の揺れアニメーション素材も、HoudiniのRigidBodyDynamicsのBakeでUnityに 持ち込むことができます。 65
  • 66. ⒸKLab inc. 汎用素材:鎖 ● シーン説明:前提 ○ 鎖は何も考えずにsimulationを行うと、「バラバラになる・吹っ飛ぶ・変な動きになる・計算 が重すぎる」等の状態になることが多いです。 ■ そのためスマートに作業するためには少し仕込みが必要になります。 ● 細かく全てを解説すると非常に長くなりますので、要点を幾つか紹介したいと思 います。 66
  • 70. ⒸKLab inc. 汎用素材:鎖 ● 要点解説 ○ この手の複数のジオメトリを複製して一繋ぎにする場合は、Houdini18.5で追加された ChainSOPが使いやすくておススメです。 ■ 始点・終点の設定や複数ジオメトリの配置、線路のような形状への応用もできて幅広く 使えるSOPです。 70
  • 71. ⒸKLab inc. 汎用素材:鎖 ● 要点解説 ○ 最終的に使用するジオメトリと、それを基にしたSimulation用のジオメトリの二種類を作成し ます。 71
  • 72. ⒸKLab inc. 汎用素材:鎖 ● 要点解説 ○ Simulation用の素材は、VDB化を利用して画像のように元の形状にシェイプを詰めます。 ○ これは映像制作では馴染み深い手法で、こうすることで鎖のようなものでも低負荷で破綻の ないSimlationを行う事ができます。 72
  • 73. ⒸKLab inc. 汎用素材:鎖 ● 要点解説 ○ Simulation用のジオメトリと最終的に使用するジオメトリを上手く差し替えるために、Pack したピース毎に同じアトリビュートを割り振っておきます。 73
  • 74. ⒸKLab inc. 汎用素材:鎖 ● 要点解説 ○ SimulationはBulletで行っています。Solverの設定は特に特別なことはしていません。 74
  • 75. ⒸKLab inc. 汎用素材:鎖 ● 要点解説 ○ 最後に「TransformPieces」SOPでSimulationジオメトリを最終的に使うジオメトリに差し替 えます。きちんと差し替えが行えていれば、「RBDtoFBX」ROPで最終的に使うジオメトリ のFBXアニメーションを問題なく書き出す事ができます。 75
  • 77. ⒸKLab inc. その他注意事項 ● Export ○ 「RBDtoFBX」ROPでエクスポートする場合はジオメトリをPackしておく必要があります。 ■ Packすることにより、それぞれのピースを単一のトランスフォーム情報に落とし込む ことができます。 ■ 「name」かそれに準ずるアトリビュートとピースの相関関係を参照するので、この性 質を利用することで鎖の項目で述べたような「Simlationジオメトリと全く別のジオメト リをアサインする」というような事をしても、上手く書き出す事ができます。 77
  • 78. ⒸKLab inc. その他注意事項 ● 頂点数の変化 ○ 頂点数が変わると「RBDtoFBX」ROPでは上手く書き出せないことが多いです。 ■ 動的に頂点数が変化するジオメトリをUnityに持ち込む場合は、「FluidVAT」や 「Alembic」といった手法で書き出さないと基本的には上手く書き出せません。 ● そのため事前に全てのピースを割っておく必要があります。 ● 映像制作でよく使う「破壊等で実際に物が割れるまで割れてるように見せないた めに該当要素を削除したり隠したりするテクニック」を使うと頂点数の変化が起 こるので、「RBDtoFBX」ROPで上手く書き出せなくなります。 78
  • 79. ⒸKLab inc. その他注意事項 ● Constraint ○ Constraintは使用しても問題ありません。下記の画像もGlueで割れ感を制御しています。 ○ 前述の通り頂点数の変化は上手く書き出せない場合が多いですが、Constraintを使用すること で段階的に壊れるような表現を「RBDtoFBX」ROPで書き出す事ができます。 ■ Group等でアクティブ・非アクティブを分けるのも有効です。 79
  • 80. ⒸKLab inc. Baking Rigid Body Dynamics:END 80
  • 81. ⒸKLab inc. Baking Rigid Body Dynamics:END ● Baking Rigid Body Dynamics の説明は以上となります。 81
  • 83. ⒸKLab inc. Other tips ● シームレステクスチャの作成方法 ○ UnityGrenoble様のHPで、普通の画像からタイリング可能なシームレステクスチャを作成す る機能が公開されています。 ■ ツールのインストールも必要なく、知っておくと何かと便利な手法です。 83
  • 84. ⒸKLab inc. Other tips ● シームレステクスチャの作成方法 ○ UnityGrenoble様のHPで、普通の画像からタイリング可能なシームレステクスチャを作成す る機能が公開されています。 ■ ツールのインストールも必要なく、知っておくと何かと便利な手法です。 84 ・Before ・After
  • 85. ⒸKLab inc. Other tips ● Houdiniで画像からNormalmapを作成する方法 ○ COPの「NormalFromGrayscale」ノードで簡単に画像からNormalmapを生成できます。 ■ 「NormalLevels」ノードで法線の強弱も調整可能です。 ■ 画像からNormalmapを作成する手段は他にもありますが、Houdiniだとアセット化や PDGで効率化して作業ストレスや手数を軽減し易いです。 85
  • 86. ⒸKLab inc. Other tips ● HoudiniでSpriteSheetを簡単に作成する方法 ○ COPの「Mosaic」ノードで簡単に画像からSpriteSheetを生成できます。 ■ Normalmap同様SpriteSheetを作成する手段は他にもありますが、Normalmap同様に Houdiniだとアセット化やPDGで効率化して作業ストレスや手数を軽減し易いです。 86
  • 87. ⒸKLab inc. Other tips ● VertexAnimationTextureフォルダの注意点 ○ SideFX社様が提供しているShaderを使う場合、Unityのパッケージマネージャから該当デー タをロードする事が多いと思います。 ○ HoudiniのVertexAnimesionTextureノードに記されたパスはオリジナルデータのパスなので、 そのまま使用して中身を改変・削除等を行うと今後同様のパスを参照する要素全てに影響が 生じます。 ■ オリジナルデータを誤って上書きしないためには以下のような対策が有効です。 ● オリジナルデータのフォルダを参照するが、中に入っているShader等を複製して 使用する。 ● パッケージマネージャで参照するフォルダ一式を別の場所にコピーし、そちらか ら参照するようにする。 87
  • 88. ⒸKLab inc. Other tips ● Alembicについて ○ 参考 88
  • 89. ⒸKLab inc. Other tips ● Alembicについて ○ 映像制作利用想定の場合 ■ 指標として、30~40万ポリゴン位のデータの場合、Unityでの再生時にそこまで重くな ることもなく再生できます。 ■ Alembicのファイルサイズも10GB~20GB位だと、初期の読み込みには少し時間がかか りますがそれ以降はスムーズに扱って作業できます。 ● 私はこれくらいのファイルサイズを目安にオプティマイズしています。 ■ Github上にもLFSで問題なくアップできます。 ● ただし、大容量のファイルをバージョン管理ツールで共有するかは会社やプロジ ェクト次第なので、個々人の環境で各々判断が必要です。 89
  • 90. ⒸKLab inc. Other tips ● PolygonSoupに関する注意点 ○ 参考 90
  • 91. ⒸKLab inc. Other tips ● PolygonSoupに関する注意点 ○ 2021年4月時点だと、「Sweep」や「ParticleFluidSurface」等のよく使うメッシュ生成ノード のデフォルトがPolygonSoupになっている事が多いです。 ○ PolygonSoupだとPolygonと比べて、見た目は一見変わらずにキャッシュサイズが半分位にな ります。 ■ 映像制作ではこれでも良いのですが、PrimitiveやVertexはPolygonSoup化されることで アトリビュートの調整ができなくなり、それらを基にしたUVや頂点情報も正確ではな くなるので、後からアトリビュートを調整したりゲームエンジンでの使用を想定してい る場合はPolygonにする必要があります。 ○ 「Convert」SOPでPolygonSoupからPolygonに変換できます。 ■ ただし元データと比べてPolygonの順番が異なる場合があるので、ゲームエンジンで使 用するデータを作る場合は、PolygonSoupを使用しない方が安全だと思われます。 ○ Pointの情報は殆ど維持され、Houdiniの作業時もPointを扱うことが多いので気づき辛いので すが、作業の途中で意図せずPolygonSoupに変換され、後で気づいて問題になるということ もあるので注意が必要です。 91
  • 92. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ VertexAnimationTextureを使わないSoftbodySimulationのHoudiniからUnityへのコンバート手 法として、主にHoudiniの「SideFXLabs Skinning Converter」ノードを使用し、Unityに SkinnedMeshRenderer扱いのボーンベースアニメーションに変換して持ち込む手法がござい ます。 92
  • 93. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ CEDEC2020でこの手法について登壇しましたので、興味のある方は弊社のホームページの方 で資料を一般公開しているのでご覧ください。 ■ CEDEC2020の資料Link 93
  • 94. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ 前述の「Skinning Converter」を使用した手法ですが、CEDEC2020登壇時のHoudini18の段階 では、「プロシージャルアセットにできてアプローチとしても有用ではあるが、当時のボー ンの仕様も相まって少々使い辛い」という状態でした。 94
  • 95. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ Houdini18.5になり、KineFXが登場したことでボーン周りの扱いが大幅に改善され、 「Skinning Converter」も大幅に使い勝手が向上しました。 ○ Houdini18以前で作業する場合は私がCEDEC2020で登壇した手法で良いのですが、 Houdini18.5で作業する場合はバージョンアップした仕組みを使用した方が良い場合が多いの で、Houdini18.5における「Skinning Converter」の使い方を簡単に紹介いたします。 95
  • 96. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ Houdini18以前のSkinningConverter 96
  • 97. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ Houdini18以前のSkinningConverter ■ ボーンへのベイク時にサブネットが生成されます。 ■ KineFX以前のボーン仕様なので、ボーン用のノードがサブネット内に大量に生成され ます。 ■ エクスポート時は、この生成されたサブネットを指定する必要があります。 ■ シーンファイル内にベイクされたデータを保持するのでデータサイズがHoudiniのシー ンファイルにしては大きくなります。 97
  • 98. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ Houdini18.5のSkinningConverter 98
  • 99. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ Houdini18.5のSkinningConverter ■ 「SkinningConverter」ノードに直接ノードを繋いでメッシュやボーンを確認・エクス ポートできます。 ■ シーンファイルのサイズも、通常のシーンファイルと同等です。 99
  • 100. ⒸKLab inc. Other tips ● Skinning Converter in Houdini 18.5 ○ まとめ ■ KineFX対応でバージョンアップしたHoudini18.5仕様の方が、総じて使いやすく個人的 にはお奨めです。 ■ ただし、従来の仕組みも依然として有用です。 ● そのため、諸事情によってHoudini18以前のバージョンで作業する必要がある場合、 SoftbodySimulationのベイクのアプローチとしては従来の仕組みも有効です。 100
  • 102. ⒸKLab inc. Other tips:END ● Other tips の説明・紹介は以上となります。 102