javascript - 如何在 A-FRAME 中创建一个函数来仅更改 Z 位置,保持 Y a Z 对象的原始值?
问题描述
如何单击按钮并转换/放置所有对象/与相机相同的距离“z”,保持它们的相对位置“x”和“y”
我想单击一个按钮并独立于 Z 显示内容,独立于到相机的距离显示它们,保持它们的原始值和不同的值 X 和 Y 原始位置。
我打算使用 javascript 将对象缩放到距离相机较近的位置,并可视化所有对象,允许相同的读取,即使是更远的对象
A-FRAME 中的 javascript 解决方案是什么,有人可以举例说明一个可行的解决方案吗?
提前致谢
米格尔·努内斯
解决方案
在世界空间中获得所需的 z pos:
var distance = 5;
var absCameraPos = new THREE.Vector3(0, 0, -distance);
cameraEl.getObject3D('camera').getWorldPosition(absCameraPos);
将对象放在那个世界 Z 上。类似于:
var tempVec3 = new THREE.Vector3().copy(absCameraPos);
someObjectEl.worldToLocal(tempVec3);
someObjectEl.position.z = tempVec3.z;
推荐阅读
- javascript - MapStateToProps 到同步上下文中的组件状态
- windows - 如何在内核模式下捕获 Etw?
- java - Kafka Avro 使用模式注册表将序列化/反序列化为具体类型失败
- hibernate - 带有 Mysql 数据源的 Keycloak 示例 - 原因:java.lang.ClassNotFoundException:无法加载请求的类:com.mysql.cj.jdbc.Driver
- sql - 在并发更新期间选择更新的行
- c++ - 按地址访问变量
- python - 计算 delta-v 给出否定结果
- node.js - 使用调度程序播放音频时的 Discord.js 音乐机器人“TypeError”
- spring-kafka - 带有 @KafkaListener 注释的 kafka 消费者如何处理 max.poll.records
- reactjs - 在生产中找不到 React Router 投掷页面