指定したGroup以外を選択

groupという名前のグループ以外を選択したい場合 !group と書く

HoudiniとCINEMA4DのFBX書き出しの違い

Houdini houdiniのcopyを使って増やしたオブジェクトをfbxで書き出すと、一つのオブジェクトとして書き出され アニメーションは頂点アニメーションとして書き出される。 unityでは頂点アニメーションはサポートされていないのでVertexAnimationTexture使わな…

houdiniでfbxを出力する際にキーフレームをベイクする方法

FBXExport設定で ValidFrameRange > ExportFramgeRangeに変える。

AttributeFadeでAttributeをフェードインフェードアウト

AttributeFade > Attributes > Fade(フェードさせたいAttribute名) AttributeFade > Timings > FrameOffset(何フレからフェードインさせるか) AttributeFade > Timings > FrameInFrames(何フレで最大値まで到達するか) AttributeFade > Timings > FrameIHold…

テクスチャを貼る

例えばGridの次にUVTextureノードを繋げて その次にMaterialノードを繋げる 左上のWindow > MaterialPalette > 左のWindowから右のWindowに好きなマテリアルを入れる 右のWindowに入れたマテリアルをクリックしてParameterの Texturesでテクスチャのディレク…

AttributeTransferで距離に応じてAttributeを転送する

例えば下記のようにGridとSphere両方にColorを繋げてAttributeTransferに繋げる AttributeTransfer > Conditions > Distanceの値で距離を調節出来る AttributeTransferの次にGroupを繋げて GroupType > Point BaseGroupに @Cd.x>0.5 と書くと赤い頂点だけGro…

AttributeFromMapで画像のデータをAttributeに写す

例えばgridの次にAttributeFromMapを繋げて AttributeFromMap > TextureMapにマイピクチャのペンギン画像を指定すると下記のようになる。これは画像から引っ張ってきた色情報を各頂点のCdに転写している。

AttributeCastでメモリを減らす

AttributeCast > Precisionでメモリの領域を指定出来る

AttributeSwapでAttributeを入れ替え,複製,名前の変更

AttributeSwap > Method > Swap(入れ替え) AttributeSwap > Method > Copy(複製) AttributeSwap > Method > Move(名前の変更)AttributeSwap > Class(クラスの指定)AttributeSwap > Source(変更したいAttributeを指定) AttributeSwap > Destination(変更後の…

AttributeMirror

AttributeをMirror出来る AttributeMirror > GroupType(Attributeのタイプを指定) AttributeMirror > Direction(ミラーする方向) 下記は(x.1,y.0,z.0)のベクトルの方向の物(下記画像の右側から)を反対側(左側)にミラーしている

AttributeRenameでAttributeの名前を変更(Deleteすることも可能)

FromがRenameしたいAttributeの名前 ToがRenameした後のAttributeの名前を指定 (下記はtestをtest2にRenameしている) AttributeRename > DeleteAttributeは消したいAttributeを指定

AttributeDeleteでAttributeを削除

いらないAttributeは重くなる可能性があるので消したほうがいい Groupを指定してAttributeを消したり *(全部) ?(一文字置き換え) ^(除く) などを使って消す事が可能

AttributePromoteでAttributeのクラスを変更(pointからprimitiveにとか変更出来る)

例えばGridの次にAttributeCreateでtestというAttributeを作る その次にAttributePromoteを繋げる AttributePromote > OriginalName(変更したいAttribute名) AttributePromote > OriginalClass(変更したAttributeのクラスの指定) AttributePromote > NewClas…

AttributeWrangleでAttributeにアクセス(データ型を指定してアクセス)

AttributeWrangleの指定 例えばまずgridの次にAttributeCreateでtestというAttributeを作る その次にAttributeWrangleを繋げて @P.y = @test; と入れるとP.yにtestの値が代入される。 これは@でP.yのAttributeにアクセスしてそこにtestのAttributeを代入して…

VOPでAttributeにアクセス

まずAttributeVOPを作って中に入りますBind(一番速い) とりあえずコレが一番ラク AttributeVOPの中にbindを入れて Nameを上書きしたいAttribute名にして Typeでデータ型を合わせるImportPointAttribute(番号を指定してアクセス出来る) Point,Primitive,Verte…

Expression(Hscript)でAttributeにアクセス

Hscriptを使ってAttributeにアクセスする方法 例えばGridの次にAttributeCreateを繋ぐ その次にPoint-Oldを繋げて Point-Old > Standard > Positionのxの値に point("../attribcreate1//",$PT,"P",0) と書く これはpointのAttributeにアクセスする関数だと思…

VOPでAttributeをSliderで制御

まずGridを繋いで次にAttributeCreateを繋げてPointにtestというAttributeを作りrand($PT)を入れる 次にAttributeVOPを繋げて ParameterとSetAttributeを作って GeometryVOPGlobalParametersのptnumをSetAttributeのi1に繋げる ParameterからSetAttributeのV…

@でAttributeにアクセスする

@の次にAttributeの名前でアクセスするtestというAttributeにアクセスしたい場合は@testスウィズル演算子 @Attribute.x @Attribute.y @Attribute.z比較演算子 , = , == , !=例えばGridの次にAttributeCreateを繋げて PointにFloatでrand($PT)というAttribute…

Smoothで値をスムーズにする

例えばGridの次にMountainを繋げて次にSmoothを繋げると下記のようになる Smooth > Attribute(どのAttributeにスムーズをかけるか) Smooth > Strength(スムーズの度合い)

AttributeRandomizeですでにあるAttributeの値を乱数にする

例えばAttributeCreateでtestというAttributeを作って 次にAttributeRandomizeを繋げる AttributeRandomize > AttributeNameをtest(AttributeCreateで作った名前と同じ)にする するとtestが乱数になる

AddでPoint番号順に繋げる

AddでPoint番号番号順に繋げると下記のようになる Add > Polygons > ByGroupにチェックを入れる Point順に繋がっているのが分かる

AddでPrimitiveを削除してPointだけ残す

Add > DeleteGeometry But Keep the Pointにチェックを入れる

SwitchでRandomに0と1を繰り返す

fit01(rand($F),0.0,1.0) fit01関数は 0から1に対してある数字の幅を設定する 例 fit01(0.5,0,360) だと0から360の間の0.5なので180を返す なので上記の場合0.0~1.0の間で乱数を返してくれる

AttributeVOPでAttributeを追加

AttributeVOPとはVOPを使ってAttributeをいじれるノードAttributeVOPを作ったらダブルクリックで中に入る Attributeを設定するには SettAttributeもしくはBindExportを使うか二択ある ちなみにヘルプにはBindのほうがスピードは速いと書いてあるBindExportの…

AttributeWrangle(VEXを書くノード)

AttributeWrangle VEXの短いコードを書くノード ちなみにAttributeCreateにVEXを書くことも出来るがAttributeWrangleのほうが圧倒的に高速。少ないポリゴンではわからないがポリゴン数が上がると実感出来るようになる PointWrangle PrimitiveWrangle VertexW…

AttributeCreateで既にあるAttributeの値を変える

例えばSphereを作ってその後に AttributeCreateを繋げて下記のように設定すると testというAttributeが出来て2が与えられる 次にもうひとつAttributeCreateを繋げて 下記のように同じAttribute名で設定すると上書きされる ちなみにここでGroupを設定すればそ…

NameでAttributeの名前を変える

例えばGridにBoxをCopyStampでCopyする CopyStamp > CreateOutputGroupsにチェックを入れてオブジェクトごとにgroupを振り分ける。 (上記の工程はRenameに直接関係は無い。Attributeを複数作る為にやっているだけ) (ここからRenameの作業) 次にNameを繋げる …

ConnectivityとPartitionを使ってオブジェクトごとに番号を振り分けて、番号ごとにGroupを振り分ける

ConnectivityとはAttributeを作成して繋がってる物を同じ番号に振り分けてくれる。 (ちなみに今回紹介する方法ではなくCopyStamp > CreateOutputGroupsにチェックを入れると一発でgroupが振り分けされる) 例えばboxをgridでcopyして下記のように作る その次…

Measure(primitiveの面積や周囲の長さに応じてAttributeとして追加してくれる)

メジャーノードはprimitiveの面積やprimitiveの周囲の長さ Attributeとして追加してくれる Measure > typeの設定で何のAttributeを追加するか決められる perimeter 周囲長 Area 面積 他の二つはちょい分からないのでパス 例えばprimitiveの面積によって何か…

AttributeRandomizeで頂点をランダムに動かす

Attribute Name アトリビュートの名前をP(各頂点の位置に設定) Operationを AddValueに設定して現在のアトリビュートに追加