【发布时间】:2015-10-29 05:36:39
【问题描述】:
【问题讨论】:
标签: 3d three.js projection
【问题讨论】:
标签: 3d three.js projection
是的,它是在平面上的投影,在三个 js 中进行投影的简单方法是获取几何点并将它们投影到平面上
bufferGeometry 的示例(普通几何可能会以其他方式或其他方式迭代点..)
//create someplane to project to
var plane = new THREE.Plane().setFromCoplanarPoints(pointA,pointB,pointC)
//create some geometry to flatten..
var geometry = new THREE.BufferGeometry();
fillGeometry(geometry);
var positionAttr = geometry.getAttribute("position");
for(var i = 0; i < positionAttr.array.length; i+=3)
{
var point = new THREE.Vector3(positionAttr.array[i],positionAttr.array[i+1],positionAttr.array[i+2]);
var projectedPoint = plane.projectPoint();
positionAttr.array[i] = projectedPoint.x;
positionAttr.array[i+1] = projectedPoint.y;
positionAttr.array[i+2] = projectedPoint.z;
}
positionAttr.needsUpdate = true;
上面的代码会将几何图形展平到由 3 个点给出的平面上,您可以处理数组或将场景中的几何图形用作煎饼。
【讨论】: