3d 中旋转摄像机

钱华
• 阅读 1021

// 旋转相机

rotateCamera (axis, speed, dt) {

    // var camera = viewer.getCamera()
    // var pivot = camera.pivot;
    // camera.target = pivot;
    // var target = camera.target
    // var dt = 1;
    // dt+=1;
    // var posx = target.x   +  1000*Math.cos(dt * 3.14 /180);
    // var posy = target.y   +  1000*Math.cos(1 * 3.14 /180);
    // camera.position.x = posx
    // camera.position.y = posy

    var nav = viewerAll.navigation;

    var up = nav.getCameraUpVector()

    var pos = nav.getPosition()

    var matrix = new THREE.Matrix4().makeRotationAxis(
        axis, speed * dt);
    // viewer.impl.invalidate (true)

    pos.applyMatrix4(matrix)
    up.applyMatrix4(matrix)

    nav.setView(pos, new THREE.Vector3(0,0,1))
    nav.setCameraUpVector(up)
}

runAnimation () {
    if(viewer.animateFlag){

        var dt = 0.01;
        dt+=0.01;
        var axis = new THREE.Vector3(0,0,1);
        viewer.vmethods.rotateCamera(axis, 10.0 * Math.PI/180, dt);
        window.requestAnimationFrame(viewer.vmethods.runAnimation);
    }

}1
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
CSS3里的 转换与过渡动效
一、transform1.12D转换通过CSS3转换,能够对元素进行移动、缩放、转动、拉长或拉伸。1.旋转,deg表示角度。负的为逆时针转动,默认沿着中心点旋转。可以利用transformorigin设置旋转原点。transform:rotate(30deg);!(http
Wesley13 Wesley13
3年前
CSS常用样式(二):绘制双箭头
序言:总结一些常用CSS样式,方便以后使用目录一、多次调用单箭头二、旋转边框直接绘制双箭头一、多次调用单箭头上文介绍2种实现单箭头的方式:边框旋转、双三角覆盖。这次以边框旋转为例多次调用实现双箭头1、边框旋转单箭头实现.arrowright{
Wesley13 Wesley13
3年前
Unity3D 键盘控制物体平面移动(操作相对于摄像机方向)
Intro目标是实现目标随摄像机方向的不同而进行不同方向移动——而且,目标不需要随摄像机一起旋转。使用摄像机的四元数旋转voidHandleKeyboardAction(){varhorizontalInput.GetAxis("Horizo
Wesley13 Wesley13
3年前
Unity横屏
Android下发现Unity里面的Player设置,并不能完全有效,比如打开了自动旋转,启动的时候还是会横屏,修改XML添加以下代码<applicationandroid:icon"@drawable/ic\_launcher"                    android:label"@string/app\_name"
Wesley13 Wesley13
3年前
Unity脚本
1,Transform旋转 transform.Rotate(X,Y,Z);//分别绕X,Y,Z轴旋转,可写为绕某个轴旋转,栗子transform.Rotate(0,90,0); transform.Rotate(Vector3.right\Time.deltaTime);//以欧拉角旋转,顺序是ZXY,right是向X轴
Wesley13 Wesley13
3年前
Unity3D 摄像机跟随旋转的方案
Intro主要想探讨的是如何令摄像机随鼠标操作进行旋转和移动,摄像机跟随的脚本官方就有Example。方案:独立的角度变量主要的特点是使用独立的角度变量,每次处理鼠标移动操作都会创建一个新的Quaternion用于计算。先看Demo。publicclassPlayerControls:
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
钱华
钱华
Lv1
此夜曲中闻折柳,何人不起故园情。
文章
4
粉丝
0
获赞
0