美文网首页
unity 移动和旋转函数总结

unity 移动和旋转函数总结

作者: WOTTOW | 来源:发表于2020-06-27 21:26 被阅读0次
      获取鼠标X Input.GetAxis("Mouse X") 
      获取鼠标Y Input.GetAxis("Mouse Y") 
      鼠标滚轮  Input.GetAxis("Mouse ScrollWheel")
    //四元数旋转  解决万象锁
    沿着Y轴旋转           Quaternion.AngleAxis(mouseX, Vector3.up);   
    旋转X轴               Quaternion.Euler(mouseX, 0,0);   
    旋转X轴(世界坐标)   transform.Rotate(new Vector3(0, -Input.GetAxis("Mouse X"), 0) * rotationSpeed, Space.World);
    旋转X轴(局部坐标)   transform.Rotate(new Vector3(0, -Input.GetAxis("Mouse X"), 0) * rotationSpeed, Space.Self);
    
    //三元素旋转    存在解决万象锁
    旋转(世界坐标)  currentRotation.eulerAngles
    旋转 (局部坐标)   currentRotation.localEulerAngles
    计算旋转    Quaternion.LookRotation
    
    点乘计算方向        Vector3.Dot 
    计算两个向量的夹角   Vector3.Cross
    
    //坐标转换
    世界坐标转屏幕坐标   Camera.main.WorldToScreenPoint
    屏幕坐标转世界坐标   Camera.main.ScreenToWorldPoint(注意:Z轴不能填0)
    
    移动(世界坐标)  transform.Translate(Vector3* moveSpeed, Space.World);
    移动(局部坐标)   transform.Translate(Vector3* moveSpeed, Space.Self);
     
    计算向量的方向向量   Quaternion*Vector3(注意:Vector3也是反向向量)
    

    在game场景中模拟部分移动和旋转


    move.gif
    Rotation.gif

    相关文章

      网友评论

          本文标题:unity 移动和旋转函数总结

          本文链接:https://www.haomeiwen.com/subject/sqwffktx.html