今回は、上画像の様にメッシュを変形変形させていきます。非常に簡単な内容となっているので、初学者の方も是非挑戦してみてください。こちらの記事は動画化もしております。動画の方がよい方は以下のリンクからどうぞ!

概要

上画像がプログラムの全体像となっております。各ブロックごとに説明していこうと思います。
球体メッシュ作成

- Mesh Sphereコンポーネントで球体のメッシュを作成します。中心は原点(0,0,0)、半径100、メッシュ数はuv方向47としています。
- Triangulateコンポーネントで四角形に分割されたメッシュを、三角形メッシュにします。
- Deconstruct Meshコンポーネントでメッシュを分割しておきます。
メッシュの頂点を移動

- Moveコンポーネントでメッシュの頂点を移動させていきます。Deconstruct Meshコンポーネントから取得できる頂点を接続します。
- Deconstruct Meshコンポーネントの出力端子Nから各メッシュの法線ベクトルが取得できます。Amplitudeコンポーネントでこの法線ベクトルの量を再設定していきます。
- List Lengthコンポーネントで法線ベクトルの数を取得します。
- Randomコンポーネントで法線ベクトルの数だけランダムな数値を作成します。ランダムな数値の範囲は適当に‐28~28としています。(Construct Domainコンポーネントの入力端子AにはExpressionで-xを入力しています)
- Rangeコンポーネントで取得したランダムな数値のリストをAmplitudeコンポーネントの入力端子Aに接続しま。法線ベクトルの量がランダムに再設定されました。
- Moveコンポーネントの入力端子Tに接続します。頂点が移動したかと思います。
- Construct Meshコンポーネントで移動した頂点を使ってメッシュを再度構築します。入力端子FにはDeconstruct Meshコンポーネントで分割したFaceを入力します。これでメッシュの変形が完成です。
色付け

- ついでに色付けしていきます。Deconstruct Meshコンポーネントで再構築したメッシュを再度分解します。
- Distanceコンポーネントで各頂点と球の中心との距離を取得します。
- Boundsコンポーネントで取得した距離の最小値~最大値までのドメインを取得しまます。
- Deconstruct Domainコンポーネントでドメインを分解し最小値と最大値を取得します。
- GradientコンポーネントでL0に最小値、L1に最大値を、tにDistanceを接続します。これで、変形した際に中心から遠いほどGradiateの右側の色に近づき、近ければ左側の色に近づきます。
- Mesh Colorコンポーネントで色付けして完成です。
以上になります。応用していろんな形状を試してみてください。