[英]How to flatten 3D object surface into 2D array?
這是一個頂點問題。 模型上的每個三角形都是可以映射到2D平面的平面。 因此,沒有任何假定結構的最幼稚的解決方案是:
for triangle in mesh:
// project to plane defined by normal to avoid stretching
這種解決方案並不理想,因為它會將所有uv放在彼此的頂部。 下一步將散布三角形以填充一定的空間。 這是布局階段,用於定義如何在2D空間中對頂點進行布局。
通常,理想的是將UV放置在一個單位平方內。 這允許從單個圖像輕松進行UV映射。
用已知的2D映射形狀圍繞對象,然后根據其法線將每個三角形投影到該形狀上。 這提供了在結構化的庄園中展開uv的機制。 一個示例對象將是投影到多維數據集上。
查閱學術論文和像Blender這樣的開源庫/工具: https ://wiki.blender.org/index.php/Doc:2.4/Manual/Textures/Mapping/UV/Unwrapping
blender使用上述方法解開任意幾何圖形。 如攪拌器展開頁面所述,還有其他方法可以完成此操作。 Blender的好處是您可以參考源代碼來實現uv unwrap方法。
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.