summaryrefslogtreecommitdiff
path: root/Assets/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Scripts')
-rw-r--r--Assets/Scripts/Props.meta8
-rw-r--r--Assets/Scripts/Scene.meta8
-rw-r--r--Assets/Scripts/Test/ArmorSoldierScript.cs17
-rw-r--r--Assets/Scripts/Test/ArmorSoldierScript_States.cs23
-rw-r--r--Assets/Scripts/Test/SaionjiScript_States.cs10
5 files changed, 47 insertions, 19 deletions
diff --git a/Assets/Scripts/Props.meta b/Assets/Scripts/Props.meta
new file mode 100644
index 00000000..bb96602e
--- /dev/null
+++ b/Assets/Scripts/Props.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f299520ed9fcf4a45858ad4ef5a8d5d1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Scene.meta b/Assets/Scripts/Scene.meta
new file mode 100644
index 00000000..eb7a8716
--- /dev/null
+++ b/Assets/Scripts/Scene.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: eaee2d0f48cff9b40baf0686a8105600
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Test/ArmorSoldierScript.cs b/Assets/Scripts/Test/ArmorSoldierScript.cs
index dd4cd3e3..c86ca009 100644
--- a/Assets/Scripts/Test/ArmorSoldierScript.cs
+++ b/Assets/Scripts/Test/ArmorSoldierScript.cs
@@ -21,11 +21,18 @@ public partial class ArmorSoldierScript : Avatar, IInteractable
private void OnAnimatorMove()
{
- Animator animator = GetComponent<Animator>();
-
- // animator.deltaPosition和animator.deltaRotation是animator做的root motion后的结果
- // 在后面做一个硬性约束z=0,将角色限制在z=0平面上
- if (animator)
+ Animator animator = GetComponent<Animator>();
+
+ AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);
+
+ // animator.deltaPosition和animator.deltaRotation是animator做的root motion后的结果
+ // 在后面做一个硬性约束z=0,将角色限制在z=0平面上
+ if (stateInfo.IsTag("IgnoreRootMotion"))
+ {
+ // ignore root motion
+ //Debug.Log("ignore root motion ");
+ }
+ else
{
Vector3 position = transform.position;
position.x += animator.deltaPosition.x;
diff --git a/Assets/Scripts/Test/ArmorSoldierScript_States.cs b/Assets/Scripts/Test/ArmorSoldierScript_States.cs
index 67eca581..07a4ce74 100644
--- a/Assets/Scripts/Test/ArmorSoldierScript_States.cs
+++ b/Assets/Scripts/Test/ArmorSoldierScript_States.cs
@@ -35,15 +35,20 @@ public partial class ArmorSoldierScript : Avatar, IInteractable
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ActionSwitchState switchToIdle = new ActionSwitchState(m_StateSystem, idle);
- Trigger trigger = null;
-
-
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // state setup
- ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
- // air hurt
- ConditionMotionAtEnd airAtEnd = new ConditionMotionAtEnd(m_Animator, Anim_AirHurt);
+ Trigger trigger = null;
+
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // state setup
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+ // light hurt
+ ConditionMotionAtEnd lightHurtAtEnd = new ConditionMotionAtEnd(m_Animator, Anim_LightHurt);
+ trigger = new Trigger(lightHurtAtEnd, switchToIdle);
+ lightHurt.AddTrigger(trigger);
+
+ // air hurt
+ ConditionMotionAtEnd airAtEnd = new ConditionMotionAtEnd(m_Animator, Anim_AirHurt);
trigger = new Trigger(And(airAtEnd, Not(condInAir)), switchToIdle);
airHurt.AddTrigger(trigger);
diff --git a/Assets/Scripts/Test/SaionjiScript_States.cs b/Assets/Scripts/Test/SaionjiScript_States.cs
index 68d09280..0176b976 100644
--- a/Assets/Scripts/Test/SaionjiScript_States.cs
+++ b/Assets/Scripts/Test/SaionjiScript_States.cs
@@ -44,10 +44,10 @@ public partial class SaionjiScript : Avatar
//招式会绑定一个motion
HitDefination hitDef = new HitDefination
- {
- type = HitType.Air,
- hurtAddForce = new Vector3(0, 10000, 0)
- };
+ {
+ type = HitType.Air,
+ hurtAddForce = new Vector3(0, 20000, 0)
+ };
AttackState attk1 = new AttackState(animator, Anim_LightAttack1, m_Body);
attk1.AddHitDefination(hitDef);
AttackState attk2 = new AttackState(animator, Anim_LightAttack2, m_Body);
@@ -79,7 +79,7 @@ public partial class SaionjiScript : Avatar
hitDef = new HitDefination
{
type = HitType.Air,
- hurtAddForce = new Vector3(0,5000,0)
+ hurtAddForce = new Vector3(0,10000,0)
};
airAttk1.AddHitDefination(hitDef);