summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Test/RootConstainTest.cs
blob: 91d3706249cf8ac34d1f1a20f22c35eeb587d29e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RootConstainTest : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    private void OnAnimatorMove()
    {
        Animator animator = GetComponent<Animator>();

        // 约束z=0
        if (animator)
        {
			Vector3 position = transform.position;
			position.x += animator.deltaPosition.x;
			position.y += animator.deltaPosition.y;
			//position.y = Mathf.Max(0, position.y);
			//position.y = 0;

			transform.position = position;

			transform.rotation *= animator.deltaRotation;

            //transform.forward = animator.deltaRotation * transform.forward;
			//Vector3 euler = animator.deltaRotation.ToEuler();
			//euler.x = euler.z = euler.y = 0;
			//transform.rotation *= Quaternion.Euler(euler);
        }
    }

}