From 65ed53a40f990e895305ff17a5e48e3cd6b8785b Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 24 Oct 2020 17:30:07 +0800 Subject: =?UTF-8?q?*=E7=89=A9=E7=90=86=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/Test/ArmorSoldierScript.cs | 37 ++++++++++++++++++++ Assets/Scripts/Test/ArmorSoldierScript.cs.meta | 11 ++++++ Assets/Scripts/Test/SaionjiScript.cs | 2 +- Assets/Scripts/Test/SaionjiScript_Ability.cs | 4 +++ Assets/Scripts/Test/SaionjiScript_Physics.cs | 41 +++++++++++++++++++++++ Assets/Scripts/Test/SaionjiScript_Physics.cs.meta | 11 ++++++ 6 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 Assets/Scripts/Test/ArmorSoldierScript.cs create mode 100644 Assets/Scripts/Test/ArmorSoldierScript.cs.meta create mode 100644 Assets/Scripts/Test/SaionjiScript_Physics.cs create mode 100644 Assets/Scripts/Test/SaionjiScript_Physics.cs.meta (limited to 'Assets/Scripts/Test') 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.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.Down, GamepadButton.Right, GamepadButton.Circle}, 1f); ConditionCommandSeq condDLC = new ConditionCommandSeq(new List { 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: -- cgit v1.1-26-g67d0