我的问题相当简单,我提出了一个解决方案,但似乎无法完成基本要求,基本上我希望一个对象在两个角度之间旋转,例如,如果有问题的游戏对象是0度,然后它应首先旋转y到45度;然后它应该旋转到-45度,从而在这两个角度之间连续交替。
我想出的解决方案是使用Mathf.Sin函数在角度之间交替,因为角度是常见的,即45我将使用正弦波的正最大值和负最大值来实现这一点,但似乎无法实现让它工作。 Update中的代码如下:
Vector3 startPos = transform.position; // umm, start position !
Vector3 targetPos = Vector3.zero; // variable for calculated end position
float startAngle = -theAngle * 0.5f; // half the angle to the Left of the forward
float finishAngle = theAngle * 0.5f; // half the angle to the Right of the forward
// the gap between each ray (increment)
float inc = (theAngle / segment);
RaycastHit hit;
// linecast between points
if ( Physics.Linecast( startPos, targetPos, out hit ) )
{
Debug.Log( "Hit " + hit.collider.gameObject.name );
}
// to show ray just for testing
Debug.DrawLine( startPos, targetPos, Color.green )