【VR,OculusGo,Unity】素人がメッシュカットについて実際に触って理解する Part1
数学知識ほぼない自分でもメッシュカットについて理解し、OculusGoで気持ちよく切ることができるようになるのだろうか。
メッシュカットについて理解する
参考記事
実践
記事にあるようにまず3Dのモデルの最小構成は1ポリゴンメッシュなるものを作る。
ポリゴンメッシュってなんだ。
- 3Dで新規プロジェクト作成
- Create Emptyでオブジェクト作成
- 1の参考記事のスクリプトを作成したオブジェクトにアタッチ
- 実行
4で実行するとピンクの一枚の三角ができた。
カメラで回転すると薄い。
横から見るとただの薄っぺらい三角板。
わからないこと
わからないことを羅列してみる。
- MeshRenderer(Component)
- MeshFilter(Component)
- mesh.vertices(Meshクラス)
- mesh.triangles(Meshクラス)
いじって見た
1の参考記事で頂点数を変え、triangleを増やすと色々な形ができるらしい。
2の参考記事を見ながらQuadなるものを作った。
- _vertices頂点を3つから4つに
_vertices = new Vector3[]{ new Vector3 ( 0.0f, 5.0f , 0.0f), new Vector3 ( 5.0f, 0.0f , 0.0f), new Vector3 (-5.0f, 0.0f , 0.0f), new Vector3 ( 0.0f,-5.0f , 0.0f), };
- trianglesを増やす
var triangles = new int[]{ 0,1,2, 2,1,3 };
- Materialを入れる
- _vertices変更
_vertices = new Vector3[]{ new Vector3 ( 0.0f, 5.0f , 0.0f), new Vector3 ( 5.0f, 0.0f , 0.0f), new Vector3 (-5.0f, 0.0f , 0.0f), new Vector3 ( 0.0f, 0.0f , 5.0f), };
わかったこと
vertices
頂点の座標,Vector3。これはわかりやすい。
Triangers
trianglesで2つのポリゴンを作るときのルールがややこしすぎる。
0,1,2,2,1,3ってなんだ。
trianglesのIndex(頂点インデックス)について
- ポリゴンを定義する
- 配列上での頂点のインデックスを3つずつ並べて指定
- 時計回りor反時計回りでポリゴンの裏or表が決まる
時計回り?面裏?わからん。しかし、1ポリゴンは三角というのはわかった。
trianglesの裏
trianglesの裏はmaterialを入れていても表示されない。
MeshFilter
Meshにtrianglesやverticesなどの情報を入れてから、最後にMeshFilter.meshにMeshを代入して表示されるようになる。
Mesh
MeshFilterにおくる情報?
まとめ、感想
メッシュカットについて全く進んでいないが、ポリゴンメッシュについて理解がだいぶ深まった。