javascript - threejs如何旋转transformcontrol本身
问题描述
当附加到 transformcontrol 的对象旋转时,我想旋转 transformcontrol 本身。
旋转前
旋转后
如图所示,在旋转之前,圆柱体的顶部方向是变换控件的 z 轴,而在旋转之后则不是。
我希望变换控件的 z 轴始终位于圆柱体的向上方向。
解决方案
TransformControls
返回一个可以直接修改的对象。
const controls = new TransformControls(camera, renderer.domElement);
controls.setSpace('local');
controls.rotation.x = Math.PI / -2;
如果您想将其旋转与您的网格同步,您可以将其添加为该网格的子项或使用Euler#copy
.
mesh.add(controls);
// or manually in a render loop, for example
scene.add(controls);
renderer.setAnimationLoop(() => {
controls.rotation.copy(mesh.rotation);
renderer.render(scene, camera);
});
推荐阅读
- javascript - 正在寻找一种使用 Google Apps 脚本或 DOCS API 为 google 文档中的段落添加边框的方法?
- javascript - 我如何从 Html FORM 接收数据到我的电子邮件?
- c# - Linux 上的 Visual Studio 2019
- python - wxPython MainLoop() 崩溃
- python - 如何安排python脚本在aws中以预定的时间间隔运行
- node.js - AWS 简单队列服务 (SQS) 可见性超时 - 设置最大重试次数?
- web-applications - 如何保持安装 PWA 的直接链接
- sql - Sql Server 选择查询:按表月份的 Sum 和 Last 输入
- flutter - 如何从任何网络浏览器打开 Flutter 应用程序?
- angular - 如何将自定义列添加到角度材料表?