カテゴリー別アーカイブ: FAQ

Houdini14からのショートカットの変更点

Houdini14から一部ショートカットが変更されています。

Houdini14では追加選択がShift+左クリック、選択解除がCtrl+左クリック、選択状態の反転がCtrl+Shift+左クリックになっています。
Houdini13までは追加選択がCtrl+Shift+左クリック、選択解除がCtrl+左クリック、選択状態の反転がShift+左クリックでした。

ループ選択の方法が変更されています。
部分ループは、コンポーネントを選択してAキーを押したまま別のコンポーネントを左クリックします。

loop01 loop02

全ループは、コンポーネントを選択してAキーを押したまま、ループさせる方向にある別のコンポーネントを中クリックします。

loop03
loop05 loop06

変更されたシーンビューでのショートカットキー

N Select All(以前はA)
Shift+N Select None(以前はN)
~ Secure Selection(以前は=)

追加されたシーンビューでのショートカットキー

+ または =
選択したオブジェクトのビューポートでのサブディビジョン表示を有効にします。これはGeometryノードのRenderタブのDisplay AsパラメータのSubdivision Suraceへのショートカットです。
SubHot
選択したオブジェクトのビューポートでのサブディビジョン表示を無効にします。
* ハンドル表示を拡大します。
/ ハンドル表示を縮小します。
9 ジオメトリグループ選択モードになります。
Ctrl+Shift+B ショートカットを押す度に、前側ピック、後側ピック、両側ピックのモードに切り替わります。
PickBack
SelectStyle
F2 選択スタイルをボックスに切り替えます。
F3 選択スタイルをラッソに切り替えます。
F4 選択スタイルをブラシに切り替えます。
F5 選択スタイルをレーザーに切り替えます。
Shift+Y ハンドルモードを逆方向に切り替えます(Yは順方向)。

HScriptエクスプレッションを使用した際には、Ctrl+スペースで自動補完が機能します。
H14Hot01Houdini13までは、HScriptエクスプレッションを使用した際に、”$”を入力して少し待てば、そのノードで使用可能な変数すべての一覧が表示されました。
H13HotHoudini14からは、”$”を入力した後にCtrl+スペースを押すことで、そのノードで使用可能な変数すべての一覧が表示されるようになっています。
H14Hot02

アニメーションのベイク

ここでは、アニメーションをベイクする方法を紹介します。
アニメーションのベイクは、CHOPの機能を使う方法とチャンネルファイル(.chan)を使用する方法の2通りがあります。
まずは、汎用性のある”CHOPの機能を使う方法”を説明します。
CHOPの機能によるアニメーションのベイク
球オブジェクトのトランスフォームのTranslateRotateのパラメータ、そしてその球オブジェクト内のSphere SOPのRadiusパラメータにキーフレームアニメーションが設定していると仮定します。

bakeCHOP01 bakeCHOP02

WindowsメニューからAnimation Editorを選択して、Animation Editorを開きます。次に球オブジェクトを選択します。 これでScoped Parametersに選択したオブジェクトのパラメータが入ります。ベイクしたいパラメータだけをピン留めします。この例ではTranslateRotateのパラメータをピン留めします。これによって、次にSphereノードのパラメータを追加する時にオートスコープが解除されなくなります。
bakeCHOP03次にSphereノードのRadiusパラメータをShift+左クリックすれば、Scoped Parametersにそのパラメータが追加されます。同様に、Radiusパラメータをピン留めします。

bakeCHOP04 bakeCHOP05

タイムライン上で右クリックして、Motion FXコンテキストメニューからCreate Clipを選択します。
bakeCHOP06Create Clip…ダイアログでそのままCreateボタンをクリックします。

bakeCHOP07 bakeCHOP08

motionfx CHOP Networkの中にChannel CHOPが生成されていることを確認します。
このCHOPにスコープしたパラメータが設定されます。 Channel CHOP右クリックして、Edit Data Channelsを選択します。
bakeCHOP10
確認メッセージはそのままYesをクリックします。すると、CHOPで生成されたカーブを編集するためのAnimation Editorが開きます。一番右上にあるアイコンをクリックすると、Fit Panelダイアログが開きます。

bakeCHOP11 bakeCHOP12

Fit PanelダイアログでFrames/Absoluteの設定にし、Start/Endにベイクしたいフレーム範囲を指定します。Tolerance0にします。0以外の値にすると、その許容値に基づいてキーフレームが間引きされてしまいます。Animation Editorのカーブの結果で良ければ、Copy To Export Destinationボタンをクリックします。

bakeCHOP13 bakeCHOP14

これでアニメーションカーブがベイクされます。
bakeCHOP15
チャンネルファイル(.chan)によるアニメーションのベイク
前述の方法では、ベイクするアニメーションの範囲や許容値を指定してキーフレームの間引きを行なうことができるので汎用性があります。
Global Animation Optionsで設定したフレーム範囲でフレーム毎にキーフレームを打つ場合であれば、チャンネルファイル(.chan)をエクスポートして、再度そのファイルをインポートすることでアニメーションをベイクすることもできます。
bakeCHAN
前述と同様にAnimation EditorにベイクしたいパラメータをScoped Parametersに入れます。
そして、右上にあるギアのアイコンをクリックして、Channels/Export Displayed Channels as…を選択します。
bakeCHAN01
チャンネルファイル(.chan)を任意の場所に保存します。
bakeCHAN02再び右上にあるギアのアイコンをクリックして、Channnels/Import into Displayed Parameters…を選択します。
bakeCHAN03
保存したチャンネルファイル(.chan)を指定します。
bakeCHAN04これでアニメーションカーブがベイクされます。
bakeCHAN05ここで使用したチャンネルファイル(.chan)の中身は、テキストファイルになっています。
bakeCHAN06
各行がフレーム番号に相当しています。
列の値は、Scoped Parametersに入っているパラメータ名(ラベル名ではなく)の順番で値が入っています。

テクスチャのベイク

デジタルアセットのポータルサイト「Orbolt」には色々役立つアセットがありますが、今回はTexture Baker(https://www.orbolt.com/asset/SideFX::texturebaker)アセットをご紹介します。
OrboltTextureBaker
このデジタルアセットは3Dシーンのライト情報を3Dモデルのテクスチャに焼き付ける、つまりベイクすることができる機能です。
Apprentice版ではテクスチャの解像度を下げれば機能しますがウォーターマークが付くのであまり意味がありません。

TextureBakerUI
概要:
このアセットは、”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 指定した量で、ベイクされたテクスチャの区間すべてを広げる処理をします。

今回はこのシーンでテクスチャのベイクをやってみたいと思います。
テストするシーン:
Man
この顔のモデルには事前に頂点UVを割り当てています。VertexアトリビュートにUVがなければこのアセットは機能しません。

ManUV 2015-02-24 19_36_16

Mantraでレンダリングした結果:
ManRendered

これからTexture BakerデジタルアセットのUIのパラメータを設定します。Cameraにカメラオブジェクトを指定し、次にAdd Bundleボタンをクリックします。これで”bake”という名前のバンドルが作成されます。TextureBakerUISet
次にWindowsメニューのBundle Listをクリックします。
bakeバンドルにベイクしたいジオメトリオブジェクトを追加します。

BundleMenu Bundle

Bake Textureボタンをクリックすれば処理が始まります。
これでベイクされたテクスチャが作成されます。
BakeTexture