定义一些以后会用到的变量:
private var View:View3D;
// HoverCam controls
private var camera:HoverCamera3D;
private var lastMouseX:Number;
private var lastMouseY:Number;
private var lastPanAngle:Number;
private var lastTiltAngle:Number;
private var move:Boolean = false;
增加一个HoverCamera3D并且设置它为视图要使用的camera:
camera = new HoverCamera3D({zoom:2, focus:100, distance:250});
View = new View3D({camera:camera,x:250, y:200});
设置camera的一些初始属性值:
camera.targetpanangle = camera.panangle = 45;
camera.targettiltangle = camera.tiltangle = 20;
camera.mintiltangle = -90;
启用ENTER_FRAME侦听器:
addEventListener(Event.ENTER_FRAME, onEnterFrame);
启用鼠标按下、释放侦听器:
this.stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
this.stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
鼠标按下的时候,需要记录下camera的一些当前参数:
private function MouseDown(event:MouseEvent):void
{
lastPanAngle = camera.targetpanangle;
lastTiltAngle = camera.targettiltangle;
lastMouseX = stage.mouseX;
lastMouseY = stage.mouseY;
move = true;
}
鼠标释放的时候,需要停止渲染场景:
private function MouseUp(event:MouseEvent):void
{
move = false;
}
where 'the magic' happens:重新计算新的camera位置
private function onEnterFrame(e:Event):void
{
// rerender viewport
var cameraSpeed:Number = 0.3; // Approximately same speed as mouse movement.
if (move) {
camera.targetpanangle = cameraSpeed*(stage.mouseX - lastMouseX) + lastPanAngle;
camera.targettiltangle = cameraSpeed*(stage.mouseY - lastMouseY) + lastTiltAngle;
}
camera.hover();
View.render();
}
分享到:
相关推荐
这是原创脚本。支持Unity各个版本,目前实测为Unity2017.3。内附说明书,绑定到相机上即可拥有:环视+拖拽平移+远近缩放+范围限制+阻尼感
使用【WASD】移动,【Q】跑步,【鼠标移动】环视四周,【Z】切换鼠标外观,【空格】跳跃,【点击鼠标】挖掘,【E + 鼠标点击】建造土块,【1-9】选择块类型。 此后仍有作品或有趣游戏,可以进行学习与借鉴。请关注...
360全景环视文档,恩智浦IMX8系列套件说明
基于c++和python实现的360环视相机校正-去畸变-俯视变换-图像拼接-图像融合源码.zip 【项目说明】 360环视相机校正-去畸变-俯视变换-图像拼接-图像融合 360环视相机校正-去畸变-俯视变换-图像拼接-图像融合 360环视...
3D全景图_html5 js 实现3d全景图片显示 由6张不同方位图片拼合而成
飞思卡尔 全景360环视 详细方案
电信设备-结合雷达信息的自适应3D环视场景重建系统与方法.zip
1、支持VR虚拟现实、全景视频、环物全景、说一说、点赞评论、重力感应、智能视频嵌入、场景切换热点、加载进度条、地图导航、光晕flash特效、物体全景嵌入、场景自播、场景解说、雷达导航等业内前沿功能。...
这些资源用于熟练的开发人员设计TI产品。 您只负责为您的应用程序选择适当的TI产品。
车载环视俯视图拼接,matlab程序实现
OECS:环视系统的在线外部校正 1.先决条件 我们已经在Ubuntu 14.04中测试了该库,但是应该可以轻松在其他平台上进行编译。 C ++ 11或C ++ 0x编译器 我们使用C ++ 11的新线程和计时功能。 索菲斯 这是一个李代数库。 ...
车载环视摄像头视频文件,环视车载视频文件,可用于车门障碍物检测使用
适用于初、中级车辆的3D全景环视芯片——德州仪器(T1)发布全新TDA2Eco处理器.pdf
用于鱼眼摄像头的一个环视参考文档很不错,自己最开始做这个相关的项目就是参考这个文档,发现写的很是不错,非常值得参考特别有用的,哈哈哈哈哈哈哈哈哈哈
MarkToolForParkingLotPoint:用于在环视图像下标记停车位的工具
当我们在电脑上玩赛车游戏时,玩家视角通常是在汽车上方或尾部,由此我们便...不过,随着汽车环视系统(又称为“鸟瞰视图”或“环景”)的推出,这种情况如今正在逐步改变。环视是一种高级驾驶辅助系统 (ADAS) 技术,
ECU-REV-_TDA3X_STARTER_KIT_4-FPD_BASEBOARD_
自动驾驶AVM,360环视,全景拼接代码示例
opencl4格环视拼接Beta-0.5配套代码文档,配套代码,谨慎下载!