Example #1
0
        internal Vector3 GetIKHintPositionInternal(AvatarIKHint hint)
        {
            Vector3 vector;

            INTERNAL_CALL_GetIKHintPositionInternal(this, hint, out vector);
            return(vector);
        }
        public float GetFloat(AvatarIKHint goal)
        {
            float val = 0;

            switch (goal)
            {
            case AvatarIKHint.LeftKnee:
                val = leftKneePosWeight;
                break;

            case AvatarIKHint.RightKnee:
                val = rightKneePosWeight;
                break;

            case AvatarIKHint.LeftElbow:
                val = leftElbowPosWeight;
                break;

            case AvatarIKHint.RightElbow:
                val = rightElbowPosWeight;
                break;

            default:
                break;
            }
            return(val);
        }
Example #3
0
        private Vector3 GetHintPosition(AvatarIKHint hint)
        {
            Vector3 result;

            this.GetHintPosition_Injected(hint, out result);
            return(result);
        }
        public Vector3 GetPosition(AvatarIKHint goal)
        {
            Vector3 pos = Vector3.zero;

            switch (goal)
            {
            case AvatarIKHint.LeftKnee:
                pos = leftKneePos;
                break;

            case AvatarIKHint.RightKnee:
                pos = rightKneePos;
                break;

            case AvatarIKHint.LeftElbow:
                pos = leftElbowPos;
                break;

            case AvatarIKHint.RightElbow:
                pos = rightElbowPos;
                break;

            default:
                break;
            }
            return(pos);
        }
        private Vector3 InternalGetHintPosition(AvatarIKHint index)
        {
            Vector3 result;

            AnimationHumanStream.InternalGetHintPosition_Injected(ref this, index, out result);
            return(result);
        }
Example #6
0
        internal Vector3 GetIKHintPositionInternal(AvatarIKHint hint)
        {
            Vector3 result;

            Animator.INTERNAL_CALL_GetIKHintPositionInternal(this, hint, out result);
            return(result);
        }
Example #7
0
 private void SetIk(AvatarIKGoal goal, Transform target, AvatarIKHint hint, Transform restraint, float weight)
 {
     anim.SetIKHintPositionWeight(hint, weight);
     anim.SetIKPositionWeight(goal, weight);
     anim.SetIKRotationWeight(goal, weight);
     anim.SetIKPosition(goal, target.position);
     anim.SetIKRotation(goal, target.rotation);
     anim.SetIKHintPosition(hint, restraint.position);
 }
Example #8
0
 private void SetIk(AvatarIKGoal aik_Goal, Transform tr_Target, AvatarIKHint aik_Hint, Transform tr_Restraint, float fl_weight, Vector3 vec_Recoil)
 {
     an_Anim.SetIKHintPositionWeight(aik_Hint, fl_weight);
     an_Anim.SetIKPositionWeight(aik_Goal, fl_weight);
     an_Anim.SetIKRotationWeight(aik_Goal, fl_weight);
     an_Anim.SetIKPosition(aik_Goal, tr_Target.position);
     an_Anim.SetIKRotation(aik_Goal, tr_Target.rotation);
     an_Anim.SetIKHintPosition(aik_Hint, tr_Restraint.position);
 }
Example #9
0
 private void SetHintEffector(AnimationStream stream, AvatarIKHint goal, ref HintEffectorHandle handle)
 {
     if (handle.hint.IsValid(stream) && handle.weight.IsValid(stream))
     {
         AnimationHumanStream humanStream = stream.AsHuman();
         humanStream.SetHintPosition(goal, handle.hint.GetPosition(stream));
         humanStream.SetHintWeightPosition(goal, handle.weight.GetFloat(stream));
     }
 }
        public Vector3 GetPosition(AvatarIKHint goal, bool Internal)
        {
            Vector3 pos = Vector3.zero;

            if (Internal == true)
            {
                switch (goal)
                {
                case AvatarIKHint.LeftKnee:
                    pos = internalLeftKneePos;
                    break;

                case AvatarIKHint.RightKnee:
                    pos = internalRightKneePos;
                    break;

                case AvatarIKHint.LeftElbow:
                    pos = internalLeftElbowPos;
                    break;

                case AvatarIKHint.RightElbow:
                    pos = internalRightElbowPos;
                    break;

                default:
                    break;
                }
            }
            else
            {
                switch (goal)
                {
                case AvatarIKHint.LeftKnee:
                    pos = leftKneePos;
                    break;

                case AvatarIKHint.RightKnee:
                    pos = rightKneePos;
                    break;

                case AvatarIKHint.LeftElbow:
                    pos = leftElbowPos;
                    break;

                case AvatarIKHint.RightElbow:
                    pos = rightElbowPos;
                    break;

                default:
                    break;
                }
            }
            return(pos);
        }
        public float GetFloat(AvatarIKHint goal, bool Internal)
        {
            float val = 0;

            if (Internal == true)
            {
                switch (goal)
                {
                case AvatarIKHint.LeftKnee:
                    val = internalLeftKneeWeight;
                    break;

                case AvatarIKHint.RightKnee:
                    val = internalRightKneeWeight;
                    break;

                case AvatarIKHint.LeftElbow:
                    val = internalLeftElbowWeight;
                    break;

                case AvatarIKHint.RightElbow:
                    val = internalRightElbowWeight;
                    break;

                default:
                    break;
                }
            }
            else
            {
                switch (goal)
                {
                case AvatarIKHint.LeftKnee:
                    val = leftKneePosWeight;
                    break;

                case AvatarIKHint.RightKnee:
                    val = rightKneePosWeight;
                    break;

                case AvatarIKHint.LeftElbow:
                    val = leftElbowPosWeight;
                    break;

                case AvatarIKHint.RightElbow:
                    val = rightElbowPosWeight;
                    break;

                default:
                    break;
                }
            }
            return(val);
        }
Example #12
0
 private void SetIKHint(AvatarIKHint ikHint, Transform goal)
 {
     if (goal != null)
     {
         _animator.SetIKHintPosition(ikHint, goal.position);
         _animator.SetIKHintPositionWeight(ikHint, _IKHintWeight);
     }
     else
     {
         _animator.SetIKHintPositionWeight(ikHint, 0);
     }
 }
Example #13
0
    private void OnAnimatorIK(int layerIndex)
    {
        AvatarIKGoal g = isHand ? AvatarIKGoal.RightHand : AvatarIKGoal.RightFoot;
        AvatarIKHint h = isHand ? AvatarIKHint.RightElbow : AvatarIKHint.RightKnee;

        animator.SetIKPositionWeight(g, 1f);
        animator.SetIKPosition(g, target.position);
        animator.SetIKRotationWeight(g, 1f);
        animator.SetIKRotation(g, target.rotation);

        animator.SetIKHintPositionWeight(h, 1f);
        animator.SetIKHintPosition(h, hint.position);
    }
Example #14
0
            Transform GetIKHintTransform(AvatarIKHint ik, ClimbPoint target)
            {
                Transform retVal = null;

                foreach (ClimbHintIKPositions point in target.hints)
                {
                    if (point.hintType == ik)
                    {
                        retVal = point.target;
                        break;
                    }
                }
                return(retVal);
            }
        public void SetFloat(float val, AvatarIKHint goal)
        {
            switch (goal)
            {
            case AvatarIKHint.LeftKnee:
                leftKneePosWeight = val;
                break;

            case AvatarIKHint.RightKnee:
                rightKneePosWeight = val;
                break;

            case AvatarIKHint.LeftElbow:
                leftElbowPosWeight = val;
                break;

            case AvatarIKHint.RightElbow:
                rightElbowPosWeight = val;
                break;

            default:
                break;
            }
        }
        public void SetPosition(Vector3 pos, AvatarIKHint goal)
        {
            switch (goal)
            {
            case AvatarIKHint.LeftKnee:
                leftKneePos = pos;
                break;

            case AvatarIKHint.RightKnee:
                rightKneePos = pos;
                break;

            case AvatarIKHint.LeftElbow:
                leftElbowPos = pos;
                break;

            case AvatarIKHint.RightElbow:
                rightElbowPos = pos;
                break;

            default:
                break;
            }
        }
Example #17
0
 private extern float GetHintWeightPosition(AvatarIKHint hint);
Example #18
0
 public float GetIKHintPositionWeight(AvatarIKHint hint)
 {
     this.CheckIfInIKPass();
     return(this.GetHintWeightPosition(hint));
 }
Example #19
0
 private void SetHintPosition(AvatarIKHint hint, Vector3 hintPosition)
 {
     this.SetHintPosition_Injected(hint, ref hintPosition);
 }
Example #20
0
 public void SetIKHintPosition(AvatarIKHint hint, Vector3 hintPosition)
 {
     this.CheckIfInIKPass();
     this.SetHintPosition(hint, hintPosition);
 }
Example #21
0
 public Vector3 GetIKHintPosition(AvatarIKHint hint)
 {
     this.CheckIfInIKPass();
     return(this.GetHintPosition(hint));
 }
Example #22
0
 private extern void SetHintPosition_Injected(AvatarIKHint hint, ref Vector3 hintPosition);
Example #23
0
 private extern void GetHintPosition_Injected(AvatarIKHint hint, out Vector3 ret);
 private extern float InternalGetHintWeightPosition(AvatarIKHint index);
 private extern void InternalSetHintWeightPosition(AvatarIKHint index, float value);
 private extern void InternalSetHintPosition(AvatarIKHint index, Vector3 pos);
 private extern Vector3 InternalGetHintPosition(AvatarIKHint index);
Example #28
0
 public void SetIKHintPositionWeight(AvatarIKHint hint, float value)
 {
     this.CheckIfInIKPass();
     this.SetHintWeightPosition(hint, value);
 }
Example #29
0
 private extern void SetHintWeightPosition(AvatarIKHint hint, float value);
 public float GetHintWeightPosition(AvatarIKHint index)
 {
     ThrowIfInvalid(); return(InternalGetHintWeightPosition(index));
 }