我的threejs学习笔记(三)——相机旋转

本文介绍了在Three.js中如何实现相机旋转,通过定义角度变量theta进行相机旋转。同时,作者分享了一个简单的重力模拟方法,利用负重力加速度模拟物体下落,并在达到地面时实现反弹效果。尽管该模拟较为基础,未考虑能量损失和空气阻力等因素,但在视觉效果上已初具形态。
摘要由CSDN通过智能技术生成

写在前面

虽然看起来好像是物体自身在旋转,但确实是相机在围绕场景旋转。
另外,用简单的三个变量实现了重力模拟。

相机旋转方法

 var theta=0;
        var render=function () {
          requestAnimationFrame(render);
          controls.speedY+=controls.gravity;
          controls.posY+=controls.speedY;
          sphere.position.y=controls.posY;
          theta+=0.02;
          camera.rotation.y=theta;
          camera.position.set(5*Math.sin(theta),0,5*Math.cos(theta));
          if(sphere.position.y<=-3){
            controls.speedY*=-1.03;
          };

          renderer.render(scene,camera);
        };

定义一个角度变量theta,目的是为了将它传给三角函数用作其参数,旋转半径通过三角函数分解后即是在两个坐标轴上的具体数值,赋给相机即可。

重力模拟


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值