Ejemplo n.º 1
0
    public void ActiveDevice(DeviceTypeList Type)
    {
        switch (Type)
        {
        case DeviceTypeList.KAT_WALK:
            KATDevice_Dll.KAT_Init();
            if (target_Rig == null)
            {
                if (targetMoveObject.GetComponent <Rigidbody>())
                {
                    target_Rig = targetMoveObject.GetComponent <Rigidbody>();
                }
                else
                {
                    MovementStyle = MovementStyleList.Translate;
                    Debug.LogWarning("未能找到目标移动对象上的Rigidbody组件,移动方式将转换为Translate。\nCan not find Rigidbody component in Movement Object, the Movement Style will be changed to Translate.");
                }
            }
            break;

        case DeviceTypeList.ComingSoon:
            break;

        default:
            break;
        }
    }
Ejemplo n.º 2
0
    void TargetTransform(MovementStyleList Type)
    {
        //vrCameraRig.position = targetRotateObject.position;
        if (KATDevice_Walk.Instance.data_moveDirection > 0)
        {
            KATDevice_Walk.Instance.data_moveSpeed *= multiply;
        }
        else if (KATDevice_Walk.Instance.data_moveDirection < 0)
        {
            KATDevice_Walk.Instance.data_moveSpeed *= multiplyBack;
        }
        switch (Type)
        {
            #region Translate
        case MovementStyleList.Translate:
            //targetMoveObject.Translate(targetRotateObject.forward / 100 * KATDevice_Walk.Instance.data_moveSpeed * KATDevice_Walk.Instance.data_moveDirection);
            targetMoveObject.position          += (targetRotateObject.forward / 100 * KATDevice_Walk.Instance.data_moveSpeed * KATDevice_Walk.Instance.data_moveDirection);
            targetRotateObject.localEulerAngles = new Vector3(targetRotateObject.localEulerAngles.x, KATDevice_Walk.Instance.data_bodyYaw, targetRotateObject.localEulerAngles.z);
            break;

            #endregion
            #region Velocity
        case MovementStyleList.Velocity:
            target_Rig.velocity = targetRotateObject.forward * KATDevice_Walk.Instance.data_moveSpeed * KATDevice_Walk.Instance.data_moveDirection;
            targetRotateObject.localEulerAngles = new Vector3(targetRotateObject.localEulerAngles.x, KATDevice_Walk.Instance.data_bodyYaw, targetRotateObject.localEulerAngles.z);
            break;

            #endregion
        default:
            break;
        }
    }