Three.js使用OrbitControls后修改相机旋转方向无效

news/2025/2/1 7:41:38/

1.问题复现

        在项目中添加了OrbitControls控制器来控制相机的旋转和平移,但是需要修改初始的相机角度,于是我把相机的角度进行修改,如下:

const camera = new THREE.PerspectiveCamera(75, viewport.offsetWidth / viewport.offsetHeight, 0.01, 20);
camera.position.set(0,1,7);
//修改相机初始角度
camera.rotation.set(0,-Math.PI/2,0);
const controls = new OrbitControls(camera, renderer.domElement);
controls.update();

运行项目后发现相机的位置并没有发生变化。

2.解决方法

        于是我尝试创建一个组,将相机加入组里,通过改变组的旋转角度从而改变相机的初始角度,如下:

	const cameraRigY = new THREE.Group();scene.add(cameraRigY);const camera = new THREE.PerspectiveCamera(75, viewport.offsetWidth / viewport.offsetHeight, 0.01, 20);camera.position.set(0,1,7);//相机加入组里cameraRigY.add(camera);//修改整体相机Y轴旋转cameraRigY.rotation.set(0,Math.PI/2,0);const controls = new OrbitControls(camera, renderer.domElement);controls.update();

进过测试,相机的初始角度修改成功了。


http://www.ppmy.cn/news/772922.html

相关文章

深入剖析!关于手机锂电池充电的知识

目前的手机基本上所配电池都是锂离子电池,所以我下面所讲的是针对锂离子电池的充电知识。镍氢电池有所不同,这里不谈。 1、锂离子电池标称电压3.7V(3.6V),充电截止电压4.2V(4.1V,根据电芯的厂牌有不同的设计&…

五一小长假宅家还是出游,玩手机不要使用这个动作

明明春节才过了刚刚不到一个月,为什么五一小长假就到了?对,时间过得就是这么快!所以,五一节去游山玩水,还是相亲、看电影?不过,和玩手机比起来,这些节目都显得太一般了。…

为什么现在的手机不像以前一样可以换电池?

手机现在采用不可拆卸、不可自行更换的内置电池,是人们工作生活的需要和科技发展、新工艺使用的结果。 一、现在手机电池“多块合一”实现内置,是使用新材料、新工艺的必然结果。 手机使用的电池从“大哥大”时期的镍铬电池、到镉镍电池、氢镍电池直至…

科学认识手机充电问题

目录 导语(关于手机充电) 一、纠正几点认知 二、最常见的不良充电习惯: 三 、正确的充电方式 四、名词解释 导语(关于手机充电) 手机电量越来越不耐用,坏的充电习惯会对手机电池产生诸多不良影响&…

android10检测USB接口,Android 10带来黑科技 检测手机USB接口是否有液体或者是否过热...

谷歌昨天正式发布 Android 10 手机操作系统,同时谷歌全系列三代 Pixel 智能手机均可升级到 Android 10 正式版,而参与 Android beta 测试项目的智能手机厂商也同时为旗下部分智能手机升级到 Android 10 正式版,或者推出最新测试版&#xff0c…

【ElasticSearch】JavaRestClient实现文档查询、排序、分页、高亮

文章目录 1、入门案例2、全文检索3、精确查询4、复合查询-boolean query5、排序和分页6、高亮 1、入门案例 先初始化JavaRestClient对象: SpringBootTest public class HotelSearchTest {private RestHighLevelClient client;Testvoid testInit() {System.out.pri…

C#中定时删除文件夹

private void timer1_Tick(object sender, EventArgs e) //每隔一段时间触发该函数。 { DeleteFile(“D:/test”, 7); //删除该目录下 超过 7天的文件 DeleteDirectory(“D:/test”,7)//删除目录下超过7天的文件夹 } private void DeleteFile(string fileDirect, int saveDay) …

某个数是否为7的几次方

#include <iostream> using namespace std; //判断是否为7的N次方 bool is7num(int n) {if (n 1)//7的0次方{return true;}else if(n0||n%7>0){return false;}else {return is7num(n / 7);}}int main() {cout << is7num(49);return 0;}