webgl学习-摄像机

       在babylon中,场景并没有什么好说的,基本都是固定写法:

                //获得画布
                var canvas = document.getElementById('renderCanvas')
                // Load the 3D engine 加载
                var engine = new BABYLON.Engine(canvas, true, {preserveDrawingBuffer: true, stencil: true})
                // This creates a basic Babylon Scene object (non-mesh) 设置场景
                var scene = new BABYLON.Scene(engine);

         在babylon中提供了很多种相机,其中还包括vr相机。在这里就不一一说了,具体大家可以看:

          https://www.babylonjs.com.cn/babylon101/cameras.html

         

           在接下来的场景中主要用到了弧形相机,基本用法为:

                //創建相机,参数分别为:相机名称,alpha, beta, radius, target position, scene
                var camera = new BABYLON.ArcRotateCamera('camera1', Math.PI / 2, Math.PI, 50, new BABYLON.Vector3(0, 0, 0), scene);
                // 将相机对准一个特地的位置
                camera.setTarget(BABYLON.Vector3.Zero());


                // 设置相机可控制
                camera.attachControl(canvas, true);

          同时我们可能还需要对相机进行一些特殊设置,这些设置有时候是非常有用的,比如你如果希望相机不要跑到地面一些,你就需要设置上下移动范围,以及远近移动范围:

//对象上下移动范围
camera.lowerBetaLimit = Math.PI/2-Math.PI/6;
camera.upperBetaLimit = Math.PI/2+Math.PI/6;
//对象左右移动范围
camera.lowerAlphaLimit = -Math.PI/2-Math.PI/5;
camera.upperAlphaLimit = -Math.PI/2+Math.PI/5;
//对象远近移动范围
camera.lowerRadiusLimit  = -Math.PI/3;
camera.upperRadiusLimit = Math.PI/3;
   
camera.wheelPrecision = 0.5;  //电脑滚轮速度 越小灵敏都越高
camera.pinchPrecision = 1;    //手机放大缩小速度 越小灵敏都越高

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值