Unity 物体围绕自身中心旋转而非轴心
  ZcJgkb1g5qMe 2023年11月02日 123 0

Unity 物体围绕自身中心旋转而非轴心_RotateAround

============================================================

Unity 物体围绕自身中心旋转而非轴心_Unity3d_02

在上面两张图坐标中心都在轴中心,但是如果用Rotate进行旋转,第一张是正确的,第二张进行了缩放的物体旋转并不会围绕自身中心旋转.

解决的方法:

//相对于某一个点旋转
//point 相对于哪个点旋转
//axis  相对于point的 哪一个轴旋转
//angle 旋转的角度 和 旋转的速度
transform.RotateAround(Vector3 point, Vector3 axis, float angle);

示例:

if (Event.current.button == 1)//拖拽旋转
{
    var mouseX = Input.GetAxis("Mouse X");
    var mouseY = Input.GetAxis("Mouse Y");
    if (Mathf.Abs(mouseX) > Mathf.Abs(mouseY))
       areaParent.RotateAround(dragMoveBoxCollider.bounds.center, Vector3.up, mouseX * dragRotateSpeed * Time.deltaTime);
    else
       areaParent.RotateAround(dragMoveBoxCollider.bounds.center, Vector3.up, mouseY * dragRotateSpeed * Time.deltaTime);
 }





【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

ZcJgkb1g5qMe