feat(fix-system): 优化损坏模块火花表现
This commit is contained in:
@@ -26817,6 +26817,10 @@ PrefabInstance:
|
||||
propertyPath: m_SortingLayerID
|
||||
value: 467777933
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 851264023435953513, guid: 00201a2051999414b93a0afa905a4d9a, type: 3}
|
||||
propertyPath: m_SortingLayerID
|
||||
value: 467777933
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4299601253263290863, guid: 00201a2051999414b93a0afa905a4d9a, type: 3}
|
||||
propertyPath: flashSpriteRenderer
|
||||
value:
|
||||
@@ -27017,15 +27021,16 @@ MonoBehaviour:
|
||||
flickerMinInterval: 0.06
|
||||
flickerMaxInterval: 0.18
|
||||
sparkAsset: {fileID: 8926484042661614526, guid: e4d341c0a7404c7f90831f00f40a6d23, type: 3}
|
||||
sparkMinInterval: 0.35
|
||||
sparkMaxInterval: 1.2
|
||||
sparkBoundsPadding: 0.06
|
||||
sparkBoundsScale: {x: 1, y: 1}
|
||||
sparkMinInterval: 0.3
|
||||
sparkMaxInterval: 1
|
||||
sparkBoundsPadding: 0.01
|
||||
sparkBoundsScale: {x: 0.9, y: 0.92}
|
||||
sparkCenterOffset: {x: 0, y: 0}
|
||||
sparkBurstCount: {x: 2, y: 5}
|
||||
sparkLifetime: {x: 0.08, y: 0.22}
|
||||
sparkSizeFactor: {x: 0.025, y: 0.055}
|
||||
sparkVelocityFactor: 1.5
|
||||
sparkBurstCount: {x: 3, y: 6}
|
||||
sparkLifetime: {x: 0.1, y: 0.24}
|
||||
sparkSizeFactor: {x: 0.032, y: 0.065}
|
||||
sparkWidth: 0.45
|
||||
sparkVelocityFactor: 0.9
|
||||
--- !u!114 &910000000000000002
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -27043,15 +27048,16 @@ MonoBehaviour:
|
||||
flickerMinInterval: 0.06
|
||||
flickerMaxInterval: 0.18
|
||||
sparkAsset: {fileID: 8926484042661614526, guid: e4d341c0a7404c7f90831f00f40a6d23, type: 3}
|
||||
sparkMinInterval: 0.35
|
||||
sparkMaxInterval: 1.2
|
||||
sparkBoundsPadding: 0.06
|
||||
sparkBoundsScale: {x: 1, y: 1}
|
||||
sparkMinInterval: 0.3
|
||||
sparkMaxInterval: 1
|
||||
sparkBoundsPadding: 0.01
|
||||
sparkBoundsScale: {x: 0.9, y: 0.92}
|
||||
sparkCenterOffset: {x: 0, y: 0}
|
||||
sparkBurstCount: {x: 2, y: 5}
|
||||
sparkLifetime: {x: 0.08, y: 0.22}
|
||||
sparkSizeFactor: {x: 0.025, y: 0.055}
|
||||
sparkVelocityFactor: 1.5
|
||||
sparkBurstCount: {x: 3, y: 6}
|
||||
sparkLifetime: {x: 0.1, y: 0.24}
|
||||
sparkSizeFactor: {x: 0.032, y: 0.065}
|
||||
sparkWidth: 0.45
|
||||
sparkVelocityFactor: 0.9
|
||||
--- !u!114 &910000000000000003
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -27069,15 +27075,16 @@ MonoBehaviour:
|
||||
flickerMinInterval: 0.06
|
||||
flickerMaxInterval: 0.18
|
||||
sparkAsset: {fileID: 8926484042661614526, guid: e4d341c0a7404c7f90831f00f40a6d23, type: 3}
|
||||
sparkMinInterval: 0.35
|
||||
sparkMaxInterval: 1.2
|
||||
sparkBoundsPadding: 0.06
|
||||
sparkBoundsScale: {x: 1, y: 1}
|
||||
sparkMinInterval: 0.3
|
||||
sparkMaxInterval: 1
|
||||
sparkBoundsPadding: 0.01
|
||||
sparkBoundsScale: {x: 0.9, y: 0.92}
|
||||
sparkCenterOffset: {x: 0, y: 0}
|
||||
sparkBurstCount: {x: 2, y: 5}
|
||||
sparkLifetime: {x: 0.08, y: 0.22}
|
||||
sparkSizeFactor: {x: 0.025, y: 0.055}
|
||||
sparkVelocityFactor: 1.5
|
||||
sparkBurstCount: {x: 3, y: 6}
|
||||
sparkLifetime: {x: 0.1, y: 0.24}
|
||||
sparkSizeFactor: {x: 0.032, y: 0.065}
|
||||
sparkWidth: 0.45
|
||||
sparkVelocityFactor: 0.9
|
||||
--- !u!114 &910000000000000004
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -27095,15 +27102,16 @@ MonoBehaviour:
|
||||
flickerMinInterval: 0.06
|
||||
flickerMaxInterval: 0.18
|
||||
sparkAsset: {fileID: 8926484042661614526, guid: e4d341c0a7404c7f90831f00f40a6d23, type: 3}
|
||||
sparkMinInterval: 0.35
|
||||
sparkMaxInterval: 1.2
|
||||
sparkBoundsPadding: 0.06
|
||||
sparkBoundsScale: {x: 1, y: 1}
|
||||
sparkMinInterval: 0.3
|
||||
sparkMaxInterval: 1
|
||||
sparkBoundsPadding: 0.01
|
||||
sparkBoundsScale: {x: 0.9, y: 0.92}
|
||||
sparkCenterOffset: {x: 0, y: 0}
|
||||
sparkBurstCount: {x: 2, y: 5}
|
||||
sparkLifetime: {x: 0.08, y: 0.22}
|
||||
sparkSizeFactor: {x: 0.025, y: 0.055}
|
||||
sparkVelocityFactor: 1.5
|
||||
sparkBurstCount: {x: 3, y: 6}
|
||||
sparkLifetime: {x: 0.1, y: 0.24}
|
||||
sparkSizeFactor: {x: 0.032, y: 0.065}
|
||||
sparkWidth: 0.45
|
||||
sparkVelocityFactor: 0.9
|
||||
--- !u!114 &910000000000000005
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -27121,15 +27129,16 @@ MonoBehaviour:
|
||||
flickerMinInterval: 0.06
|
||||
flickerMaxInterval: 0.18
|
||||
sparkAsset: {fileID: 8926484042661614526, guid: e4d341c0a7404c7f90831f00f40a6d23, type: 3}
|
||||
sparkMinInterval: 0.35
|
||||
sparkMaxInterval: 1.2
|
||||
sparkBoundsPadding: 0.06
|
||||
sparkBoundsScale: {x: 1, y: 1}
|
||||
sparkMinInterval: 0.3
|
||||
sparkMaxInterval: 1
|
||||
sparkBoundsPadding: 0.01
|
||||
sparkBoundsScale: {x: 0.9, y: 0.92}
|
||||
sparkCenterOffset: {x: 0, y: 0}
|
||||
sparkBurstCount: {x: 2, y: 5}
|
||||
sparkLifetime: {x: 0.08, y: 0.22}
|
||||
sparkSizeFactor: {x: 0.025, y: 0.055}
|
||||
sparkVelocityFactor: 1.5
|
||||
sparkBurstCount: {x: 3, y: 6}
|
||||
sparkLifetime: {x: 0.1, y: 0.24}
|
||||
sparkSizeFactor: {x: 0.032, y: 0.065}
|
||||
sparkWidth: 0.45
|
||||
sparkVelocityFactor: 0.9
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -7,15 +7,15 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
/// <summary>
|
||||
/// 模块运行状态的纯表现层:Module Pic 始终显示,文字负责常亮/闪烁/熄灭,
|
||||
/// 火花依据 Module Pic 的世界包围盒生成在外围并渲染在本体下层。
|
||||
/// 火花依据 Module Pic 的世界包围盒收束在底边,并渲染在本体下层。
|
||||
/// </summary>
|
||||
public class ModuleConditionVisual : MonoBehaviour
|
||||
{
|
||||
private static readonly Vector2[] SparkDirections =
|
||||
{
|
||||
new(-1f, -1f), new(0f, -1f), new(1f, -1f),
|
||||
new(-1f, 0f), new(1f, 0f),
|
||||
new(-1f, 1f), new(0f, 1f), new(1f, 1f)
|
||||
new(-0.5f, -0.86f),
|
||||
new(0f, -0.86f),
|
||||
new(0.5f, -0.86f)
|
||||
};
|
||||
|
||||
[Header("模块引用")]
|
||||
@@ -28,15 +28,16 @@ namespace AibisDream.FixSystem
|
||||
|
||||
[Header("损坏火花")]
|
||||
[SerializeField] private VisualEffectAsset sparkAsset;
|
||||
[SerializeField, Min(0.01f)] private float sparkMinInterval = 0.35f;
|
||||
[SerializeField, Min(0.01f)] private float sparkMaxInterval = 1.2f;
|
||||
[SerializeField, Min(0f)] private float sparkBoundsPadding = 0.06f;
|
||||
[SerializeField] private Vector2 sparkBoundsScale = Vector2.one;
|
||||
[SerializeField, Min(0.01f)] private float sparkMinInterval = 0.3f;
|
||||
[SerializeField, Min(0.01f)] private float sparkMaxInterval = 1f;
|
||||
[SerializeField, Min(0f)] private float sparkBoundsPadding = 0.01f;
|
||||
[SerializeField] private Vector2 sparkBoundsScale = new(0.9f, 0.92f);
|
||||
[SerializeField] private Vector2 sparkCenterOffset = Vector2.zero;
|
||||
[SerializeField] private Vector2 sparkBurstCount = new(2f, 5f);
|
||||
[SerializeField] private Vector2 sparkLifetime = new(0.08f, 0.22f);
|
||||
[SerializeField] private Vector2 sparkSizeFactor = new(0.025f, 0.055f);
|
||||
[SerializeField, Min(0f)] private float sparkVelocityFactor = 1.5f;
|
||||
[SerializeField] private Vector2 sparkBurstCount = new(3f, 6f);
|
||||
[SerializeField] private Vector2 sparkLifetime = new(0.1f, 0.24f);
|
||||
[SerializeField] private Vector2 sparkSizeFactor = new(0.032f, 0.065f);
|
||||
[SerializeField, Min(0.01f)] private float sparkWidth = 0.45f;
|
||||
[SerializeField, Min(0f)] private float sparkVelocityFactor = 0.9f;
|
||||
|
||||
private readonly List<VisualEffect> _sparkEmitters = new();
|
||||
private Coroutine _textFlickerCoroutine;
|
||||
@@ -228,6 +229,8 @@ namespace AibisDream.FixSystem
|
||||
effect.SetVector2("Lifetime Min/Max", sparkLifetime);
|
||||
if (effect.HasVector2("Size Min/Max"))
|
||||
effect.SetVector2("Size Min/Max", sparkSizeFactor * sizeBase);
|
||||
if (effect.HasFloat("Sparkle Width"))
|
||||
effect.SetFloat("Sparkle Width", sparkWidth);
|
||||
if (effect.HasVector3("Initial Velocity_vector"))
|
||||
{
|
||||
var speed = sizeBase * sparkVelocityFactor;
|
||||
|
||||
Reference in New Issue
Block a user