指定した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に設定して現在のアトリビュートに追加

AttributeRandomize(Attibuteに様々なアルゴリズムでランダムな値を与えられる)

Attributeを作成して様々なアルゴリズムでランダムな値を与えられる 例えばgridの次にAttributeRandomizeを繋げると 下記のようになる Attribute Class どのエレメントに属性を追加するのか? Attribute Name アトリビュートの名前 Operation SetValueは新し…

AttributeWrangle(VEXを書ける)

VEXは基本的にWrangleオペレーターに記述する。 Wrangleは3つ種類があって ・pointWrangle(ポイント) ・primitiveWrangle(プリミティブ) ・vertexWrangle(バーテックス) と エレメントの種類によって記述するオペレーターが違うとりあえずWrangleは4つ入力す…

AttributeCreate(Attribute作成の最も一般的なノード)

Attribute作成の最も一般的なノード 基本的なノードの説明は下記になります。 基本的にDefaultの値がAttributeに入る もしgroupを指定した場合はgroupに指定したAttributeだけ 一番下のValueという値を入れた値が適用される そこに値を入れるにはWhite Value…

Marker(Attributeの値をシーンビューに表示)

マーカーというのはAttributeの値をそのままシーンビューに出してくれる機能 シーンビューの右下にあるピン?っぽいアイコンを右クリックして Sceneの+を押すと色々出てくるけどMarkerを選ぶ とEdit VisualizerというWindowが出てくるので 例えばCdの値をシ…

GeometrySpreadsheet内での検索

View AttributeのON / OFF 検索フォルター 右側のAttributesって場所に検索ワードを記述 ワイルドカード(全て選択) まず「 * 」アスタリスク(ワイルドカードとも呼ぶ) これは全ての選択という意味で使われる 例えば「C*」と打ち込むとC以降はどんな文字が入…

Attributeのデータ型

AttributeCreate > Typeでは下記のデータ型が指定出来ます。 ・Float(実数) ・Integer(整数) ・Vector(ベクター4) ・String(文字列) ・Float Array(実数配列) ・Integer Array(整数配列) ・String Array(文字列配列)

Attributeの追加

Attributeを追加するには色んな方法がある1つ目 「color」や「normal」といったそのAttributeの専門のノードを繋げる (シンプルで分かりやすい) 2つ目 「AttributeCreate」を繋げて Attributeの名前、型、値をそれぞれ入力する 3つ目 「Point -Old」を繋げて…

Attributeとは , Attributeの名前

Attributeとは 日本語で属性という(shaderの頂点属性と同じイメージ) Point Primitive Vertex がそれぞれ持つことができるデータAttributeの名前 Attributeの種類は複数存在するCd (ColorDifuse)P (Position)N (Normal)ptnum (PointNumber)primnum (Primitiv…

GroupCopy(同じ番号でGroupをコピー)

Point , Primitiveなどを同じ番号でコピー 第一inputはコピーするオブジェクトを入力 第二inputはコピーされるオブジェクト(Group)を入力

GroupTransfer(Groupを転送)

GroupTransferの第一inputは転送するオブジェクトを入力 第二inputは転送されるオブジェクト(Group)を入力 GroupTransfer > PointGroups (転送するGroupを指定) GroupTransfer > DistanceThresholdは距離(値を上げると遠くても転送される)

GroupPaint(ペイントでGroupを指定)

ペイントによってGroupを作成 シーンビューの左側にある下記アイコンをonにして塗る シーンビューShiftを押しながらドラッグするとブラシサイズの調整GroupPaint > Operation > AddPointsでポイントを追加 GroupPaint > Operation > RemovePointsでポイント…

GroupDelete(Groupを削除)

削除したいGroupを指定(エクスプレッションを使って削除する事も可能)

GroupRename(Group名を変更)

GroupRename > Group (名前を変更したいグループ) GroupRename > NewName (新しく適用する名前を指定) 下記だと「group1」を「A」に変更

GeometryCombine(Group同士をCombineさせて足したり引いたり出来る)

Group同士をCombineさせて足したり引いたり出来る Combineの方法は下記の4つで指定出来る Union(もしくは) Intersect(尚且つ) Exclusive(交差してる部分は排除) Subtraction(減算)Groupは直列で下記のように繋げる

GeometryFilter(タイプの指定)

NURBSとかBezierとかタイプを指定してそのタイプだけを選択する事が可能

UnSharedEdged(Edgeをシェアしてない(オブジェクトの端)のエレメントをGroup化)

Group > Include by Edges > Enable にチェックを入れる Group > Include by Edges > UnSharedEdged にチェックを入れる 下記はPoint or Edgeを選択(分かりやすいようにColorを入れてる) 下記はPrimitiveを選択(分かりやすいようにColorを入れてる) ちなみに…

EdgeDepth(指定したPointからの距離に応じてGroup化)

Pointのみ 指定したPointからの距離に応じてGroup化 group > include by Edge > EdgeDepthにチェックを入れて PointGroupにPoint番号 or Groupを指定する Edge Depthの値を上げると指定したPointから遠くも選択される 下記は分かりやすくColorを入れている

Min / MAX EdgeAngle(エッジの角度に応じてgroup化)

Min Edge Angleはprimitiveかedgeで使える group > group type > Edgeにする group > include by Edge > Enableにチェック group > include by Edge > Min Edge Angleにチェック Min Edge Angleは(値より大きい角度のEdgeをグループ化) Edgeは共有しているPr…

Min / MAX EdgeLength(エッジの距離に応じてgroup化)

group > group type > Edgeにする group > include by Edge > Enableにチェック group > include by Edge > Min Edge Lengthにチェック Min Edge Lengthは(値より長いものをグループ化) Max Edge Lengthは(値より短いものをグループ化)

GeometrySpreadSheetでgroupの確認

Pointの確認 例えばgridの次にgrouprangeを繋げて groupTypeをPoint RangeFilterを2/1で選択する。 GeometrySpreadSheetでPointの部分を確認すると groupという項目が出来てる 1はgroupに指定されている 0はgroupに指定されていない Primitiveの確認 Geometr…