2021年6月24日木曜日

CUPCAKE PROJECT | MODELING AND LOOKDEV 3 | Icing メモ

 https://www.sidefx.com/tutorials/cupcake-project-modeling-and-lookdev/


チュートリアルを最後までやるとできるもの










まずは螺旋を作る

「Line」と「Add」を作る








「Transform」で「Add」で作ったポイントをX軸にそって少しずらす






「Resample」でポイントを増やす

またCurve U attributeを作っておく

※Curve Uはスタートポインとエンドポイントの間で0~1の範囲で値を割り振ってくれる






「Copy stamp」でポイントを螺旋状に配置する

螺旋状にするには『Transform Cumulative』のチェックを外し

Rotate Yに「16*@ptnum」を記入する






「Add」でポイントをつないでポリゴンを作る






上から下に向かってだんだん広がる螺旋にしたいので

「Line」で作ったポイントのpscaleに偏よりをつける

その前に螺旋の半径をカップケーキの半径に合わせる

カップケーキを作る時に使った「Circle」の半径を「Transform」の値をあわせる

その時ちょっと小さくする











次に「Attribute wrangle」に作る

「@P.y = chramp("y" , @curveu);」を書いて、Rampを調整する

curveuはスタートとエンドポイント間で0~1に割り振られているので、それを高さに変換して、Rampで偏りをつける






さらに以下のようにVEXを書き変える

「@P.y = chramp("y" , @curveu) * ch("h");」






次に以下のようなVEXを書く

「@pscale = chramp("ps" , @curveu);」

psacleにcurveuを使って偏りを作る






次に今作ったものをガイドにして、クリーム部分をチューブで作る

カップケーキを作るのに使った「Circle」をコピーしてもってくる






「Circle」「Transform」を調整する






「Sweep」でクリームを作る






調整してクリームっぽくする






「Sweep」のRotationで捻る






「VDB form polygon」でVDB化して、「VDB smooth」で滑らかにする






クリームをカップケーキの上に配置する準備をする

カップケーキの高さを決めたLineの下に「Null」を作って名前を

「OUT_main_curve」にする






「Objcet merge」で先程作ったNullを持ってくる






「Copy to points」でクリームを配置する

Target pointsはtopにする






「Convert VDB」でVDBをメッシュ化する






カップケーキをCurvertureを使って色をつけた3つのノードをコピーして持ってきて調整

3色作る











「Switch」で3つをまとめる

またカップケーキのSwitchからCopy parameterで値をリンクさせる






カップケーキと包み紙とMergeする

位置を「Transform」で調整する






「Group」で『icinig』を作る






「Group delete」でいらないgroupを消す






以上で3|icingは終わり

次は4|Toppings

2021年5月30日日曜日

CUPCAKE PROJECT | MODELING AND LOOKDEV 2 | Paper Wrapping メモ

 https://www.sidefx.com/tutorials/cupcake-project-modeling-and-lookdev/


カップケーキの外側の入れ物を作る

カップケーキを作る途中の「Sweep」の下にノードを作る

●ノードはAlt押しながらクリック


「Group」で上面だけを選択して、topと名付ける






「Blast」で先程のtopグループを消す






「Clip」で上をちょっと消す






カップケーキに使った「Bend」をコピーして持ってくる






Peak」でちょっと広げる

※「Peak」は法線方向にプリミティブ/ポイント/エッジ/ブレークポイントを移動するらしい







「Merge」でカップケーキとくっつける







このままだと包み紙のTaperの高さが合わないので調整する







「Null」を作って、名前を『SIZE』にする







「Bend」の『Capture』の『Capture Length』のスクリプトを以下に変えて

バウンディングボックスの高さの値を取得する

bbox("../SIZE",D_YMAX)

※Hスクリプト「bbox







「Bend」の『Squish』でちょっと凹ませる

『Mode』を『Smooth』にする







「Color」で色をつける







包み紙のUVを作る

先程作った「Merge」は消す

「UV Project」でUVを作って、「UV quick shade」で確認する







確認できたら「UV quick shade」を消して、「Color」の色を変える







ROPでマテリアルのアサイン先を指定するために「Group」ノードをそれぞれ作る








ROPでアトリビュートをランダムにするために「Attribute wrangle」を作る







「Merge」でケーキと包み紙をくっつける







ただこれだと包み紙がフィットしないので調整する

「Ray」で包み紙をケーキにはりつける







「Mask from geometry」でケーキと包み紙が接触するところのマスクを作る

「Mask from geometry」は「Distance from geometry」内の設定をあらかじめ変えたもの







「Attribute VOP」で貼り付けたものとマスクをとったものをミックスする

「Import point attribute」で「Attribute VOP」の2番めに挿した、貼り付けたジオメトリのポイントをとってくる

「Mix」でマスクをとったジオメトリと、貼り付けたジオメトリをミックスする

「Bind」で『mask』アトリビュートをとってきて、それを「Mix」の『Bias』にさす

「Mix」の結果を『P』にさす







ここでやっているのは、「Mix」の『Bias』の値をmaskアトリビュートを使って操作している

『Bias』は「Attribute VOP」の1番目と2番目にさしたジオメトリのポイントを0~1でどっち寄りにするかを決める

先程作ったmaskアトリビュートは、めり込みやすいところの値が大きくなっている

なので『Bias』にさすと、めり込みやすいところは「Ray」で貼り付けたジオメトリのポイントになる







「Peak」でちょっと広げる







「Normal」でエッジを立てる







これで2は終わり

次は上にのせるアイシングを作る