見出し画像

凸包でダイヤモンドを作ってみよう

- 「NeosモデリングClub」とは、VRで初めてモデリングやLogiXに触ってみる方向けの遊びながら仕組みを学ぶユーザーイベント
VRSNS NeosVRで開催していました(2023年に閉幕)


キーワード

  • BakeMesh

  • Convex hull(凸包)

  • CircleMesh

  • DualSideMetaric

  • Refract

  • ShadowCastMode

Convex hull(凸包)とは

Convex hull(凸包)とは与えられた点をすべて含んでいる最小の凸多角形
へこみのない袋に包んだような形状です

氷漬けにされたアバターたち(by berne(べるネ))

凸包のやり方

ObjectをBakeMesh

まず、結びたい頂点をひとつのMeshにまとめます
原点の位置を調整したい場合は、原点用のスロットを作り(親のスロット)Rotationをリセットした後に、Objectの位置を調整します
(グローバル軸を綺麗にすると軸のブレがなくなります)

DevToolTipでy軸をトリガーし、位置を調整

GlueTipをMode:BakeMeshesに切り替え(コンテキストメニューから)
Bakeしたいスロットをグラブしてセカンダリーを押すとBakeされます

Modeを切り替える
Slotを掴む
セカンダリーを押すとMeshが一つになる

凸包する

Meshのインスペクターを開く
ここでコライダーがなくなっている場合は、Objectの中心あたりでセカンダリーを押すとギズモが出ます
インスペクターが開けたらコライダーをアタッチしてください)

Meshの横の↑ボタンで開く

Convex hull(凸包)に変換 ボタンを押す
形状をはっきりさせたいときはフラットシェーディングにする ボタンを押す

Convex hullボタン
フラットシェーディングボタン
謎物体が生成される

ダイヤモンドを作る

頂点数を数える

CircleMeshを準備する

新規作成で空のオブジェクト(EmptyObject)を呼び出し、
Transform → ObjectRoot
Transform →Interaction → Grabbable
のコンポーネントをアタッチ

★で子のスロットを作成し、
Assets → Procedural Meshes → CircleMesh
Renderer → MeshRenderer (Meshの項目にCircleMeshを入れる)
Phisics → MeshCollider
のコンポーネントをアタッチ

CircleMeshの調整

1枚目
Segments 32 → 9
Radius 0.5 → 0.2

2枚目
Segments 17
Radius 0.3

3枚目
Segments そのまま
Radius 0

それぞれのMeshの高さをギズモで調整


余談ですが、8角形を作るときにSegmentsの数を8で作る場合は、
Arcの数値を8等分の45度引いた315にします
Arc360のままだと0番目と8番目の頂点が重なって7角形になるためです
(上記の場合は0番目と9番目の頂点を重ねて8角形にしています)


Bakeする

位置の調整が終わったら、GlueTipをMode:BakeMeshesに切り替え、
Bakeしたいスロットを掴んでセカンダリーを押します

凸包に変換

Meshのインスペクターを開き、Convex hull(凸包)に変換する ボタンを押します
一つ上の フラットシェーディングにする ボタンも押します

真っ黒いダイヤモンドができた

マテリアルを充てる

今回は二つのマテリアルを重ね掛けします

新規作成 → PBS → PBS DualSideMetaric
新規作成 → Filter → Refract

PBS DualSideMetaric
 Albedo Color Aの値を0に近く
 AlphaHandlingをAlpha Blendへ
 Culling Back
 Metaricを0~0.2
 Smoothnessを1に近く

Refract
 BlendMode Alpha
 Sideness double

DualsideMetaricなら反対側の描写もできる

MeshRendererのMaterials(list)にAddでlistを作り
PBS DualSideMetaricのマテリアルオーブを掴んでレーザーでアタッチ
ShadowCastModeをOffにする

MeshRendererをDボタンで複製し、
PBS DualSideMetaricをRefractで上書き


ダイヤモンドの場合は反射が主なので、

ShadowCastMode

ShadowCastModeをOffにすることによって影の描写を無くし、軽量化を狙います


動画 ダイジェスト

月曜日と木曜日 17時から1時間復習回を配信(凸OK)しています
応援よろしくお願いします!

この記事が気に入ったらサポートをしてみませんか?