在两个角度之间旋转任何GameObject

时间:2017-08-09 12:49:07

标签: c# unity3d game-physics

我的问题相当简单,我提出了一个解决方案,但似乎无法完成基本要求,基本上我希望一个对象在两个角度之间旋转,例如,如果有问题的游戏对象是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 )

0 个答案:

没有答案