three.js - ThreeJS 调整相机旋转
问题描述
我只想知道如何将这个相机(airportCamera)旋转到 180°?我尝试 camera.rotation.y 但我认为我做的不对。
aerialCamera = new THREE.PerspectiveCamera(80, w/h, 0.1, 1000);
aerialCamera.position.set(0, 35, 0);
aerialCamera.lookAt( scene.position );
scene.add( aerialCamera );
一张图片来了解我想要什么:
解决方案
问题是lookAt
需要一个up
指向相机顶部所面对方向的向量。默认值为up
0、1、0 或向上,但由于您要让相机直视相机顶部(就像想象您手中实际上有一个真实的相机,带有顶部、正面、底部、背面等) 不向上(朝向天空)
你可以通过两种方式解决这个问题
(1)给three.js一个相机的up值
要么camera.up.set(0, 0, 1)
要么camera.up.set(0, 0, -1)
。然后打电话camera.lookAt(...)
(2) 不要用看。
那么然后camera.rotation.set(Math.PI / -2, 0, 0)
或camera.rotation.set(Math.PI / -2, 0, Math.PI)
推荐阅读
- php - $_GET 未获取 URL 数据
- python - Qt:停靠小部件如何获得其初始大小?
- vba - 如何模拟箭头键被按下并按住然后释放?VBA
- swift - 无法保存 EKEvent,因为日历缺少默认组织者
- pandas - 我的 .loc 在应该工作的地方出错:“无法从重复的轴重新索引”
- electron - 如何使用 Mocha 测试需要 Node API 的自定义模块?“无法读取未定义的属性‘要求’”
- macros - 如何让这个公式只填写空白单元格?
- akka - 带有临时队列的 Alpakka JMS 请求/响应 - 开箱即用?
- android - 使用“仅 GPS”模式或“Wifi 网络”时,FusedLocationProviderClient 不起作用
- django - 使用 SQL 数据库和 NoSQL 数据库