Side Effects Software社製品を使用するには、2種類のログインアカウントが必要になります。
※弊社が提供する日本語オンラインヘルプとは別アカウントです。
Houdini14から一部ショートカットが変更されています。
Houdini14では追加選択がShift+左クリック、選択解除がCtrl+左クリック、選択状態の反転がCtrl+Shift+左クリックになっています。
Houdini13までは追加選択がCtrl+Shift+左クリック、選択解除がCtrl+左クリック、選択状態の反転がShift+左クリックでした。
ループ選択の方法が変更されています。
部分ループは、コンポーネントを選択してAキーを押したまま別のコンポーネントを左クリックします。
全ループは、コンポーネントを選択してAキーを押したまま、ループさせる方向にある別のコンポーネントを中クリックします。
変更されたシーンビューでのショートカットキー
N | Select All(以前はA) |
Shift+N | Select None(以前はN) |
~ | Secure Selection(以前は=) |
追加されたシーンビューでのショートカットキー
+ または = |
選択したオブジェクトのビューポートでのサブディビジョン表示を有効にします。これはGeometryノードのRenderタブのDisplay AsパラメータのSubdivision Suraceへのショートカットです。 |
– | 選択したオブジェクトのビューポートでのサブディビジョン表示を無効にします。 |
* | ハンドル表示を拡大します。 |
/ | ハンドル表示を縮小します。 |
9 | ジオメトリグループ選択モードになります。 |
Ctrl+Shift+B | ショートカットを押す度に、前側ピック、後側ピック、両側ピックのモードに切り替わります。 |
F2 | 選択スタイルをボックスに切り替えます。 |
F3 | 選択スタイルをラッソに切り替えます。 |
F4 | 選択スタイルをブラシに切り替えます。 |
F5 | 選択スタイルをレーザーに切り替えます。 |
Shift+Y | ハンドルモードを逆方向に切り替えます(Yは順方向)。 |
HScriptエクスプレッションを使用した際には、Ctrl+スペースで自動補完が機能します。
Houdini13までは、HScriptエクスプレッションを使用した際に、”$”を入力して少し待てば、そのノードで使用可能な変数すべての一覧が表示されました。
Houdini14からは、”$”を入力した後にCtrl+スペースを押すことで、そのノードで使用可能な変数すべての一覧が表示されるようになっています。
ここでは、アニメーションをベイクする方法を紹介します。
アニメーションのベイクは、CHOPの機能を使う方法とチャンネルファイル(.chan)を使用する方法の2通りがあります。
まずは、汎用性のある”CHOPの機能を使う方法”を説明します。
CHOPの機能によるアニメーションのベイク
球オブジェクトのトランスフォームのTranslate、Rotateのパラメータ、そしてその球オブジェクト内のSphere SOPのRadiusパラメータにキーフレームアニメーションが設定していると仮定します。
WindowsメニューからAnimation Editorを選択して、Animation Editorを開きます。次に球オブジェクトを選択します。 これでScoped Parametersに選択したオブジェクトのパラメータが入ります。ベイクしたいパラメータだけをピン留めします。この例ではTranslateとRotateのパラメータをピン留めします。これによって、次にSphereノードのパラメータを追加する時にオートスコープが解除されなくなります。
次にSphereノードのRadiusパラメータをShift+左クリックすれば、Scoped Parametersにそのパラメータが追加されます。同様に、Radiusパラメータをピン留めします。
タイムライン上で右クリックして、Motion FXコンテキストメニューからCreate Clipを選択します。
Create Clip…ダイアログでそのままCreateボタンをクリックします。
motionfx CHOP Networkの中にChannel CHOPが生成されていることを確認します。
このCHOPにスコープしたパラメータが設定されます。 Channel CHOPを右クリックして、Edit Data Channelsを選択します。
確認メッセージはそのままYesをクリックします。すると、CHOPで生成されたカーブを編集するためのAnimation Editorが開きます。一番右上にあるアイコンをクリックすると、Fit Panelダイアログが開きます。
Fit PanelダイアログでFrames/Absoluteの設定にし、Start/Endにベイクしたいフレーム範囲を指定します。Toleranceは0にします。0以外の値にすると、その許容値に基づいてキーフレームが間引きされてしまいます。Animation Editorのカーブの結果で良ければ、Copy To Export Destinationボタンをクリックします。
これでアニメーションカーブがベイクされます。
チャンネルファイル(.chan)によるアニメーションのベイク
前述の方法では、ベイクするアニメーションの範囲や許容値を指定してキーフレームの間引きを行なうことができるので汎用性があります。
Global Animation Optionsで設定したフレーム範囲でフレーム毎にキーフレームを打つ場合であれば、チャンネルファイル(.chan)をエクスポートして、再度そのファイルをインポートすることでアニメーションをベイクすることもできます。
前述と同様にAnimation EditorにベイクしたいパラメータをScoped Parametersに入れます。
そして、右上にあるギアのアイコンをクリックして、Channels/Export Displayed Channels as…を選択します。
チャンネルファイル(.chan)を任意の場所に保存します。
再び右上にあるギアのアイコンをクリックして、Channnels/Import into Displayed Parameters…を選択します。
保存したチャンネルファイル(.chan)を指定します。
これでアニメーションカーブがベイクされます。
ここで使用したチャンネルファイル(.chan)の中身は、テキストファイルになっています。
各行がフレーム番号に相当しています。
列の値は、Scoped Parametersに入っているパラメータ名(ラベル名ではなく)の順番で値が入っています。
デジタルアセットのポータルサイト「Orbolt」には色々役立つアセットがありますが、今回はTexture Baker(https://www.orbolt.com/asset/SideFX::texturebaker)アセットをご紹介します。
このデジタルアセットは3Dシーンのライト情報を3Dモデルのテクスチャに焼き付ける、つまりベイクすることができる機能です。
Apprentice版ではテクスチャの解像度を下げれば機能しますがウォーターマークが付くのであまり意味がありません。
概要:
このアセットは、”bake”バンドル内の各オブジェクトに対してテクスチャマップをベイクします。
すべてのライト情報がそれらのテクスチャマップ自体にベイクされます。
これによって、PBR/GIライティングのままリアルタイムでオブジェクトを使用できるようになります。また、このアセットにはレンダリングされたテクスチャの エッジを広げるポスト処理が用意されているので、ジオメトリのUVシームに黒い線が入るのを防ぐことができます。
ベイクされた画像には、法線パス(オブジェクト空間)を持つ平面を余分に持っています。さらに”diffuse/light map”パスを書き出すこともできます。このパスは、テクスチャを除いたライティング情報のみが含まれます。
条件:
1. オブジェクトに(ポイントUVではなく)頂点UVがあること。
2. 頂点UVが重なっていないこと。
動作:
“Bake”ボタンを押すと、現行シーン内にSHOPNETとテイクが作成されます。
MATERIALS_BAKED SHOPNET・・・ベイクしたバージョンのマテリアルが格納されます。
BAKEDテイク・・・ベイクされたテクスチャでマテリアルを上書きします。
BAKED_DIFFUSE・・・Diffuseベイクされたテクスチャでマテリアルを上書きします。
DIFFUSE_MATERIALS・・・’diffuse’パスをベイクする際にアセット側で使用されます。
注意:
ベイク処理はポリゴンオブジェクトにのみ動作します。
デジタルアセットのオブジェクトをベイクしたい場合には、必要な部分を/objレベルでObject Mergeしてください。
`BAKED`テイクは、オブジェクトのマテリアルを上書きし、Geometryノードの”Ignore Geometry Attributes Shaders”にチェックを付けます。マテリアルをSOPレベルで割り当てていれば、BAKEDテイクでAttributeノードを追加し、”shop_materialpath”Primitiveアトリビュートを削除する必要があります。
これにより、ビューポートOpen GL内でオブジェクトレベルでマテリアルの上書きを更新することができます。
パラメータ:
Camera | オブジェクトすべてを網羅したカメラをここに設定します。 |
Bundle Name | ベイク処理で使用するバンドル名。 |
Add Bundle | 指定した名前のバンドルを追加します。 |
Baked Texture Path | 生成されたテクスチャマップの保存先。 |
Texture Format | 画像フォーマット。 |
Resolution | ベイクするテクスチャマップの解像度。 |
Pixel Samples | レンダリング/ベイクの処理で使用するサンプル。 |
Ray Samples | レンダリング時に使用する光線の数。画像の粒/ノイズを少なくするには、この数を上げます。 |
Noise Level | 最適サンプリングに使用します。この値を低くするほどノイズが少なくなります。 |
Bake Texture | 必要なテイクを作成し、ベイク処理を開始します。 |
Bake Separate Diffuse Pass | さらに’baked_diffuse’テイクを作成し、追加で画像をレンダリングします。 |
Texture Edge Expand | 黒い繋ぎ目がでないように、ベイクされたテクスチャの区画を広げるピクセル数。 |
Expand Textures | 指定した量で、ベイクされたテクスチャの区間すべてを広げる処理をします。 |
今回はこのシーンでテクスチャのベイクをやってみたいと思います。
テストするシーン:
この顔のモデルには事前に頂点UVを割り当てています。VertexアトリビュートにUVがなければこのアセットは機能しません。
Mantraでレンダリングした結果:
これからTexture BakerデジタルアセットのUIのパラメータを設定します。Cameraにカメラオブジェクトを指定し、次にAdd Bundleボタンをクリックします。これで”bake”という名前のバンドルが作成されます。
次にWindowsメニューのBundle Listをクリックします。
bakeバンドルにベイクしたいジオメトリオブジェクトを追加します。
Bake Textureボタンをクリックすれば処理が始まります。
これでベイクされたテクスチャが作成されます。