簡體   English   中英

如何在旋轉或移動對象后更新頂點幾何體

[英]How to update vertices geometry after rotate or move object

我可以使用位置和旋轉值來變換網格。

好的,我看到這些變化看起來是正確的,但我想要一種方法來轉換幾何頂點x,y,z,釋放和/或重置旋轉和位置值。 我不知道怎么做......

我玩過:

myobj.applymatrix();
myobj.matrixAutoUpdate = false;
myobj.verticesNeedUpdate; 

而不是設置位置和旋轉,但結果是相同的:是的,更改是正確的,但內部幾何沒有改變。

我是否需要手動將幾何變換應用於頂點?

任何幫助,將不勝感激!

如果要變換幾何體的頂點,請使用以下模式:

mesh.updateMatrix(); 
mesh.geometry.applyMatrix( mesh.matrix );
mesh.matrix.identity();

然后將positionrotationscale屬性重置為其初始值:

mesh.position.set( 0, 0, 0 );
mesh.rotation.set( 0, 0, 0 );
mesh.scale.set( 1, 1, 1 );

three.js r.85

使用PlaneGeometry構建地面網格時,使用高度圖添加山峰,然后從網格幾何體獲取一些隨機頂點,並使用地面旋轉添加樹木

ground_mesh.rotation.set(-Math.PI / 2, 0, 0);

mesh.geometry頂點不隨網格一起旋轉,我的樹被放置在預網格旋轉位置。 通過使用旋轉網格找到了一種快速簡便的解決方案

ground_mesh.geometry.rotateX(-Math.PI / 2)

一切,包括我的重力碰撞檢測,以及隨機頂點都能提供預期的結果。

文檔提到在渲染循環期間不應使用rotateX

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM