0
我試圖通過僅使用頂點和麪創建網格來以編程方式創建一個gameObject。 GameObject被創建,但我看不到任何顯示。我已經搜索了這個問題,但還沒有找到任何滿意的答案。我還有另一個問題,即我知道面部中的頂點應該是順時針方向的,但這是什麼意思?例如,假設我有一個頂點索引爲5,6,7的面,那麼我是否首先訪問頂點數組並檢查每個頂點所在的位置,並按順時針方向將它們的索引排列在faces數組中?也許我在這裏出錯了,但我嘗試過以各種方式在'Faces'數組中排列頂點索引,但它仍然不起作用。以編程方式顯示GameObject的問題Unity C#
// Vertices is a double array
mesh.vertices = Vertices.ToArray();
// Faces is an int array
mesh.triangles = Faces.ToArray();
mesh.RecalculateNormals();
mesh.RecalculateBounds();
mesh.name = "Imported Model";
model = new GameObject("Model");
MeshFilter meshFilter = model.AddComponent<MeshFilter>();
meshFilter.mesh = mesh;
model.AddComponent(typeof(MeshRenderer));
在此先感謝。
_「順時針方向,但這意味着什麼?」_ - 它用於構成臉部的頂點的卷繞順序。臉部只能從一側看到,而側面則由與3D引擎相關的收卷順序定義。如果你弄錯了,那麼它就不會從你期望的一面看到。例如地面可能只在你下面可見時纔可見 – MickyD
@MickyD我明白這一點。根據我的知識,Unity使用順時針方向的面。但爲了確定頂點的順時針順序,我是否需要知道頂點在三維空間中的位置,還是我可以假設頂點的升序是順時針方向? – collosalkid
不,因爲在確定定義一個人臉的頂點索引時,你從一個_single face_的角度來看這樣做,根據定義,** flat **從本質上將問題簡化爲2D。指定索引時,假設您正在從臉部正常方向看臉部。所以如果這是一個立方體,你會重複這個操作6次 – MickyD