summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Test/RootConstainTest.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-13 07:02:26 +0800
committerchai <chaifix@163.com>2020-10-13 07:02:26 +0800
commit58a47386a711746d17c5c66ac897a53f7a4aad4b (patch)
treee73d4906280793b5fb3070fe258333e0ad988115 /Assets/Scripts/Test/RootConstainTest.cs
parent8b384dffa0d9c63c7a657c6e567c2ddefbf046cd (diff)
+samurai & ninja animations
Diffstat (limited to 'Assets/Scripts/Test/RootConstainTest.cs')
-rw-r--r--Assets/Scripts/Test/RootConstainTest.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/Assets/Scripts/Test/RootConstainTest.cs b/Assets/Scripts/Test/RootConstainTest.cs
new file mode 100644
index 00000000..43c22b67
--- /dev/null
+++ b/Assets/Scripts/Test/RootConstainTest.cs
@@ -0,0 +1,35 @@
+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)
+ {
+ //animator.ApplyBuiltinRootMotion();
+ transform.position += new Vector3(animator.deltaPosition.x, animator.deltaPosition.y, 0);
+ transform.forward = animator.deltaRotation * transform.forward;
+ Vector3 euler = animator.deltaRotation.ToEuler();
+ euler.x = euler.z = euler.y = 0;
+ transform.rotation *= Quaternion.Euler(euler);
+ }
+ }
+
+}