Houdini Engine for Unreal Engine4.6.1のインストール

Houdini Engine for UE4.6.1のインストール方法

2015年2月26日、2015年4月にUnreal Engine向けのHoudini Engineのパブリックベータ版のリリースがアナウンスされました。
HE4UE_Announce
そのパブリックベータ版ではUE4.7の対応が予定されております。
現在、既に通常の64bit版Houdini14または64bit版Houdini Engine14をインストールしていれば、Houdini Engine for UE4.6.1プラグインも既にインストールされています。
このプラグインに限っては、現在のところ、フリーのHoudini Apprenticeでも利用できるようになっています。
MAYA版、Unity版のHoudini EngineはHoudini Engine以上のライセンスが必要です。
今回はWindows OSを例に説明します。

HoudiniまたはHoudini Engineインストールディレクトリ\engine\unrealの中にあるHoudiniEngineフォルダをコピーします。2015-03-13 18_22_42Unreal Engineインストールディレクトリ\4.6\Engine\Plugins\Runtimeフォルダに、そのHoudiniEngineフォルダをペーストします。
2015-03-13 18_26_48これでHoudini Engineプラグインのインストールが完了です。

Unreal Engine4.6.1を起動し、インポートをクリックします。
UE1
Houdiniのデジタルアセット(.otl、.hdaなど)が読み込めるようになります。
UE2今回はOrboltからUnity Staircaseのデジタルアセットを読み込んでみました。
UE3
Houdini14.0.279以降からは、HoudiniインストーラーでHoudini Engine for Unreal4のプラグインをインストールするかどうかのオプションが付きました。
HE14.0.279

Houdini Engine for Unity4.6のインストール

Houdini Engine for Unity4.6のインストール方法

Unity4は32bitアプリケーションであるため、Houdini Engineをインストールするには、32bit版のHoudiniまたはHoudini Engineのインストーラーを使用する必要があります。
今回はWindows OSを例に説明します。
Houdiniでデジタルアセットを作成し、Unity4.6でそれを利用するのであれば32bit版のHoudiniのインストーラーをダウンロードします。
Houdiniでデジタルアセットを作成せず、ただUnity4.6でそれを利用するだけであれば32bit版のHoudini Engineのインストーラーをダウンロードします。

1.Houdini本体のインストーラーを使う場合
Sidefxのダウンロードサイトから32bit版Houdini本体のインストーラーをダウンロードします。
HoudiniSetupダウンロードしたインストーラーを実行し、[Next]をクリック、License Agreementで[I Agree]をクリックしてライセンス規約に同意します。
コンポーネント選択で必要なコンポーネントを選択し、[Next]をクリックします。
HoudiniInstallHoudini Engine for Unity 4.6 32-bitにチェックを付けて[Next]をクリックします。
2015-03-13 17_18_02後はインストール場所等を指定して、進めていけばインストールの完了です。
これで”Houdiniインストールディレクトリ\engine\unity“にhoudini-engine.scripts.unitypackageがインストールされました。

2.Houdini Engineのインストーラーを使う場合
Houdiniでデータを作成しないけれども、UnityでHoudiniのデジタルアセットを利用したい方ならHoudini Engineだけをインストールすることもできます。
Sidefxのダウンロードサイトの下側で32bit版Houdini Engineのインストーラーをダウンロードします。
HoudiniEngineDownloadダウンロードしたインストーラーを実行し、[Next]をクリック、License Agreementで[I Agree]をクリックしてライセンス規約に同意します。
そして、インストール場所を指定して[Install]をクリックします。
これでHoudini Engineがインストールされます。

Unity4.6でHoudini Engineプラグインを読み込む

Unity4.6を起動して、AssetsメニューからImport Package/Custom Packageを実行します。
Unity1HoudiniまたはHoudini Engineインストールディレクトリ\engine\unityの中にあるhoudini-engine.scripts.unitypackageを開きます。
Unity2そして、Importをクリックします。
Unity3これでProjectのAssetsにHoudiniプラグインがインストールされ、Houdini Engineメニューが追加されました。
Unity4

Houdini EngineメニューのLoad Houdini AssetからHoudiniデジタルアセットを開きます。
HoudiniまたはHoudini Engineインストールディレクトリ\engine\unity\Assets\OTLs\Samplesの中にHoudiniデジタルアセットのサンプルがあります。
Unity5そのサンプルフォルダのEverGreenフォルダにあるEverGreen.otlを開くと、下図のようなプロップが読み込まれます。このプロップのパラメータをUnity側で変更することができます。
Unity6

Houdini Engine for MAYAインストールとトラブルシューティング

Houdini Engine for MAYAのインストール方法

インストールする方法には、
Houdini本体のインストーラーを使う方法とHoudini Engineのインストーラーを使う方法があります。
前者はHoudiniを使用し且つMAYAでHoudini Engineも利用する方
後者はHoudiniを使用せずMAYAでHoudiniのデジタルアセットを利用する方に向いています。
今回はWindows OSを例に説明します。

1.Houdini本体のインストーラーを使う場合
SidefxのダウンロードサイトからHoudini本体のインストーラーをダウンロードします。
インストーラーには32bitと64bit版がありますが、32bit版はUnity4向けにあり、Houdini Engine for Mayaに関しては64bit版のインストーラーをダウンロードしてください。
HoudiniSetupダウンロードしたインストーラーを実行し、[Next]をクリック、License Agreementで[I Agree]をクリックしてライセンス規約に同意します。
コンポーネント選択で必要なコンポーネントを選択し、[Next]をクリックします。
HoudiniInstallHoudini Engine for Maya 64-bitにチェックを付けて[Next]をクリックします。
HoudiniInstallMaya後はインストール場所等を指定して、進めていけばインストールの完了です。
これで”Houdiniインストールディレクトリ\engine\maya“にHoudini Engineのモジュールがインストールされました。
Houdini Engineプラグインの設定は、事前にインストールされているMAYAに対して自動的に行なわれています。
“MAYAインストールディレクトリ\modules”の中にhoudiniEngineモジュールが入っていることを確認します。
module次に、MAYAを起動して、WindowメニューのSettings/PreferencesサブメニューからPlug-in Managerを実行します。
houdiniEngine.mllのLoadedにチェックを付けます。
MAYAPluginmanagerこれでMAYAのメニューにHoudini Engineの項目が追加されました。
MAYAEngineMenu2.Houdini Engineのインストーラーを使う場合
Houdiniでデータを作成しないけれども、MAYAでHoudiniのデジタルアセットを利用したい方ならHoudini Engineだけをインストールすることもできます。
Sidefxのダウンロードサイトの下側でHoudini Engineのインストーラーをダウンロードします。
HoudiniEngineDownloadダウンロードしたインストーラーを実行し、[Next]をクリック、License Agreementで[I Agree]をクリックしてライセンス規約に同意します。
そして、インストール場所を指定して[Install]をクリックします。
これでHoudini Engineがインストールされます。
しかし、このインストーラーは1.Houdini本体のインストーラーを使う場合とは異なり、手動でプラグインの設定をする必要があります。
以下にその手順を載せます。
エクスプローラから”Houdini Engineインストールディレクトリ\engine\maya“に移動します。その場所にMAYAのバージョン別のフォルダがあるので、目的のバージョンのフォルダの中に進みます。
HEModuleDirhoudiniEngine-mayaバージョン名のファイルをコピーします。
HEModuleコピーしたファイルを”MAYAインストールディレクトリ\modules”の中にペーストします。
次に、MAYAを起動して、WindowメニューのSettings/PreferencesサブメニューからPlug-in Managerを実行します。
houdiniEngine.mllのLoadedにチェックを付けます。

トラブルシューティング

MAYAのPlug-in ManagerでhoudiniEngine.mllのLoadedにチェックを付けて以下のエラーが出た場合の対処方法を説明します。
HE4MAYAErrorMAYAのScript Editorで見ると、
// Error: file: C:/Program Files/Autodesk/Maya2015/scripts/startup/autoLoadPlugin.mel line 46: Unable to dynamically load : C:/Program Files/Side Effects Software/Houdini Engine 14.0.265/engine/maya/maya2015/plug-ins/houdiniEngine.mll
指定されたプロシージャが見つかりません。
// Error: file: C:/Program Files/Autodesk/Maya2015/scripts/startup/autoLoadPlugin.mel line 46: 指定されたプロシージャが見つかりません。
 (houdiniEngine) //
// Error: line 1: Unable to dynamically load : C:/Program Files/Side Effects Software/Houdini Engine 14.0.265/engine/maya/maya2015/plug-ins/houdiniEngine.mll
指定されたプロシージャが見つかりません。
 //
// Error: line 1: 指定されたプロシージャが見つかりません。
 (houdiniEngine) //
のメッセージが表示されている場合、MAYA側でHoudini Engineのパスが見えていないことが原因として考えられます。

対処その1.
MAYAインストールパス\modulesの中にあるhoudiniEngine-mayaバージョン名をテキストエディターで開き、そこに記述されているHoudini Engineのパスがあっているか確認してください。間違えていれば修正します。
対処その2.
システム環境変数Pathで指定されている文字列の文字数を確認してください。2015-03-10 14_20_02その文字列とHoudini(またはHoudini Engine)のインストールパス(例. C:/Program Files/Side Effects Software/Houdini Engine 14.0.65/bin)の長さの合計が
Windows OSの制限値である1023文字以内に収まっている必要があります。
この条件が満たされなかった場合には、上記のエラーが起こります。
この解決策は、MAYAのプリファレンスフォルダ(<ドライブ名>: \Documents and Settings\<ユーザ名>\My Documents\maya\<バージョン>の中にあるscriptsフォルダにuserSetup.pyという名前でテキストファイルを作成します。

そのテキストに
import os
os.environ[‘PATH’] = ‘C:/Program Files/Side Effects Software/Houdini Engine 14.0.265/bin;’+ os.environ[‘PATH’]
のように記述します。
これで1023文字数を超えたPathでもMaya側で正しく取り込まれるため、このエラーを解決することができます。

 

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

HOUDINI_USER_PREF_DIR

デフォルトでのHoudiniの環境設定ファイルはホームディレクトリに格納されます。HOMEシステム環境変数を変更していなければ以下のフォルダが環境設定ファイルの保存場所になります。
Windowsの場合:
C:\Users\{ユーザー名}\Documents\houdini{バージョン名}
Macの場合:
Macintosh HD/ユーザ/{ユーザー名}/ライブラリ/Preferences/houdini/{バージョン名}
(ターミナルのパスは /Users/{ユーザー名}/Library/Preferences/houdini/{バージョン名}です。)
Linuxの場合:
/home/{ユーザー名}/houdini{バージョン名}
に格納されます。

Houdini14からは、その環境設定ファイルの場所を示すシステム環境変数HOUDINI_USER_PREF_DIRが追加されました。
この環境変数を利用することで、Houdiniの環境設定ファイルの場所を変更することができるようになりました。
Windowsでは環境変数に
HOUDINI_USER_PREF_DIR = 設定ファイルの保存場所\__HVER__
と定義します。
例えば、HOUDINI_USER_PREF_DIR = C:\HoudiniSetting\__HVER__
とかC:\HoudiniSetting\Houdini__HVER__などのように設定します。
必ず”__HVER__”を付けてください。__はアンダースコア2つです。Houdiniが自動的に”__HVER__”をHoudiniのバージョン番号に置換します。

Environment設定が終わりましたら、OSを再起動します。
Houdiniを起動すると、HOUDINI_USER_PREF_DIRの場所に設定ファイルが生成されます。
ExplolerMacやLinuxはお使いのシェル環境に合わせて環境変数を設定してください。
MacでHOUDINI_USER_PREF_DIRの値を反映させてHoudiniを起動するにはHoudini Shell TerminalからHoudiniを起動させる必要があります。

Houdini14で追加されたVOPノード

配列や文字列の処理に関するVOPが増えています。

Add Steer Force steerweightアトリビュートでステアリングフォースを乗算して、合計のsteerweightで正規化します。
Adbect by Volumes ディスクファイルに保存したボリュームプリミティブのセットによって位置を移流させます。
Agent Clip Catalog エージェントアトリビュートに読み込んだアニメーションクリップすべてを返します。
Agent Clip Length エージェントのアニメーションクリップの長さ(秒)を返します。
Agent Clip Names エージェントプリミティブの現行アニメーションクリップを返します。
Agent Clip Sample 特定の時間でのエージェントのアニメーションクリップをサンプリングします。
Agent Clip Times エージェントプリミティブのアニメーションクリップの現行時間を返します。
Agent Clip Weights エージェントプリミティブのアニメーションクリップのブレンドウェイトを返します。
Agent Convert Transforms エージェントプリミティブのアニメーションクリップのトランスフォームをローカル空間とワールド空間で変換します。
Agent Layer Bindings エージェントのレイヤーにある各形状とバインドされているトランスフォームを返します。
Agent Layer Name エージェントの現行レイヤーや衝突レイヤーの名前を返します。
Agent Layer Shapes エージェントプリミティブのレイヤーが参照する形状の名前を返します。
Agent Layers エージェントプリミティブに読み込まれたレイヤーすべてを返します。
Agent Rig Children エージェントプリミティブのリグのトランスフォームの子トランスフォームを返します。
Agent Rig Find エージェントプリミティブのリグのトランスフォームのインデックスを検索します。
Agent Rig Parent エージェントプリミティブのリグのトランスフォームの親トランスフォームを返します。
Agent Transform Count エージェントプリミティブのリグのトランスフォームの数を返します。
Agent Transform Names エージェントプリミティブのリグの各トランスフォームの名前を返します。
Agent Transforms エージェントプリミティブの現行ローカルまたはワールド空間のトランスフォームを返します。
Append 項目を配列または文字列に追加します。
Arg Sort ソートされた配列のインデックスのリストを返します。
Array Length 配列の長さを返します。
CHOP Input VEX CHOPに接続された4つの入力CHOPのどれかのサンプル値を返します。
Character to String ユニコードのコードポイントをUTF8文字列に変換します。
Compute Lighting PBRを使用してライティングを評価します。
Find 配列や文字列から項目を検索します。
Float to Matrix2 浮動小数点値をMatrix2値へ変換します。
Float to Vector2 浮動小数点値をVector2値へ変換します。
Get Element 配列から指定した項目を取得します。
Get Matrix2 Component 2×2のMatrix2コンポーネントを抽出します。
Get Vector2 Component Vector2コンポーネントを抽出します。
Import Detail Attribute ディスクに保存されたジオメトリからアトリビュート値を取得します。
Import Point Attribute ディスクに保存されたポイントからアトリビュート値を取得します。
Import Primitive Attribute ディスクに保存されたプリミティブからアトリビュート値を取得します。
Import Vertex Attribute ディスクに保存された頂点からアトリビュート値を取得します。
Insert 項目、配列、文字列を配列や文字列に挿入します。
Intersect All 光線とジオメトリのすべての交差を計算します。
Is Alphabetic 文字列のすべての文字がアルファベットなら1を返します。
Is Digit 文字列のすべての文字が数値なら1を返します。
Join Strings 配列の文字列すべてを区切り文字を挿入して連結します。
Matrix2 to Float 2×2のMatrix2を4つのコンポーネントに展開します。
Matrix2 to Matrix3 2×2のMatrixを3×3のMatrixへ変換します。
Matrix2 to Matrix4 2×2のMatrixを4×4のMatrixへ変換します。
Matrix3 to Matrix2 3×3のMatrixを2×2のMatrixへ変換します。
Matrix4 to Matrix2 4×4のMatrixを2×2のMatrixへ変換します。
OpenSubdiv Face Count サブディビジョンハルのフェースの数を返します。
OpenSubdiv First Patch サブディビジョンハルの指定したフェースで生成された最初のパッチの番号を返します。
OpenSubdiv Limit Surface サブディビジョンサーフェスの境界上のPointアトリビュートを評価します。
OpenSubdiv Patch Count サブディビジョンハルのパッチの数を返します。
Output Variables and Parameters シェーダネットワークの書き込み可能な出力変数となる入力を用意します。
Physically Based Hair(Primary Reflection) ヘアーのプライマリ反射のレンダリング用のBSDFを生成します。
Physically Based Hair(Secondary Reflection) ヘアーのセカンダリ反射のレンダリング用のBSDFを生成します。
Physically Based Hair(Transmission) ヘアーの透過のレンダリング用のBSDFを生成します。
Point Bounding Box 指定したジオメトリの境界ボックスの最小と最大のコーナーを意味する2つのベクトルを返します。
Point Cloud Find ファイルから最近接ポイントのリストを返します。
Point Cloud Find Radius ファイルから半径を考慮した最近接ポイントのリストを返します。
Pop 配列の最後の要素を削除して、その要素を返します。
Regex Find 文字列から正規表現を検索します。
Regex Find All 文字列から正規表現の該当項目をすべて検索します。
Regex Match 全体の入力文字列が正規表現に合致すると1を返します。
Regex Replace 検索した正規表現の該当項目を指定した正規表現で置換します。
Regex Split 正規表現に基づいて文字列を分割します。
Remove Index 配列から指定したインデックスの項目を削除します。
Remove Value 配列から項目を削除します。
Reorder 配列や文字列の項目を並べ替えます。
Reverse 配列の順序を逆にします。
Sample Sphere 最大角度の方向の範囲で、単円、球、超球の内側または表面をサンプリングします。
Set Agent Clip Names エージェントプリミティブの現行アニメーションクリップを設定します。
Set Agent Clip Times エージェントプリミティブのアニメーションクリップの現行時間を設定します。
Set Agent Clip Weights エージェントプリミティブのアニメーションクリップのブレンドウェイトを設定します。
Set Agent Layer エージェントプリミティブの現行レイヤーまたは衝突レイヤーを設定します。
Set Agent Transforms エージェントプリミティブのトランスフォームを上書きします。
Set Element 指定したインデックスにエレメントを設定します。
Set Matrix2 Component 値をMatrix2のコンポーネントのどれかに割り当てます。
Set Vector2 Component 値をVector2のコンポーネントのどれかに割り当てます。
Shading Layer Parameter VOPネットワーク(VOPNET)で定義されたVEX関数のシグネチャに表示させるパラメータを作成します。
Slice 文字列や配列のサブ文字列またはサブ配列をスライスします。
Sort 昇順でソートされた配列を返します。
Split String 文字列をトークンに分割します。
String Ends With 文字列が指定した文字列で終わっていれば1を返します。
String Length 文字列の長さを返します。
String Starts With 文字列が指定した文字列で始まっていれば1を返します。
String to Character UTF8文字列をコードポイントに変換します。
Strip 文字列の先頭と後尾にある空白を取り除きます。
Subnet Input Connector 親のVOPサブネットの入力を表現します。
Subnet Output Connector 親のVOPサブネットの出力を表現します。
Surface Color ポイントカラーやカラーマップで付けられた色から基本カラーを生成します。
Swizzle Vector2 Vector2のコンポーネントを並べ替えます。
Title Case 入力文字列をタイトル文字に変換します。
To Lower Case 入力文字列を小文字に変換します。
To Upper Case 入力文字列を大文字に変換します。
UV Coords 定義しているものに応じてテクスチャ座標やジオメトリのs,t座標を返します。
Vector to Vector2 ベクトルをVector2に変換し、そのベクトルの3番目のコンポーネントを返します。
Vector2 to Float Vector2を2つのコンポーネントに展開します。
Vector2 to Vector Vector2をベクトルに変換します。
Vector2 to Vector4 1組のVector2をVector4に変換します。
Vector4 to Vector2 vector4を1組のVector2に変換します。

Houdini14で追加されたDOPノード

群衆とGrain(粒)の処理に関するDOPが増えています。

Agent Look At エージェントの頭が向くオブジェクト/位置を選択します。
Agent Look At Apply エージェントの頭がターゲットを向くように動かします。
Agent Terrain Adaptation 二足歩行のエージェントの足を地形に順応させます。
Agent Terrain Projection エージェント/パーティクルポイントを地形に投影します。
Crowd Solver 独自のステアリングフォースに基づいて群衆エージェントを更新し、アニメーションのクリップ再生を調整します。
Crowd State Crowd Stateを定義します。
Crowd Transition Crowd State間の移り変わりを定義します。
Crowd Trigger Crowd Triggerを定義します。
Crowd Trigger Logic 複数のCrowd Triggerを組み合わせて複雑なトリガーを構築します。
Data Only Once ワイヤーの数に関係なく、オブジェクトにデータを一度だけ追加します。
Gas Curve Force カーブからフォースを生成します。
Output DOPシミュレーションの終点としてマークします。
POP Float by Volumes 液体シミュレーションの表面上にパーティクルを浮かせます。
POP Grains 砂粒の相互作用をパーティクルに適用します。
POP Spin パーティクルにスピンを設定します。
POP Spin by Volumes Velocityボリュームの渦度を利用してパーティクルをスピンさせます。
POP Steer Align エージェント/パーティクルに近隣と揃うようなフォースを適用します。
POP Steer Avoid エージェント/パーティクルに他のエージェント/パーティクルと衝突しないようにフォースを適用します。
POP Steer Cohension エージェント/パーティクルに近隣に近づくようなフォースを適用します。
POP Steer Custom エージェント/パーティクルにVOPネットワークによるフォースを適用します。
POP Steer Obstacle エージェント/パーティクルにStaticオブジェクトと衝突しないようにフォースを適用します。
POP Steer Path エージェント/パーティクルにパスカーブの方向に応じたフォースを適用します。
POP Steer Seek エージェント/パーティクルにターゲットへ向かわせるフォースを適用します。
POP Steer Separate エージェント/パーティクルにお互いを引き離すフォースを適用します。
POP Steer Solver Crowd Solverで独自のステアリングフォースを統合するために内部的に使用されます。
POP Steer Turn Constraint エージェントVelocityが現在の進行方向から特定の角度範囲内にしか向かないように拘束して、エージェントが逆戻りしないようにします。
POP Steer Wander エージェント/パーティクルにランダムな動きをするフォースを適用します。
POP Velocity パーティクルのVelocityを直接変更するノード。
Spring Network Constraint SOPジオメトリを使用してソフトボディオブジェクトをペアで一緒に拘束します。
Spring Network Relationship ジオメトリに基づいたスプリングリレーションシップを定義します。

Houdini14で追加されたSOPノード

Houdini14で追加されたSOPノードの一覧です。
Houdini13ではAttribVOP、VOP SOPのノードが似た機能として存在していましたが、
Houdini14ではAttribute VOPという名前に変更されております。

Agent エージェントプリミティブを作成します。
Agent Edit エージェントプリミティブのプロパティを編集します。
Agent Look At エージェントの頭が指定したオブジェクトや位置に向くように調整します。
Agent Prep 他の群衆ノードで使用する色々な共通Pointアトリビュートをエージェントに追加します。
Agent Proxy エージェントを別の表示に変更します。
Attribute Delete アトリビュートを削除します。
Attribute Interpolate アトリビュートを補間します。
Attribute Randomize 多様に分布したランダムなアトリビュート値を生成します。
Attribute Rename Houdini13のAttributeノードの事です。
Attribute Transfer By UV UVを使ってアトリビュートを転送します。
Attribute VOP Houdini13のAttribVOPやVOP SOPに該当します。
Point VOP 〃。Run Overのデフォルト値がPointsです。
Primitive VOP 〃。Run Overのデフォルト値がPrimitivesです。
Vertex VOP 〃。Run Overのデフォルト値がVerticesです。
Collision Source DOP衝突で使用するジオメトリとVDBのボリュームを作成します。
Convert Line ジオメトリを線分に変換します。
Crowd Source Crowd Solverに使用する群衆エージェントを作成します。
Curve Groom ビューポートでガイドカーブを直感的に制御することができます。
Draw Hair Guides ヘアーガイドを描画します。
Grain Source パーティクルベースのGrain(粒)シミュレーションのソースとして使用するパーティクルを生成します。
Hair Growth Field ストロークプリミティブに基づいてVelocityフィールドを生成します。
Normal サーフェス法線アトリビュートを計算します。
Output サブネットワークの出力としてマークします。
Point Deform ポイントクラウドに基づいてジオメトリを変形します。
Point Relax お互いに指定した半径領域と重ならないようにポイントを動かします。
Primitive Wrangle Houdini13のAttribWrangleに該当します。Run Overのデフォルト値がPrimitivesです。
Vertex Wrangle 〃。Run Overのデフォルト値がVerticesです。
Reguide 新しくガイドをばら撒いて、既存ガイドのプロパティを補間します。
Repack パックAlembicやパックディスクプリミティブをパックジオメトリプリミティブとして再パックします。
Solidify ポリゴンメッシュを自己交差のない密閉したポリゴンメッシュに変換します。
Split プリミティブやポイントを2つのストリームに分岐させます。
Spray Paint サーフェス上にランダムにポイントを吹き付けます。
Stroke Cache ストロークに基づいてジオメトリを段階的に修正するツールの構築を簡単にします。
Test Geometry テスト用ジオメトリ。
Transfer Guides ガイドを転送します。
UV Flatten ジオメトリをUVの島に平坦化(展開)します。
UV Layout UVの島を指定した領域に詰め込んでUVを再接続します。
VDB Activate SDF VDBボリュームプリミティブに記録された符号付き距離フィールドを拡張/収縮します。
VDB Clip 境界ボックスや他のVDBをマスクにしてVDBボリュームプリミティブを切り取ります。
VDB Morph SDF ソースとターゲットのSDF VDB間をブレンドします。
VDB Occulusion Mask VDBプリミティブに対してカメラから見て影となる部分にボクセルのマスクを作成します。
Verify BSDF 必要なインターフェースに準拠しているかBSDFを検証します。
Volume Rasterize Hair レンダリング向けにファーやヘアーをボリュームに変換します。