[英]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();
然后將position
, rotation
和scale
屬性重置為其初始值:
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.