Houdini 20.0 Unity

アトリビュートのペイントと編集

On this page

Unityプラグインは、Unity内から編集可能なノードのアトリビュートをペイントしたり編集できる特別な組み込みツールを備えています。 これを使用すると、Unity内からアトリビュートレベルでアセットを操作することができます。

Note

プラグインがサポートするのは、 編集可能 なノードの Point アトリビュートのペイントと編集のみです。 現在のところ、ペイントと編集がサポートされているアトリビュートタイプは、 floatintstring です。 また、位置(P)アトリビュートは編集不可です。

ノードを編集可能にするには、HoudiniでアセットのEdit Operator Type PropertiesウィンドウのNodeセクションのEditable Nodesフィールドにそのノード名を追加してください。

HDAで Attribute Paint SOP を使用する場合は、Attribute Paint SOPノードを ロック解除 した状態でHDAを保存し、そのサブネット内のOutput0を編集可能なノードとして指定する必要があります(Editable Nodesフィールドにattribpaint1/output0を指定するなど)。

Unityで、 Asset Options セクションの Enable Editable Node Tools チェックボックスをオンにします。 これにより、ペイントと編集のツールのUIが表示されます。

Sceneビューにペイントと編集のツールのUIが表示されます。 アトリビュートをペイントまたは編集する際、表示されるジオメトリは、編集可能なノードの出力ジオメトリを表示するように切り替わります。

編集可能なノードの出力メッシュに頂点カラー(つまりCdアトリビュート)がない場合、ペイントツールが自動的に頂点カラーを追加することに注意してください。 これは、ペイント中の視覚化のために必要です。

複数の編集可能なノード

同じアセットネットワーク内にある複数の編集可能なノードを扱う場合は、特に注意が必要です。 編集可能なノードのアトリビュートがHoudiniにアップロードされると、そのノードはロックされ、その入力はもはやクックされなくなります。 このノード以降のクックは、上流の入力での変更を使用しなくなります。 そのため、複数の編集可能なノードが存在する場合、ネットワークの下流のノードに変更を適用すると、それらのノードはロックされ、上流の編集可能なノードからの入力を受け取れなくなります。 もう1つの問題は、変更を適用する順番も最終結果に影響する可能性があることです。 上流のノードには、下流のノードよりも先に変更を適用する必要があります。 そうしないと、上流の変更は無意味になってしまいます。View UIを使用すると、これらの問題を回避することができます。

Always Cook Inputs を使用すると、ノードをロック解除し、ローカルの変更を元に戻してから、上流の入力をクックし、その後ローカルアトリビュートの変更を適用することで、ロックを上書きすることができます。 これにより、ノードは常に最新の上流の入力を使用するようになります。

加えて、 Edit Order リストには、アセット内で見つかった編集可能なノードがリストされます。 このリストの表示は、編集が適用された順番(最初から最後まで)になっています。 上流ノードが下流ノードよりも上になるように、このリストを並び替える必要があります。 デフォルトでは、アセットを最初にロードする際、ノードは名前のアルファベット順に並べられます(firstEdit、secondEditなど)。 編集可能なノードに適切な名前を使用することで、Houdiniで編集順序を指定することができます。

アトリビュートのペイント

Paint Attributeツールを使用すると、編集可能なノードのジオメトリのサーフェス上に直接ペイントすることができます。 ブラシが触れる各ポイントのアトリビュート値は、そのPaint Attributeツールの設定に従って修正されます。

以下はPaint AttributeツールのUIの各フィールドの説明です:

ツール

説明

Editable Node

現在選択されている編集可能なノード。 編集可能なノードが複数ある場合、ペイントするノードを1つ選択することができます。 ペイント時に表示されるジオメトリは、選択された編集可能なノードの出力ジオメトリです。

Attribute

選択されている編集可能なノードの現在選択されているPointアトリビュート。 ペイントが作用するのはこのアトリビュートのみです。

Paint Values

ペイント時にアトリビュートに適用する値です。

Affected Area Color

単に視覚化を目的としたデバッグカラーで、ペイントされた領域を表示します。 マウスを離す度に、影響を受ける領域はリセットされます。

Cook On Mouse Release

ペイントを停止した後、アセットをクックするかどうかを決定します。 アセットによってはクックに長い時間がかかる場合があるため、操作性の向上のために自動クックをオフにすることができます。 オフにすると、ペイント後にマウスを離した際の自動クックが無効になります。 代わりに、ユーザは必要なときにいつでも手動で Recook Asset を呼び出すことができます。

Brush Size

ペイントするブラシの半径です。

Brush Opacity

HoudiniのPaintノードのOpacityフィールドと同様、これはペイントと元のアトリビュート値を統合する際のブレンド係数に影響します。

Merge Mode

HoudiniのPaintノードのOpacityフィールドと同様、これはペイントと元のアトリビュート値を統合する際のブレンド係数に影響します。

Replace

ブラシの不透明度に基づいて、元のアトリビュート値とペイント値をブレンドします。

Add

ペイント値を元のアトリビュート値に加算します。

Subtract

元のアトリビュート値からペイント値を減算します。

Multiply

ペイント値と元のアトリビュート値を乗算した結果を、ブラシの不透明度に基づいて、元のアトリビュート値にブレンドします。

Handle Color

ビューポートに表示される、ペイントブラシのハンドルのカラーです。

Fill

Merge ModeとBrush Opacityに基づいて、すべてのポイントにペイント値を適用します。

カラーアトリビュート

ペイントツールでは、カラーアトリビュート(Cd)の扱い方が特殊です。Unityで自動的にfloat配列(内部表現)からColorフィールドに変換されます。

ジオメトリに頂点カラーをペイントするには、Paint SOPをアセットネットワークに追加し、そのノード名をEditable Nodeフィールドに追加するだけです。 実際、Cdアトリビュートを持つすべての編集可能なノードで、頂点カラーをペイントすることができます。

アトリビュートの編集

Edit Attributeツールを使用すると、1つまたは複数のポイントを選択し、直接アトリビュート値を設定できます。ジオメトリの各ポイントは、選択可能な立方体として表示されます。それらの値を変更するには、 Selected Points Values フィールドに新しい値を入力します。

以下はEdit AttributeツールのUIの各フィールドの説明です:

ツール

説明

Editable Node

現在選択されている編集可能なノード。編集可能なノードが複数ある場合、編集するノードを1つ選択できます。

Attribute

選択されている編集可能なノードの現在選択されているPointアトリビュート。編集が作用するのはこのアトリビュートのみです。

Selected Points Values

編集時、アトリビュートに設定される値です。

Show Only Edit Geometry

オンの場合、現在編集可能なノードのジオメトリのみが表示されます。ポイントを簡単に選択できるようになります。

Pt Size

ポイントとして表示される立方体メッシュのサイズです。

Unselected Point Color

選択されていないポイントを表示するカラーです。

Selected Point Color

選択されているポイントを表示するカラーです。

NUmber of Selected Poits

HoudiniのPaintノードのOpacityフィールドと同様、これはペイントと元のアトリビュート値を統合する際のブレンド係数に影響します。

Select All

編集可能なノードのすべてのポイントを選択します。

Unity

はじめよう

プロジェクトのセットアップ

Houdini Engineを使用する

リファレンス