晚上好!
在我的项目中,我从字体几何体创建TextMesh并放入一个数据透视空对象。我需要获取TextMesh的每个顶点的世界坐标,因为我需要使用它们来对文本进行一些转换(自定义弯曲等等)。
以下是代码:
var pivot = new THREE.Object3D();
pivot.add(textMesh);
pivot.position.set(x, y, z);
pivot.rotation.set(roll, pitch, yaw);
scene.add(pivot);
pivot.updateMatrixWorld(true);
for(var i = 0; i < textMesh.geometry.vertices.length; i++)
{
var worldCoords = textMesh.localToWorld(textMesh.geometry.vertices[i]);
}
我的textMesh的位置由&#34; localToWorld&#34;改变了。功能,我没想到。 有没有办法获得网格的每个顶点的世界位置而不使网格移动? 我究竟做错了什么? 有没有更简单的方法来沿着圆柱体弯曲文本网格?我已经检查了MOD3等等,并且找不到任何适用于我的设置的东西,所以我试图自己做。
谢谢你的帮助!
答案 0 :(得分:0)
试试这个:
var worldCoords = textMesh.localToWorld(textMesh.geometry.vertices[i].clone());
或者,如果您想重新使用worldCoords
:
var worldCoords = new THREE.Vector3();
textMesh.localToWorld(worldCoords.copy(textMesh.geometry.vertices[i]));