unity 摄像机跟随物体 第一人称跟随
来源:互联网 发布:阿里云代金券如何使用 编辑:程序博客网 时间:2024/05/18 03:59
摄像机跟随物体的实现方式很多,也都是现成的代码可以直接拿过来用,但是项目中难免围绕这个功能做扩充,所以简单了解下实现原理还是有必要的, 这边简要介绍两种实现方式:以第一人称视角跟随角色。
第一种方式,比较简单:
void cameraFollowFunc_1(){ //先改变坐标//先设置目标坐标Vector3 targetPosition = player.position + Vector3.up*_cameraDefaultHeight - player.forward*_cameraDistance;_camera.position = Vector3.Lerp(_camera.position,targetPosition,Time.deltaTime*4.0f);//改变方向 //始终观察角色_camera.LookAt(player);}注意:player.forward默认角色z轴为摄像机前方,否则调整这个参数
第二种方式,稍微麻烦:
void cameraFollowFunc_2(){//摄像机距离差值float cameraDistance = Mathf.Lerp(30,35,Time.deltaTime*1.5f);//设置摄像机的方向//角色y轴偏移为摄像机偏移float cameraDir = Mathf.Lerp(0,plyer.localEulerAngles.y,Time.deltaTime4.0f);//设置摄像机偏移camera.localEulerAngles = new Vector3(0,cameraDir,0);//开始计算坐标//以角色为起点,计算角色背后坐标偏移量(y轴不变)Vector3 direction = rotateAlongY(new Vector3(0,0,-1),player.localEulerAngles.y);//设置坐标camera.position = new Vector3(player.position.x + direction.x*cameraDistance,Mathf.Lerp(camera.position.y,player.position.y+20,Time.deltaTime*70),Mathf.Lerp(camera.position.z,player.position.z+direction.z*cameraDistance,Time.deltaTime*50));}/// <summary>/// 计算相对于角色的坐标偏移向量/// </summary>/// <param name="v3">V3.</param>/// <param name="rotationDeg">Rotation deg.</param>void rotateAlongY(Vector3 v3,float rotationDeg){//生成零向量Vector3 finalVector = Vector3.zero;//转化成弧度float Red = rotationDag * Mathf.Deg2Rad;finalVector.z = Mathf.Cos(-rad)*v3.z;finalVector.x = Mathf.Sin(-rad)*v3.z;return finalVector;}
阅读全文
0 0
- unity 摄像机跟随物体 第一人称跟随
- unity菜鸟之摄像机跟随物体运动
- Unity 控制摄像机跟随运动物体
- Unity 控制摄像机跟随运动物体
- unity3d摄像机跟随物体
- Unity 摄像机平滑跟随
- Unity摄像机跟随Player
- Unity 3d 实现物体跟随摄像机视野运动
- unity-实现摄像机跟随物体(Vector3.SmoothDamp)
- Unity物体跟随脚本
- unity摄像机跟随的脚本
- Unity摄像机跟随角色移动
- Unity)摄像机Camera跟随
- 【Unity】物体跟随鼠标移动
- Unity摄像机旋转和位移跟随
- unity中摄像机的跟随移动
- Unity摄像机旋转和位移跟随
- Unity摄像机跟随玩家移动脚本
- 【python】PIL resize图片
- 免费分享: MySQL零基础入门教程!
- 【转】ERROR: JDWP Unable to get JNI 1.2 environment解决办法
- 【转载】SpringMVC框架简介
- 微信的audio无法自动播放的问题
- unity 摄像机跟随物体 第一人称跟随
- validate表单验证功能
- Discuz!:密码错误次数过多,请15分钟后重新登陆的修改方法
- kafka 配置文件详解:producer.properties
- 648. Replace Words
- pip安装Python包----以numpy为例
- 腾讯祭出大招VasSonic,让你的H5页面首屏秒开
- 面试题14:调整数组顺序使得奇数位于偶数之前
- Fileter过滤器的使用及小案例