我在Unity(C#)中有一个空间模型,这个模型是跳伞。它始终面向地面,但X和Z旋转。我想要的效果是,当我旋转而不是围绕模型中心旋转时,我会绕着一个点旋转一个距离,直接向左或向右模型,取决于。我已经有了旋转逻辑,但我没有的是如何确定“X像素向右”的世界位置,因为旋转会改变左/右。例如:
当我开始时,左边是-1,0;右边是+1,0 x 我绕左转45度。左边仍然是-1,0。但现在我的位置是(〜)-.7,.7。由于我的“左”仍指向-1,0,“右突然指向(〜)0,1.4
那么,给定模型的Vector3位置,我如何确定模型的X,Z旋转和偏移,其中“向左”和“向右”是。
对于那些视觉类型,Just Cause 2做得对(虽然有时很难说): http://youtu.be/C6H3PPfx1KI?t=2m
谢谢大家。
答案 0 :(得分:2)
听起来你只想做以下事情:
left = (-1, 0, 0)
,right = (1, 0, 0)
中分配左/右坐标。worldLeft = transform.TransformPoint(left)
)。transform.RotateAround(worldLeft, Vector3.up, speed * Time.deltaTime)
)旋转。