[Unity3D] 如何实现围绕旋转

复制代码
 1 public class CameraMove : MonoBehaviour {
 2     private Camera c;
 3     private float rotateSpeed = 10;
 4 
 5     private void Start() {
 6         c = this.GetComponent<Camera>();
 7 
 8     }
 9 
10     private void Update() {
       //获取虚拟按键
11 float mouseX = Input.GetAxis("Mouse X"); 12 /*
      
这里有个错误,rotateSpeed参数无效,实际旋转速度由 13 this.transform.RotateAround()第三个参数决定
       */
       //匀速旋转
14 mouseX *= rotateSpeed *Time.deltaTime; 15 16 //建议使用本地坐标X,世界坐标Y 17 //模拟飞飞鼠标右键按住不放旋转,即围绕角色上下左右旋转 18 //RotateAround(注视谁,移动坐标,移动多少米) 19 if (Input.GetMouseButton(1)) {
         //左右环绕旋转镜头
20 this.transform.RotateAround
(this.transform.parent.position, new Vector3(0, mouseX, 0), 10); 21 } 22 23 } 24 }
复制代码

 

以角色为轴心点,围绕旋转,注意相机位置

posted @   伊凡晴天  阅读(1739)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示