Transform.RotateAround 围绕旋转

Transform.RotateAround 围绕旋转

function RotateAround (point : Vector3, axis : Vector3, angle : float) : void

 

白色为obj,红色为obj2

代码1; Obj2.transform.RotateAround(Obj.transform.position, Obj2.transform.right, 45 * Time.deltaTime);

代码2; Obj2.transform.RotateAround(Obj.transform.position, Obj.transform.right, 45 * Time.deltaTime);

结果;通过在运行中转到两物体方向轴发现,第一个参数为围绕的中心点,第二个参数为物体围绕转动的轴旋转轴垂直于转动形成的面,旋转轴经过中心点

拓展用法

未完待续

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Unity中实现围绕视频大范围旋转,可以使用Camera类的RotateAround方法。 首先,将视频文件拖入Unity项目中并将其添加到场景中。创建一个Camera对象,并将其放置在视频上方。为了使视频旋转时看起来更自然,将Camera的位置设置为距离视频顶部一定距离,然后将其朝向视频中心。 然后,编写C#脚本,使Camera围绕视频旋转。使用Camera的RotateAround方法,将视频中心作为旋转中心,然后使用鼠标移动来控制旋转角度。 以下是示例代码: ```csharp using UnityEngine; public class RotateCamera : MonoBehaviour { public Transform video; public float speed = 1f; private Vector3 _offset; void Start() { _offset = transform.position - video.position; } void Update() { if (Input.GetMouseButton(0)) { float h = speed * Input.GetAxis("Mouse X"); float v = speed * Input.GetAxis("Mouse Y"); transform.RotateAround(video.position, Vector3.up, h); transform.RotateAround(video.position, transform.right, -v); } } void LateUpdate() { transform.position = video.position + _offset; } } ``` 将该脚本添加到Camera上,将视频对象拖到video字段中即可实现围绕视频大范围旋转。在该脚本中,使用transform.RotateAround方法使Camera围绕视频中心旋转,并使用transform.position属性将Camera放置在视频上方。在Update方法中,检测鼠标输入并根据输入移动Camera。在LateUpdate方法中,使用transform.position属性保持Camera在视频上方。 你也可以自定义代码的细节,例如调整旋转速度、鼠标输入的灵敏度等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值