From 8b65edb43be0945203633b33d7a62c81ab3f05ce Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 16 Sep 2021 09:52:33 +0800 Subject: +unit effect --- Assets/Scripts/Unit/AI/Actions.meta | 8 ----- Assets/Scripts/Unit/AI/Conditionals.meta | 8 ----- Assets/Scripts/Unit/Components/UnitRender.cs | 2 +- .../Scripts/Unit/Components/UnitState/PCState.cs | 10 +++--- .../Unit/Components/UnitState/PCState_States.cs | 6 ++-- Assets/Scripts/Unit/Effect.meta | 8 +++++ Assets/Scripts/Unit/Effect/UnitCamera.cs | 34 ++++++++++++++++++ Assets/Scripts/Unit/Effect/UnitCamera.cs.meta | 11 ++++++ Assets/Scripts/Unit/TimelineEventProxy.cs | 2 ++ Assets/Scripts/Unit/UnitDetail.cs | 40 ++++++++++++++++++++-- 10 files changed, 104 insertions(+), 25 deletions(-) delete mode 100644 Assets/Scripts/Unit/AI/Actions.meta delete mode 100644 Assets/Scripts/Unit/AI/Conditionals.meta create mode 100644 Assets/Scripts/Unit/Effect.meta create mode 100644 Assets/Scripts/Unit/Effect/UnitCamera.cs create mode 100644 Assets/Scripts/Unit/Effect/UnitCamera.cs.meta (limited to 'Assets/Scripts/Unit') diff --git a/Assets/Scripts/Unit/AI/Actions.meta b/Assets/Scripts/Unit/AI/Actions.meta deleted file mode 100644 index 9b4ad463..00000000 --- a/Assets/Scripts/Unit/AI/Actions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 971e9d55b8bc0894eb6a110fb962000b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Unit/AI/Conditionals.meta b/Assets/Scripts/Unit/AI/Conditionals.meta deleted file mode 100644 index 70a86da5..00000000 --- a/Assets/Scripts/Unit/AI/Conditionals.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 85b7e0c7ed1d12f42a5178bfbf3d934c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Unit/Components/UnitRender.cs b/Assets/Scripts/Unit/Components/UnitRender.cs index c8f6a125..b3fd18c8 100644 --- a/Assets/Scripts/Unit/Components/UnitRender.cs +++ b/Assets/Scripts/Unit/Components/UnitRender.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using UnityEngine; -// 控制角色渲染 +// 角色渲染 [DisallowMultipleComponent] public class UnitRender : UnitComponent { diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs index afedf6d8..c7cab21c 100644 --- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs +++ b/Assets/Scripts/Unit/Components/UnitState/PCState.cs @@ -131,7 +131,7 @@ public partial class PCState : UnitState } } - void TryTeleport() + bool TryTeleport() { if (Input.GetKeyDown("i")) //if (InputManager.Instance.TryCommand(0.5f, KeyCode.I)) @@ -139,12 +139,14 @@ public partial class PCState : UnitState float offset = owner.isTowardRight ? 1.5f : -1.5f; owner.center = TestErika.Instance.monster.owner.center + new Vector3(offset, -0.5f, 0); TurnAround(!owner.isTowardRight); + return true; } + return false; } - void TryBlink() + bool TryBlink() { - + return false; } bool TryTianyin() @@ -161,7 +163,7 @@ public partial class PCState : UnitState bool TryAttackToAir() { - if(Input.GetKey("s") && Input.GetKeyDown("j")) + if(Input.GetKey("w") && Input.GetKeyDown("j")) { ChangeState(EUnitState.AttackToAir, new SkillParam()); return true; diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs b/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs index 7860e2af..738cc7ce 100644 --- a/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs +++ b/Assets/Scripts/Unit/Components/UnitState/PCState_States.cs @@ -212,9 +212,11 @@ public partial class PCState : UnitState InputManager.Instance.ClearCommand(); while (true) { - TryTeleport(); + if (TryTeleport()) + { + } - TryTianyin(); + TryTianyin(); if (isComboOpen) { diff --git a/Assets/Scripts/Unit/Effect.meta b/Assets/Scripts/Unit/Effect.meta new file mode 100644 index 00000000..18369d64 --- /dev/null +++ b/Assets/Scripts/Unit/Effect.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7ff5e16d7cc0410489258a170a2a539a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Unit/Effect/UnitCamera.cs b/Assets/Scripts/Unit/Effect/UnitCamera.cs new file mode 100644 index 00000000..01194512 --- /dev/null +++ b/Assets/Scripts/Unit/Effect/UnitCamera.cs @@ -0,0 +1,34 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +// 专门用来渲染player character的相机,用来做特效 +[RequireComponent(typeof(Camera))] +public class UnitCamera : MonoBehaviour +{ + PCController pc { get { return UnitManager.Instance.pc; } } + + Camera m_Camera; + + private void OnEnable() + { + m_Camera = GetComponent(); + } + + private void OnPreRender() + { + if (pc == null) + return; + if (m_Camera == null) + return; + + Vector3 pos = transform.position; + transform.position = new Vector3(pc.center.x, pc.center.y, pos.z); + + float dz = Mathf.Abs(pos.z - pc.center.z); + float fov = 2 * Mathf.Atan2(pc.unitDetail.snapshotBound / 2, dz) * Mathf.Rad2Deg; + + m_Camera.fieldOfView = fov; + } + +} diff --git a/Assets/Scripts/Unit/Effect/UnitCamera.cs.meta b/Assets/Scripts/Unit/Effect/UnitCamera.cs.meta new file mode 100644 index 00000000..e74544bd --- /dev/null +++ b/Assets/Scripts/Unit/Effect/UnitCamera.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c4798e37b95c98b4d9679542c6e14947 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs index 70e454ba..356a7498 100644 --- a/Assets/Scripts/Unit/TimelineEventProxy.cs +++ b/Assets/Scripts/Unit/TimelineEventProxy.cs @@ -45,6 +45,7 @@ public partial class TimelineEventProxy public RegisterParticleSystemHandle registerParticleSystem; #endif + // 不要序列化枚举值,因为可能会随时更改 public enum EEventType { EventGame_TimeScale, // 缩放时间 @@ -61,6 +62,7 @@ public partial class TimelineEventProxy EventMesh_FadeIn, // 角色透明度 EventMesh_FadeOut, // 角色透明度 EventMesh_Gloss, // 角色泛光 + EventMesh_Blur, // 运动模糊(非后处理) EventEnv_Dark, EventEnv_Exposure, diff --git a/Assets/Scripts/Unit/UnitDetail.cs b/Assets/Scripts/Unit/UnitDetail.cs index bab954c4..03d26fdd 100644 --- a/Assets/Scripts/Unit/UnitDetail.cs +++ b/Assets/Scripts/Unit/UnitDetail.cs @@ -100,6 +100,11 @@ public enum EUnitReferencePoint HitpointLowerBody, HitpointLowerBodyFront, HitpointLowerBodyBack, + + GrabpointChest = 60, // 被抓取的时候的挂点 + GrabpointHead, + GrabpointLeg, + } [Serializable] @@ -112,6 +117,8 @@ public class UnitReferencePointDictionary : SerializableDictionary(); + return m_meshRenderer; + } + } + + + public Vector3 center + { + get + { + return meshRenderer.bounds.center; + } + } + + public UnitDetail() { bones = new UnitBoneDictionary(); foreach(EUnitBone e in Enum.GetValues(typeof(EUnitBone))) @@ -141,4 +170,11 @@ public class UnitDetail : MonoBehaviour return bones.ContainsKey(bone); } + private void OnDrawGizmos() + { + if (!showGizmos) + return; + Gizmos.DrawWireCube(center, new Vector3(snapshotBound, snapshotBound, 0)); + } + } \ No newline at end of file -- cgit v1.1-26-g67d0