首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ThreeJS -如何将3d对象转换为2d表示

ThreeJS -如何将3d对象转换为2d表示
EN

Stack Overflow用户
提问于 2015-10-29 13:36:39
回答 1查看 1.3K关注 0票数 0

我在ThreeJS中有一个3d模型。将3d对象投影到2d需要哪些技术?例如,我想将3d模型投影到地面上。这是我正在寻找的图片:

这算不算投影呢?如何做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2015-10-31 02:53:49

是的,这是一个平面上的投影,在三个js中进行投影的简单方法是将几何点投影到一个平面上。

使用bufferGeometry的示例(法线几何体可能会以其他方式迭代点或其他..)

代码语言:javascript
运行
复制
//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个点给出的平面上,你可以处理一些东西的数组,或者使用场景中的几何体作为煎饼。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33406663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档