整理人:小新
原始資料:
包含該建築6層樓的平面圖,每層樓的平面圖為乙個dwg檔案,每個dwg檔案中牆(wall)、窗戶(windows)分層儲存。
建模技術路線:
讀取每個dwg檔案,分離每層樓的牆體(wall)和窗戶(window),進行拉伸。然後對每層樓還需建立乙個屋頂和屋底。然後進行材質貼圖。
模版工作流程:
1、 每個底圖的樓層數儲存在檔名最末尾的數字中,因此需要暴露feature_base_name屬性,同時為了後續分布對牆和窗的圖層進行處理,還需要暴露feature_type屬性。
2、 計算每面牆紋理在u/v方向貼紋理的次數
3、 根據feature_base_name屬性提取每個要素所屬的樓層數
4、 將每個要素在z方向上平移到所在樓層(樓層高度單位50計算)
5、 將牆體和窗戶進行拉伸(extruder),拉伸的高度為樓層的高度。形成3d的牆和窗戶。
6、 新增牆的紋理,根據計算的次數進行貼圖
7、 對窗戶新增紋理。
8、 建立每個樓層的底面和頂面
9、 輸出儲存
fme模版截圖:
模型效果:
一共六層樓,我們還可以檢視每層樓的效果:
總結:
通過fme建立的三維模型,輸出儲存的時候主要以3d pdf格式為主,其他如3ds、direct x等格式在貼紋理的時候需要考慮面的法線方向,需要沿著法線正向進行紋理貼圖,才能正確顯示。我在嘗試將這個模板生成的三維模型儲存為3ds或direct x時,某些面的貼圖總是反向,目前還沒有找到合適的方法解決這個問題。如果做個這方面研究的朋友,歡迎交流。
硬表面建模 三維建模中硬表面建模
硬表面建模一般是指機械類 盔甲 工業模型等這類建模方式,建模的主要思路就是通過基本的幾何形體來擠壓 卡結構 卡邊 的方式製作,由於無論是3ds max還是maya模型經過平滑後都會有不少的收縮,這樣的收縮如果不經過卡邊的處理,就會對形狀造成非常大的影響,生物類建模中這樣的影響較小,而硬表面建模中這樣...
ArcGlobe開發 在三維場景中畫出幾何要素
在三維場景 中可以畫出幾何要素,其充當臨時圖層,在重新整理後會消失。一般用作臨時測試,或者有特別的用途。函式如下 public static void draw polyline iglobe pglobe,int rgbcolor,igeometry geometry pelement.geome...
平面和直線在三維空間的方程和應用。
平面在三維空間 平面方程 一般方程 ax by cz d 0 平面通過點m x1,y1,z1 及法向量 n a,b,c 的方程 a x x1 b y y1 c z z1 0 通過三個點p a,0,0 q 0,b,0 r 0,0,c 的方程 x a y b z c 1 a,b,c 0 直線在三維空間 ...