![見出し画像](https://assets.st-note.com/production/uploads/images/110158553/rectangle_large_type_2_a830a3f9f0e0c71ec61cfd231ab58fd0.jpeg?width=800)
凸包でダイヤモンドを作ってみよう
- 「NeosモデリングClub」とは、VRで初めてモデリングやLogiXに触ってみる方向けの遊びながら仕組みを学ぶユーザーイベント
VRSNS NeosVRで開催していました(2023年に閉幕)
キーワード
BakeMesh
Convex hull(凸包)
CircleMesh
DualSideMetaric
Refract
ShadowCastMode
Convex hull(凸包)とは
Convex hull(凸包)とは与えられた点をすべて含んでいる最小の凸多角形
へこみのない袋に包んだような形状です
![](https://assets.st-note.com/img/1688688234248-atWF3vdwUZ.jpg?width=800)
凸包のやり方
ObjectをBakeMesh
まず、結びたい頂点をひとつのMeshにまとめます
原点の位置を調整したい場合は、原点用のスロットを作り(親のスロット)Rotationをリセットした後に、Objectの位置を調整します
(グローバル軸を綺麗にすると軸のブレがなくなります)
![](https://assets.st-note.com/img/1688688775568-rBouwcgRhH.png?width=800)
GlueTipをMode:BakeMeshesに切り替え(コンテキストメニューから)
Bakeしたいスロットをグラブしてセカンダリーを押すとBakeされます
![](https://assets.st-note.com/img/1688689199071-fTODSyHuoN.png?width=800)
![](https://assets.st-note.com/img/1688689218854-D5DCwP5qnH.png?width=800)
![](https://assets.st-note.com/img/1688689334753-WtQyduQD21.png?width=800)
凸包する
Meshのインスペクターを開く
(ここでコライダーがなくなっている場合は、Objectの中心あたりでセカンダリーを押すとギズモが出ます
インスペクターが開けたらコライダーをアタッチしてください)
![](https://assets.st-note.com/img/1688689535207-N9FTrhBPf9.png?width=800)
Convex hull(凸包)に変換 ボタンを押す
形状をはっきりさせたいときはフラットシェーディングにする ボタンを押す
![](https://assets.st-note.com/img/1688689624116-iv5x58P4bo.png?width=800)
![](https://assets.st-note.com/img/1688689726746-xZkoC1XwvC.png?width=800)
![](https://assets.st-note.com/img/1688689774296-MfJH3bw1wu.png?width=800)
ダイヤモンドを作る
![](https://assets.st-note.com/img/1688690285638-oGa8rL7Lbl.png?width=800)
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(凸包)に変換する ボタンを押します
一つ上の フラットシェーディングにする ボタンも押します
![](https://assets.st-note.com/img/1688692695857-3rtwidRqP5.png?width=800)
マテリアルを充てる
今回は二つのマテリアルを重ね掛けします
新規作成 → 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
![](https://assets.st-note.com/img/1688692894796-9Ell5uGWoM.png?width=800)
MeshRendererのMaterials(list)にAddでlistを作り
PBS DualSideMetaricのマテリアルオーブを掴んでレーザーでアタッチ
ShadowCastModeをOffにする
MeshRendererをDボタンで複製し、
PBS DualSideMetaricをRefractで上書き
ダイヤモンドの場合は反射が主なので、
![](https://assets.st-note.com/img/1688693852125-LxZBnJ2WIT.png?width=800)
ShadowCastModeをOffにすることによって影の描写を無くし、軽量化を狙います
動画 ダイジェスト
月曜日と木曜日 17時から1時間復習回を配信(凸OK)しています
応援よろしくお願いします!
この記事が気に入ったらサポートをしてみませんか?