three.js - 三.js在另一个对象的局部坐标系中设置对象
问题描述
我想知道是否可以将 3d 对象放置在 three.js 中另一个对象的局部坐标系中。所以放置的对象应该相对于“原点”对象。
例如:我使用设备相机(使用 expo AR)扫描图像,并希望放置与图像具有固定距离的物体。我认为这些位置是相对于相机的,不是吗?
this.scene.add(chair)
chair.position.set( 1, 0, -5);
this.scene.add(chair2)
chair2.position.set( 1, 0 , -3);
解决方案
我认为您正在寻找的是THREE.Group
对象。它允许您在组中嵌套元素,因此如果您更改组的坐标,其子项也会随之移动。例如:
// Create parent, set its pos to 0, 5, 0
var parent = new THREE.Group();
scene.add(parent);
parent.position.set(0, 5, 0);
// create child, and add to parent
var chair1 = new THREE.Mesh(geom, mat);
parent.add(chair1);
chair1.position.set(1, 0, 0);
// create child, and add to parent
var chair2 = new THREE.Mesh(geom, mat);
parent.add(chair2);
chair2.position.set(0, 1, 0);
- chair1 将
[1, 5, 0]
在全局坐标中,但[1, 0, 0]
在局部空间中。 - chair2 将
[0, 6, 0]
在全局坐标中,但[0, 1, 0]
在本地空间中。
推荐阅读
- scala - CollectionConverters 总是返回原始源对象?
- google-chrome - 比 chrome 调试器更好地调试网站的大型 JS 文件的方法?
- google-apps-script - 我可以在此脚本中添加什么以仅以相反的顺序将行粘贴为值
- asp.net-core - SignalR 同时双向流式传输
- java - 一旦用户读取它,如何将我的字符串限制在 001 和最大字符串到 999 实施条件之间
- sql - 具有多个 JOINS 的多个子查询 Oracle
- r - 使用keyword_search检测pdf时文件名太长?
- android - OkHttp 4.x 尝试通过呼叫请求访问 url 时出错
- c++ - 为什么在使用之前没有初始化 C++ const 模板化向量?
- javascript - 动画不是离子中的构造函数