首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获得飞机的世界位置

获得飞机的世界位置
EN

Stack Overflow用户
提问于 2019-11-12 11:35:53
回答 1查看 227关注 0票数 0

我对three.js非常陌生,所以我肯定我在想什么--理解这里的一些东西。

我用以下方式创建了一个平面:

代码语言:javascript
复制
var planeGeom = new THREE.PlaneGeometry(0.2, 0.2);
planeGeom.rotateX(-Math.PI / 2);
var plane = new THREE.Mesh(planeGeom, new THREE.MeshBasicMaterial({color: 0xffff00, side: THREE.DoubleSide}));
plane.position.set(0, 0.1, 0);
scene.add(plane);

var mathPlane = new THREE.Plane();
planePointA.copy(plane.geometry.vertices[plane.geometry.faces[0].a]);
planePointB.copy(plane.geometry.vertices[plane.geometry.faces[0].b]);
planePointC.copy(plane.geometry.vertices[plane.geometry.faces[0].c]);
plane.localToWorld(planePointA);
plane.localToWorld(planePointB);
plane.localToWorld(planePointC);
mathPlane.setFromCoplanarPoints(planePointA, planePointB, planePointC);

var helper = new THREE.PlaneHelper( mathPlane, 1, 0xffff00 );
scene.add( helper );

为什么我的PlaneGeometry对象和平面定位不同?为什么.localToWorld()不能获得飞机的世界位置?

https://jsfiddle.net/sek0yzLp/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-12 11:43:38

在设置位置后,在plane上使用plane

代码语言:javascript
复制
plane.position.set(0, 0.1, 0);
plane.updateMatrixWorld();
scene.add(plane);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58817906

复制
相关文章

相似问题

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