summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Test
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-24 17:30:07 +0800
committerchai <chaifix@163.com>2020-10-24 17:30:07 +0800
commit65ed53a40f990e895305ff17a5e48e3cd6b8785b (patch)
tree3333c6a9b19fa5602fd8827e582273f602452bec /Assets/Scripts/Test
parent56a9b3bf4edc56e9c1dd502a469a7a0167751215 (diff)
*物理系统
Diffstat (limited to 'Assets/Scripts/Test')
-rw-r--r--Assets/Scripts/Test/ArmorSoldierScript.cs37
-rw-r--r--Assets/Scripts/Test/ArmorSoldierScript.cs.meta11
-rw-r--r--Assets/Scripts/Test/SaionjiScript.cs2
-rw-r--r--Assets/Scripts/Test/SaionjiScript_Ability.cs4
-rw-r--r--Assets/Scripts/Test/SaionjiScript_Physics.cs41
-rw-r--r--Assets/Scripts/Test/SaionjiScript_Physics.cs.meta11
6 files changed, 105 insertions, 1 deletions
diff --git a/Assets/Scripts/Test/ArmorSoldierScript.cs b/Assets/Scripts/Test/ArmorSoldierScript.cs
new file mode 100644
index 00000000..e4b051e1
--- /dev/null
+++ b/Assets/Scripts/Test/ArmorSoldierScript.cs
@@ -0,0 +1,37 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ArmorSoldierScript : 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>();
+
+ // animator.deltaPosition和animator.deltaRotation是animator做的root motion后的结果
+ // 在后面做一个硬性约束z=0,将角色限制在z=0平面上
+ if (animator)
+ {
+ Vector3 position = transform.position;
+ position.x += animator.deltaPosition.x;
+ position.y += animator.deltaPosition.y;
+ transform.position = position;
+
+ // animation clip导入设置旋转一般上设置为baked inpose,不需要手动限制
+ transform.rotation *= animator.deltaRotation;
+ }
+ }
+
+}
diff --git a/Assets/Scripts/Test/ArmorSoldierScript.cs.meta b/Assets/Scripts/Test/ArmorSoldierScript.cs.meta
new file mode 100644
index 00000000..eeb0f056
--- /dev/null
+++ b/Assets/Scripts/Test/ArmorSoldierScript.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6c58b0c0555555e4c9fbd344b5162103
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Test/SaionjiScript.cs b/Assets/Scripts/Test/SaionjiScript.cs
index bba87e17..7fac11f3 100644
--- a/Assets/Scripts/Test/SaionjiScript.cs
+++ b/Assets/Scripts/Test/SaionjiScript.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using UnityEngine;
-public partial class SaionjiScript : MonoBehaviour
+public partial class SaionjiScript : MonoBehaviour, IInteractable
{
HitBoxTest hitbox;
Animator animator;
diff --git a/Assets/Scripts/Test/SaionjiScript_Ability.cs b/Assets/Scripts/Test/SaionjiScript_Ability.cs
index 785b93b0..2ed956ef 100644
--- a/Assets/Scripts/Test/SaionjiScript_Ability.cs
+++ b/Assets/Scripts/Test/SaionjiScript_Ability.cs
@@ -96,6 +96,8 @@ public partial class SaionjiScript : MonoBehaviour
ConditionCommandSeq condDRC = new ConditionCommandSeq(new List<GamepadButton> { GamepadButton.Down, GamepadButton.Right, GamepadButton.Circle}, 1f);
ConditionCommandSeq condDLC = new ConditionCommandSeq(new List<GamepadButton> { GamepadButton.Down, GamepadButton.Left, GamepadButton.Circle}, 1f);
+ ConditionHit condIsHit = new ConditionHit(this);
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// common triggers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -170,6 +172,8 @@ public partial class SaionjiScript : MonoBehaviour
attk1.AddTrigger(trigger);
attk1.AddTrigger(triggerTurnRight);
attk1.AddTrigger(triggerTurnLeft);
+ trigger = new Trigger(condIsHit, new ActionLog("hit!!!"));
+ attk1.AddLateTrigger(trigger);
//ConditionAnimRange condAttkRushGhostRange = new ConditionAnimRange(animator, 0f, 0.8f);
//trigger = new Trigger(condAttkRushGhostRange, enableGhost, false);
diff --git a/Assets/Scripts/Test/SaionjiScript_Physics.cs b/Assets/Scripts/Test/SaionjiScript_Physics.cs
new file mode 100644
index 00000000..87794998
--- /dev/null
+++ b/Assets/Scripts/Test/SaionjiScript_Physics.cs
@@ -0,0 +1,41 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public partial class SaionjiScript : MonoBehaviour, IInteractable
+{
+ public PhysicsBox m_Hitbox;
+ public PhysicsBox m_Hurtbox;
+
+ public PhysicsPrimitive[] GetAllPrimitive()
+ {
+ throw new System.NotImplementedException();
+ }
+
+ public PhysicsBox GetHitbox()
+ {
+ throw new System.NotImplementedException();
+ }
+
+ public PhysicsBox GetHurtbox()
+ {
+ throw new System.NotImplementedException();
+ }
+
+ public PhysicsPrimitive[] GetAllHit()
+ {
+ throw new System.NotImplementedException();
+ }
+
+ public bool IsHit()
+ {
+ bool isHit = PhysicsWorld.Instance.HasCollision(m_Hitbox);
+ return isHit;
+ }
+
+ public bool IsHurt()
+ {
+ bool isHurt = PhysicsWorld.Instance.HasCollision(m_Hurtbox);
+ return isHurt;
+ }
+}
diff --git a/Assets/Scripts/Test/SaionjiScript_Physics.cs.meta b/Assets/Scripts/Test/SaionjiScript_Physics.cs.meta
new file mode 100644
index 00000000..6dec949e
--- /dev/null
+++ b/Assets/Scripts/Test/SaionjiScript_Physics.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8efe5825ad2d8454f9bbbeefdd4333f0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: