ContractionツイートツイートVellumを使用した拘束のアプローチを紹介します。手がけてきた作品は数々の賞を受賞している。Silla(mum)』など。Komura(CGWORLD)Contraction今回は、Vellumの中でも少しイレギュラーなアプローチを解説していきたいと思います。「Contraction」とは「収縮」を意味します。Vellumは、場合によってはConstraintのRestlengthを変えることで、Point間の拘束距離の調整は簡単にできますが、今回取り扱う内部構造をもつようなものに対しては、それだけだと上手くいきません。今回紹介するのは、収縮を行うための基礎的な知識を学んでもらうためのアプローチですが、表現のために少々複雑な手順を踏んでいます。収縮のために必要なフローはわずかですが、それを使ってVellumのシミュレーションに命を吹き込むためには、SOPによるセッティングが重要になってきます。DOP内でのセッティングも重要になりますので、その大きな2つのポイントをしっかりと押さえていただければと思います。Vellum自体の扱いは非常に簡単ですが、それだけでは面白いものを作るのはやはり難しいので、SOPによる補足が必要不可欠です。Setupベースジオメトリのセットアップを解説します。Vellumに渡すためのベースジオメトリを作成します。元となるジオメトリを読み込みます【A】【1】。これをVDB【B】を使って、簡略化したジオメトリに変換します【2】。SOP【C】でリメッシュします【3】。SOP【D】を使い、変形させるエリアをペイントします【4】。同様に何パターンかの変形をさせるためのペイントをします【E】【5】。今回は、底の部分と触手の左右それぞれをペイントしています。続いて、Normalを作成していきます。SOP【F】を使ってコームしていきます【6】。SOP【G】を使ってTangent方向のNormalを作成し、それを利用します【7】。次に、POPを使って触手それぞれの変形を切り替えるためのParticleを作り、スイッチ用のAttributeを作成します【H】。これは、変化から次の変化までをAgeを使って値を作りたかったため、簡単にこのようなかたちにしていますが、切り替えさえできればこのフローは何でも問題ありません。色を使って触手を可視化すると、切り替えができていることが確認できます【8】。これらを利用して、VOP【I】でNormalをスイッチ【J】していきます。ペイントしたエリアにNormalが入るようにして、Attributeを利用した切り替えを行なっています。このNormalを"materialW"というVectorに変換します【K】。このAttributeは後々VellumのConstraintを作成する際に使用します【9】。SOP【L】を使って、レゾリューションを決定します。この際、形状が崩れる可能性もあるので、VOP【M】で元の形状にフィットするように設定します。SOP【N】を使って、Tetrahedronへ変換します。最後に、作成した"materialX"などのAttributeを移行して完了です【O】。FlowVellumのフローを解説します。SOP【A】を使ってレイアウトします。この際に、idなど、それぞれを切り分けられるAttributeをつけておくと便利です【1】。Constraintからを使ってConstraintを作成します。Edgeを使ってTetrahedronのEdgeから距離を保つためのConstraintへ変換します【B】。Volumeで、Tetrahedronの体積を維持するためのConstraintを作成します【C】。Fiberを使って、各Point上に作成した"materialW"の方向に沿って伸縮するためのConstraintを作成します【D】。Solver【E】を使ってシミュレーションします。この際に、Null【F】を挟んで置くことで、後々のセッティングを楽にします。DOP【G】を使用して、ConstraintGeometryに対して、AttributeをCopyしてきます【H】。CopyするAttributeは、"materialW"によって生成された、restvector【2】というもので、これが伸縮する方向になります。Geometry【3】に指定することで、Constraintのジオメトリに対して処理を行うことができます。FiberのConstraintに対して、Stiffnessの値を調整します。PathでAttributeを読み込むTargetを指定します【4】。することで、直接SOPからAttributeを読み込むことができます。これによって、VEXPessionでAttributeから計算することが可能になります【5】。最後に、キャッシュしたVellumのシミュレーション【6】を使って、ディテールアップのフローを作成します。SOP【J】を使って、元々のジオメトリをシミュレーションに沿って変形させます【7】。これですべてのフローの完了です。ContractionVellumを使用した拘束のアプローチを紹介します。VellumVellumを使用した拘束のアプローチを紹介します。PeelingVellumを使用したピーリングエフェクトを紹介します。Fluid低コストなFluidの使用方法を解説します。DeformVolumeを変形してディテールを追加する方法を紹介します。Solverを分解して検証します。AdvectionFluidの流れを可視化します。SmokeSmokeのセットアップを解説します。MaterialMaterialをゼロから作成します。MantraMantraの詳細を紹介します。PackPackを発生させてParticleのように制御します。VolumeVolumeを用いてParticleを制御します。FracturePackを利用して破片を制御します。BranchParticleを利用して分岐を生成します。ParticleDOPを使ってParticleを生成します。StrokeVDBを使ってSDFモデリングを構築します。DirectionPolygonに方向をもたせてラインを生成します。ConnectVOPを使って新しいPrimitiveを作成します。CompileCompileを利用したメモリの節約手法を検証します。Clip今回は、前回紹介したForによるくり返しを利用して、複数の質感をもつ彫刻のようなモデルのつくり方を解説します。VOPくり返しを利用したエフェクトを解説します。UVプロシージャルモデリングの基礎を解説します。LineLineエフェクトのアプローチ方法を紹介します。FIX!森田悠揮氏、マーザ・アニメーションプラネット、カヤック、ユニティ・テクノロジーズ・ジャパン合同会社、萌、SNKの登壇が決定。...2019/12/28ニュース【CGWORLDゼミ】2月2日(日)オレンジによる『BEASTARS』アニメCGメイキングセミナーの開催が決定。山下大輔氏がアプライドのクリエイター向けPCをレビュー。現在は主にMAYAで静止画を作成してますが、これからは動画等にもチャレンジしてきたいと思っています。