diff options
author | chai <chaifix@163.com> | 2021-09-16 09:52:33 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-09-16 09:52:33 +0800 |
commit | 8b65edb43be0945203633b33d7a62c81ab3f05ce (patch) | |
tree | bb5186baf27e58ca96389843907f9906380fd8e0 /Assets/Scripts/Unit | |
parent | 28b89971f0d3fd246443450c87f33996716facb3 (diff) |
+unit effect
Diffstat (limited to 'Assets/Scripts/Unit')
-rw-r--r-- | Assets/Scripts/Unit/AI/Conditionals.meta | 8 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Components/UnitRender.cs | 2 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Components/UnitState/PCState.cs | 10 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Components/UnitState/PCState_States.cs | 6 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Effect.meta (renamed from Assets/Scripts/Unit/AI/Actions.meta) | 2 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Effect/UnitCamera.cs | 34 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Effect/UnitCamera.cs.meta | 11 | ||||
-rw-r--r-- | Assets/Scripts/Unit/TimelineEventProxy.cs | 2 | ||||
-rw-r--r-- | Assets/Scripts/Unit/UnitDetail.cs | 40 |
9 files changed, 97 insertions, 18 deletions
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/AI/Actions.meta b/Assets/Scripts/Unit/Effect.meta index 9b4ad463..18369d64 100644 --- a/Assets/Scripts/Unit/AI/Actions.meta +++ b/Assets/Scripts/Unit/Effect.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 971e9d55b8bc0894eb6a110fb962000b +guid: 7ff5e16d7cc0410489258a170a2a539a folderAsset: yes DefaultImporter: externalObjects: {} 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<Camera>(); + } + + 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<EUnitReferenc [DisallowMultipleComponent] public class UnitDetail : MonoBehaviour { + public bool showGizmos; + [Tooltip("残影用的prefab")] public string afterImageAvatarPath; @@ -119,8 +126,30 @@ public class UnitDetail : MonoBehaviour public UnitReferencePointDictionary referencePoints;
- //[ExecuteInEditMode]
- public UnitDetail() + //public Vector2 snapshotBound;
+ public float snapshotBound;
+
+ private SkinnedMeshRenderer m_meshRenderer;
+ public SkinnedMeshRenderer meshRenderer
+ {
+ get
+ {
+ if (!m_meshRenderer)
+ m_meshRenderer = this.gameObject.GetComponentInChildren<SkinnedMeshRenderer>();
+ 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 |