コード例 #1
0
    void Rotating()
    {
        if (!playerMotion.CanMoveState())
        {
            return;
        }
        Vector3 relativePos = playerCS.attackTarget.transform.position - playerCS.transform.position;

        if (relativePos != Vector3.zero)
        {
            playerCS.transform.forward          = relativePos;
            playerCS.transform.localEulerAngles = new Vector3(0, playerCS.transform.localEulerAngles.y, 0);
        }
    }
コード例 #2
0
ファイル: EasyTouchMove.cs プロジェクト: moto2002/moba
    private void RotatePlayer()
    {
        if (CharacterManager.playerCS == null || CharacterManager.playerCS.isDie)
        {
            return;
        }
        PlayerMotion pm = CharacterManager.playerCS.pm;

        if (!pm.CanMoveState())
        {
            return;
        }

        //向量v围绕y轴旋转cameraAngle.y度
        Vector3    q           = Quaternion.Euler(0, 0, 0) * v;
        Quaternion qq          = Quaternion.LookRotation(q);
        Transform  playerTrans = CharacterManager.player.transform;

        playerTrans.rotation = Quaternion.Lerp(playerTrans.rotation, qq, Time.deltaTime * 100);
        ClientSendDataMgr.GetSingle().GetWalkSend().SendSelfPos();
    }