SOP

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…

Non-Planar Polygon Tlerance(非平面ポリゴンだけ選択)

group > Non-Planar Polygon Tlerance にチェックを入れる スライダーは許容値(大きくすると範囲が狭くなる) 下記はmoutainでちょっとボコボコにしてるので全てのprimitiveが非平面になっている ちなみに非平面が多いオブジェクトに当てると下記のように

Backfacefrom(他のオブジェクトを参照してそのオブジェクトの角度によってgroup化される)

(他のオブジェクトを参照してそのオブジェクトの角度によってgroup化される) (参照したオブジェクトから光を当てるようなイメージで、その光が当たってる部分だけgroup化されるイメージ(下記はわかりやすくgroup化された所に色を付けている)) group > Keep b…

Normal(法線)の角度に応じてGroupを選択

group > Keep by Normals Enablesにチェックを入れて Directionで法線の角度を入れる 例えば下記だと(0,1,0)になっているので法線のベクトルが(0,1,0)の法線だけがグループ化される SpreadAngleは許容地でこの値を上げると範囲が広がる (0だとデフォルトの(0…

BoundingVolumeでGroupを選択

例えばsphereの次にisooffsetを繋ぐとボリュームになる そしてこれをgroupの第二inputに繋げて BoudingType > BoudingVolume isoSurface > 0.5 にするとVolumeがBoundingboxになる invertで選択してる部分を反転出来る

BoundingBoxでGroupを選択

groupノードのKeep in Boundin RegionsのEnableにチェックを入れる ちなみにBoundingTypeのタブでBoundingSphere選択も用意されている groupノードの第二inputにBoundingObjectにしたいsopを繋げる groupのparameterで GroupType > Point BoundingType > Bou…

GroupのMerge(マージとSubtructと交差)

例えばgridの次にgroupノードを付けて、group名をaにする その次にgroupノードを繋げてgroup名をaにする (同じグループ名じゃないとダメ) そして煮込めに付けたgroupのinitial Mergeで Replace(置き換え) Union(追加) intersect(交差) Subtruct(減算) が選べ…

Attributeの値を使ってGroup化

例えばGridの次にAttributeWrangleを繋いでRunOverをPointにする @Cd = noise(@P+@Time); と書くと下記のようにnoiseのColorが時間によって動きます。 その次にGroupを繋いでGroupTypeをPointにする (この時AttributeWrangleのRunOverとGroupのGroupTypeを同…

GroupExpression(Expressionを使ってGroupを指定)

Expressionを使って選択 例えば @P.y > 0 と書くと各頂点の位置のyが0以上の場合groupに入れる という事になる Attributeも選択出来る //@Cd[0]は@Cd.R,G,BのRだけを見てることになるので(0=R,1=G,2=B) //例えばgroupの前に頂点カラーでRの値が0.5以上の場所…

GroupRange(一個ずつ飛ばして選択とか二個ずつ飛ばして選択)

一個ずつ飛ばして選択とか二個ずつ飛ばして選択とかが楽に出来る