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)のベクトルの方向の物(下記画像の右側から)を反対側(左側)にミラーしている
f:id:shinobigiken:20170723065219p:plain

f:id:shinobigiken:20170723065158p:plain

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

FromがRenameしたいAttributeの名前
ToがRenameした後のAttributeの名前を指定
(下記はtestをtest2にRenameしている)
f:id:shinobigiken:20170722165847p:plain

AttributeRename > DeleteAttributeは消したいAttributeを指定

AttributeDeleteでAttributeを削除

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

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

例えばGridの次にAttributeCreateでtestというAttributeを作る
その次にAttributePromoteを繋げる
AttributePromote > OriginalName(変更したいAttribute名)
AttributePromote > OriginalClass(変更したAttributeのクラスの指定)
AttributePromote > NewClass(新しいClassを指定)
AttributePromote > PromotionMethod(例えばpointからprimitiveに繋いだ場合Attributeの数が違うのでそういう場合にどうやって値を補完するのかを指定)
AttributePromote > Change New Name(Attributeの名前を変更したい場合はチェック入れる)
AttributePromote > DeleteOriginal(変更する前のAttrbuteを残しておくか、上書きするかを指定。デフォルトでは上書き(オン)になってる)

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

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

データ型の指定
そしてAttributeにアクセスする時に
@の前にデータ型を入れる
例えばtestというAttributeの場合
v@test
i@test
f@test
s@test
のようにデータ型を入れる。
これはそれぞれ
Vector
Int
Float
String
の型を指定している。
例えばtestがVector3の場合
@testと入れてもHoudini側はtestのデータ型が何かわからない
それをv@testと入れると、testはVector3なんだなと判定してくれる。