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/Curve3D.meta | 8 ----- Assets/Scripts/Drone.meta | 8 ----- Assets/Scripts/Managers/UnitManager.cs | 20 +++++------ Assets/Scripts/Props.meta | 8 ----- Assets/Scripts/Robot.meta | 8 ----- Assets/Scripts/Scene.meta | 8 ----- Assets/Scripts/Test 1/TestErika.cs | 4 +++ 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 ++++++++++++++++++++-- 17 files changed, 117 insertions(+), 76 deletions(-) delete mode 100644 Assets/Scripts/Curve3D.meta delete mode 100644 Assets/Scripts/Drone.meta delete mode 100644 Assets/Scripts/Props.meta delete mode 100644 Assets/Scripts/Robot.meta delete mode 100644 Assets/Scripts/Scene.meta 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') diff --git a/Assets/Scripts/Curve3D.meta b/Assets/Scripts/Curve3D.meta deleted file mode 100644 index fef1c5e7..00000000 --- a/Assets/Scripts/Curve3D.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ad8b718b6b700d8419838dad07158567 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Drone.meta b/Assets/Scripts/Drone.meta deleted file mode 100644 index 694cff70..00000000 --- a/Assets/Scripts/Drone.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ec3412151f8a72a41b2ed21316763399 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Managers/UnitManager.cs b/Assets/Scripts/Managers/UnitManager.cs index f268d033..62afc08b 100644 --- a/Assets/Scripts/Managers/UnitManager.cs +++ b/Assets/Scripts/Managers/UnitManager.cs @@ -2,17 +2,15 @@ using System.Collections.Generic; using UnityEngine; -public class UnitManager : MonoBehaviour +public class UnitManager : Singleton { - // Start is called before the first frame update - void Start() - { - - } + public PCController pc { get; private set; } - // Update is called once per frame - void Update() - { - - } + public List monsters { get; private set; } + + + public void SetPlayerCharacter(PCController pc) + { + this.pc = pc; + } } diff --git a/Assets/Scripts/Props.meta b/Assets/Scripts/Props.meta deleted file mode 100644 index bb96602e..00000000 --- a/Assets/Scripts/Props.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f299520ed9fcf4a45858ad4ef5a8d5d1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Robot.meta b/Assets/Scripts/Robot.meta deleted file mode 100644 index 0b5a087e..00000000 --- a/Assets/Scripts/Robot.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7c09ca1609552d24bbe697d1516f8aa9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Scene.meta b/Assets/Scripts/Scene.meta deleted file mode 100644 index eb7a8716..00000000 --- a/Assets/Scripts/Scene.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: eaee2d0f48cff9b40baf0686a8105600 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Test 1/TestErika.cs b/Assets/Scripts/Test 1/TestErika.cs index f82e30f7..90ac0499 100644 --- a/Assets/Scripts/Test 1/TestErika.cs +++ b/Assets/Scripts/Test 1/TestErika.cs @@ -80,6 +80,10 @@ public class TestErika : SingletonMB Debug.Assert(animator.runtimeAnimatorController is AnimatorOverrideController); unitCtr.pcState.ChangeState(PCState.EUnitState.Idle, new PCState.IdleParam(), true); + + //////////////////////////////// + + UnitManager.Instance.SetPlayerCharacter(unitCtr as PCController); } void SetupMonster() 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