1.創建一個圓柱
62:等於邊上6條線 每個線上10個點 + 上下面中心的1個點
120:邊上的四邊形面50個,相當於是100個三角形面。上下面分別有10個三角形面。
實際的點線面:
在3dmax裏面不知道怎麼顯示這個,就是加上可編輯多邊形還是顯示那種“假”的線框。
2.導出fbx,放入unity,寫代碼獲取點面數據
public class MeshInfo : MonoBehaviour
{
public MeshFilter MeshFilter;
public Mesh mesh;
public int Verts;
public int Polys;
// Start is called before the first frame update
void Start()
{
if (MeshFilter == null)
{
MeshFilter = gameObject.GetComponent<MeshFilter>();
mesh = MeshFilter.mesh;
}
Verts = mesh.vertexCount;
Polys = mesh.triangles.Length/3;
for (int i = 0; i < mesh.vertices.Length; i++)
{
Vector3 v = mesh.vertices[i];
GameObject o=GameObject.CreatePrimitive(PrimitiveType.Sphere);
o.transform.parent = this.transform.transform;
o.transform.localPosition = v;
o.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f);
}
}
}
120:和max裏面的三角形面一樣。
144:
中間4行 40*2=80
上下面的邊 20*3=60
上下面中心點2個
142個,少了兩個....
寫了個工具顯示選中的點的數量,發現上下面的園的邊上各有31個點 是10*30+1。
三維裏面的三角形構成有共享點、和共享索引(Index),具體現在也忘記了。
--------------------------------------------------------
接下來確認一下max中對圓柱的平滑處理是否會影響導出模型的點面和效果。
前面的是沒有Smooth的。
右側是有smooth的,
90:中間11*4=44,上下面:中間1個,周圍22個(9*2+4)。
看起來點的數量減少了,也變得平滑了。
在沒有平滑的圓柱的基礎上,加個可編輯多邊形,使用平滑組中的自動平滑選項,導入unity,效果差不多。
參考原理:3dmax平滑組的使用方法和注意事項
也就是說使用平滑組不會增加點面,目的是爲了使造成相鄰的面平滑過渡的效果(假象)。
結論:雖然這個平滑組的效果需要光照計算,增加計算量(時間),但總比增加實際點面(空間)影響小吧。
具體的有沒有平滑組對性能的影響數值,暫時沒能力計算出來。
-----------------------------------------------------------------------------------
同時發現,加不加可編輯多邊形,導出時上下面的三角形結構是不同的。
右側加了可編輯多變形的,點面的數量更少。
分段增多後
在一個教程中看到,不推薦左側這樣的,可能在中間有一點點不好的效果(光照效果吧)。
另外還有個用一條線,增加半徑,渲染後加上可編輯多邊形變成的圓柱:
把圓柱的分段去掉,比較一下這幾個的點面差別
默認圓柱:點46,面40
加可編輯多邊形:點42,面36
由線轉換來:點40,面36。
如果不考慮其他因素(這種簡單結構外觀上感覺差不多,其他的話就是作爲一個大模型的一部分的可編輯性,還有對uv、貼圖的影響),由線轉換的是最少點面的。