Created on | Updated on

【初心者向けHoudiniトライアル005】Houdini Engine for MayaでHoudini デジタルアセットを使用する

注意点

Apprentice で作成された Houdini デジタルアセットは Houdini Engine や Houdini Engine Indie で使用できません。Houdini内では使用できますが、Houdini Engineプラグインを通して他のツールで使用できるHoudiniデジタルアセットを作成することができません。

mceclip0.png

そのため、今回のチュートリアルでApprenticeを使用している方は、Houdini Engineを使用した部分は進めることができません。予めご了承ください。

デジタルアセットの作り方に関しては、「【初心者向けHoudiniトライアル004】HoudiniデジタルアセットをHoudiniで使用するアレコレ」をご確認ください。

使用するデータのダウンロード

商用版(HoudiniFX/Core)の方はこちらからデジタルアセットをダウンロード

※前回までに作成したデジタルアセットで、2つ目のRemeshが非常に広い範囲だと計算にかなり時間がかかることがわかりました。そのため、2つ目のRemeshを削除しています。

使用するHoudiniバージョン

Houdini 18.0.460

Houdini Engineプラグイン

前回の説明でHoudiniデジタルアセットを説明しました!

このHoudiniデジタルアセット自体はHoudini内で使用することがもちろんできますが、UnityやUnrealのようなゲームエンジン上、またはMayaや3dsMaxのようなDCCツール内で、このアセットをプラグインのように使いたいと思います。

これを実現するのがHoudini Engineという技術です。Houdini Engineは誰でも他のアプリケーションのためにプラグインを書くことを可能にするAPIです。現在、SideFXからはUnreal、Unity、Maya、3ds Max用プラグインが提供されています。

mceclip0.png

Houdini Engineのインストール

Houdini Engineプラグインのインストーラーは、Houdini本体のインストーラーと同じです。

Houdini本体インストーラーを実行し、途中でどのHoudini Engineプラグインをインストールするかをチェックします。

mceclip1.png

今回はHoudini Engine for Mayaで、Houdiniデジタルアセットを使用する方法を試してみましょう。

Houdini Engine for Maya ドキュメント

Houdini Engine for Maya

 

Houdini Engine for Mayaが正しくロードされているか確認する

基本的にはインストール後、MayaのプラグインマネージャーでHoudini Engine for Mayaをロードする事で使用できるようになります。

mceclip4.png

Houdini Engine がサポートしているMaya前バージョンのプラグインはHoudiniインストールディレクトリ\engine\maya内に保存されています。(デフォルト:C:\Program Files\Side Effects Software\Houdini 18.0.460\engine\maya)

通常、Maya がデフォルトの場所にローカルにインストールされている場合、インストー ラはプラグインを Maya に登録するために必要な手順を実行します。しかし、別のバージョンの Maya を後からインストールした場合等、プラグインが自動的に Maya に登録されない場合があります。このような場合、プラグインを Maya に登録するための追加の手順が必要になることがあります。

デフォルトインストールでHoudini Engine がMayaに表示されない場合

Windowsなどでプラグインを登録するには、ファイルをコピーします。
例えば、Houdini18.0.416のMaya2019用プラグインをコピーする場合、下記のファイルを

C:\Program Files\Side Effects Software\Houdini 18.0.460\engine\maya\maya2019\houdiniEngine-maya2020

下記のディレクトリへコピーします。

C:\Program Files\Autodesk\Maya2019\modules

または、Linuxでは、下記ファイルを

/opt/hfs18.0.460/engine/maya/maya2020/houdiniEngine-maya2019

下記ディレクトリへコピーします。

/usr/autodesk/maya2019/modules

 

Mayaを起動し、Plug-ins Managerを開きます。
Houdini EngieのLoadedとAuto loadを有効にします。

mceclip1.png

メニューにHoudini Engieが追加されたことを確認します。
mceclip2.png

 

 Houdini デジタルアセットをMayaにロードする

  • Houdini Engine>Load Assetを選択します。
    mceclip3.png

  • 自分で作成したまたはダウンロードしたrope.hdaを選択しOpenボタンをクリックします。
    mceclip4.png

    Houdini デジタルアセットが読み込まれると、Attribute Editorが開き、そこにデジタルアセットのオプションが表示されます。

    mceclip5.png

    このデジタルアセットは2つの入力を必要とします。しかし、入力名がSub-Network Input #となっていてそれぞれ何が必要なのかわかりません。

    そこで、このアセットをHoudiniで開き、オプション名を変更したいと思います。

  • Outlinerを表示し、rope1を選択します。

  • Houdini EngineメニューからDebugging>View Assets in Houdiniを選択します。
    mceclip6.png

    Houdiniが起動すると、HDAが既に読み込まれていることがわかります。

    mceclip7.png

  • ropeジオメトリをダブルクリックして中に入ります。
    mceclip8.png

    入力にマウスのカーソルを合わせると、入力名がSub-Network Inpt #1になっていることがわかります。
    mceclip9.png

  • rope1 デジタルアセットをダブルクリックして中に入ります。

    下記のようになっており、Sub-Network Input #1は、ロープを巻き付ける断面を定義するグリッド、Sub-Network Input #2は、ロープを巻き付けるジオメトリノードを入力することがわかります。
    mceclip0.png

  • uキーを押して、rope デジタルアセットの外にでます。

  • ropeデジタルアセットを右クリックし表示されたメニューからType Propertiesを選択します。
    mceclip11.png

  • Type Propertiesウィンドウが開いたら、Input/Outputタブを選択してください。

    mceclip12.png

    ここで、各入力にLabelを設定することができます。
    下記のように名前を変更してください。

    mceclip13.png

  • 名前を変更で来たら、Applyボタンをクリックします。
    クリックすると、下記のような注意が表示されます。

    mceclip14.png

    現在、デジタルアセットが変更できないようにロックがかかっています。

  • Unlock and Saveをクリックして、Type Propertiesウィンドウの変更を保存します。

    Unlock and Saveを押すことで入力名の変更が保存され、デジタルアセットも編集可能な状態にロックが解除されました。

    mceclip15.png

  • Acceptボタンをクリックし、Type Propertiesウィンドウを閉じてください。

  • 更にデジタルアセットの中身を変更します。

  • Cleanの後にNormalノードを追加して、ノーマルをジオメトリに追加します。

    mceclip0.png

  • uキーを押して、ネットワークを上がり、デジタルアセット上で右クリックします。

  • Save Node Typeを選択し、デジタルアセットの変更を保存します。

    mceclip1.png

  • Mayaに戻り、rope1を選択します。

  • Houdini Engine>Reload Assetを選択します。
    mceclip16.png

  • そのままUIは更新されないため、rope1の選択を解除し、再度選択します。

    入力名が無事更新されていることがわかります。
    mceclip17.png

デジタルアセットの入力にMayaジオメトリを設定する

実際にMayaのジオメトリにHoudiniデジタルアセットを使用して、ロープを設定してみます。

  • Mayaで下記のようにロープを設置したいジオメトリ(1つに統合する必要があります)と、ロープを設置する場所を決めるプレーンを作成します。

    この時に、ロープを設置するオブジェクト全体を囲んだ空間があまりにも大きいとRemeshにとても時間がかかります。

    mceclip3.png

  • ropeデジタルアセットのAttribute Editorを開きます。

  • Outlinerからマウスの中ボタンを使用し、ロープを設置したいジオメトリへドラッグします。

  • Enterキーを押し確定します。

  • 次にOutlinerからマウスの中ボタンを使用し、プレーンをドラッグします。

    mceclip5.png

  • ドラッグしたら、Enterキーを押してください。
    Cookが始まり、画面下に計算中であるスライダーが表示されます。
    mceclip6.png

  • クックが完了すると下記のようにロープが作成されます。
    mceclip7.png

  • ロープが細いのでRope RadiusやDivide Lengthを調整しRopeの外観を修正してください。
    mceclip8.png

    もしパラメーターの最大値を変更したい場合は、Debbug ModeでHoudiniでアセットを開きType Propertiesウィンドウにてパラメーター設定を変更することができます。

    mceclip9.png

    但し、この状態はHoudini デジタルアセットの結果を計算し生成しています。そのため、シーンを保存し、再度開きなおすと、Ropeデジタルアセットが再計算されます。
    再計算が必要になるということは、HoudiniEngineのライセンスが必要になるため、ライセンスがない場所では開けなくなります。

    そのため、ここで形状が固まったら、ropeアセットをデジタルアセットから切り離す必要があります。

Bake Asset、Freeze Asset、Delete Historyに関して

Houdini Engineのメニューをみると、Bake、Freezeなどいくつかのメニューがあります。

現在のデジタルアセットの構造は下記のようになっています。

mceclip10.png

Bake Asset

アセットのすべての出力が切断され、子ノードがhoudiniAssetノードから分離されます。

mceclip11.png

  • Houdini デジタルアセットを選択し、Baks Assetを実行します。

    mceclip12.png

    現在のデジタルアセットから分離したMayaジオメトリとしてropeデータ作成されました。この場合、元のHoudini デジタルアセットノートは残っているため、そのまま新しい設定を適用することも可能です。

Freeze Asset

アセットをフリーズすることで、アセットの出力をキャッシュし、エンジンでのアセットのロードとクッキングを無効にすることができます。これにより、フリーズしたアセットを持つMayaシーンをhoudini以外のアーティストに渡すことができ、そのアーティストはエンジンのライセンスを取得することなく、シーンをロードしてhoudini以外の部分で操作することができます。

  • Houdini デジタルアセットを選択し、Houdini Engine > Freeze Assetを実行します。

    mceclip13.png

    新しいデータが作成されるわけではありません。クックできないようになっているため、デジタルアセットのパラメーターも変更することはできません。
    ただし、シーンを保存して、再度開きなおすときクックが行われないためシーンを開くことにかかる時間を短くすることができます。

    また、Houdini Engineライセンスが取得できない環境で開く必要がある場合、Freezeしておくとデータを壊さず開くことができます。

  • Houdini Engine > Unfreeze Assetを選択します。
    再度クックされ、パラメーターの変更が可能になります。

    Bakeしたジオメトリは再度Houdiniデジタルアセットに戻すことはできませんが、Freezeは、再度Houdini Engineでクックされる状態に戻すことができます。

History

一部のアセットは、Maya コンストラクション ヒストリーとして直接ネットワーク接続できるようになりました。SOP アセットはメッシュのコンストラクション ヒストリーに適しており、オブジェクト アセットはより複雑な出力が可能です。

Houdini デジタルアセットをノードエディタで確認すると、下記のように入力と出力をネットワークとしてみることができます。

mceclip14.png

入力を変えたい場合、Attribute Editorから接続を行うこともできますし、ノードエディタにて接続を変更することも可能です。

Delete History

通常のMaya Delete Historyは、

Maya標準のDelete Historyを実行する前はこのような感じです。
mceclip15.png

Delete Historyを行うと、Shapeノードのin Meshの入力は削除されますが、それ以外の接続が残るため、ヒストリー全体を削除することができません。

mceclip16.png

  • Houdini Engine > Delete Historyを実行します。

    Shapeに接続されていた、Houdini Engineノードがヒストリーとして削除され、Mayaジオメトリノードのみになります。

    mceclip17.png

    Bakeとは異なり、Houdini デジタルアセットが、シーンから削除されます。

    mceclip18.png

このレッスンではHoudiniデジタルアセットをMayaプラグインのように使用し、最終的にHoudiniから切り離す方法を学習しました!

次回からは、異なるレッスンを始めたいと思います。

問題が解決しない場合は、Born Digital サポートまでお問い合わせ下さい。

サポート問い合わせ