当前位置:   article > 正文

Unity判断物体正在顺时针或逆时针旋转_unitytransform旋转角度如何判定旋转的方向?

unitytransform旋转角度如何判定旋转的方向?
  1. private Vector3 forward;
  2. void Update()
  3. {
  4. forward = transform.forward;
  5. Debug.DrawLine(transform.position, forward, Color.red);
  6. if (Input.GetKey(KeyCode.Q))
  7. {
  8. transform.Rotate(0, 90 * Time.deltaTime, 0);
  9. }
  10. else if (Input.GetKey(KeyCode.E))
  11. {
  12. transform.Rotate(0, -90 * Time.deltaTime, 0);
  13. }
  14. }
  15. private void LateUpdate()
  16. {
  17. Vector2 v1 = new Vector2(forward.x, forward.z); //旋转前的前方
  18. Vector2 v2 = new Vector2(transform.forward.x, transform.forward.z); //旋转后的前方
  19. Debug.DrawLine(transform.position, transform.forward, Color.blue);
  20. float rightFloat = v1.x * v2.y - v2.x * v1.y ;
  21. if (rightFloat < 0)
  22. {
  23. Debug.Log("向右转了");
  24. }
  25. else if(rightFloat >0)
  26. {
  27. Debug.Log("向左转了");
  28. }
  29. else
  30. {
  31. Debug.Log("没转");
  32. }
  33. }

向量叉乘

X1Y2-X2Y1>0  b在a 的左侧  ;X1Y2-X2Y1<0 在a 的右侧

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/756513
推荐阅读
相关标签
  

闽ICP备14008679号