文字弹出效果调整

This commit is contained in:
2025-12-25 21:54:50 +08:00
parent 430e0dd971
commit aa995fe60e
21 changed files with 296 additions and 381 deletions
@@ -21,4 +21,4 @@ MonoBehaviour:
- {fileID: 11400000, guid: 7b4c80c072fa1784ab3223a1084225d4, type: 2}
- {fileID: 11400000, guid: 589fde7a8735fa44f8fe167466fd403b, type: 2}
- {fileID: 11400000, guid: 61d3b78d55f36924eb5182b317f09f50, type: 2}
- {fileID: 11400000, guid: 66c13343cc1b9dd4e80fc54742bd1b8c, type: 2}
- {fileID: 11400000, guid: c66ad9188c940404d8d95f3b75bc2e74, type: 2}
@@ -9,370 +9,8 @@ MonoBehaviour:
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f29c16c9fe849e442b4f1bab0c32e28a, type: 3}
m_Script: {fileID: 11500000, guid: b35610ff4f94b48418a96b669a706775, type: 3}
m_Name: StepAppearance
m_EditorClassIdentifier:
tagID: step
timeMode:
startDelay: 0
useUniformTime: 1
waveSize: 0
timeSpeed: 1
emissionCurve:
cycles: 1
duration: 1
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.04143524
value: 0.9868164
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.92541504
value: 1.0178833
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
animationData:
movementX:
enabled: 0
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.5
value: 0.5
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 1
m_PostInfinity: 1
m_RotationOrder: 4
amplitude: 1
waveSize: 0
movementY:
enabled: 0
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.5
value: 0.5
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 1
m_PostInfinity: 1
m_RotationOrder: 4
amplitude: 1
waveSize: 0
movementZ:
enabled: 0
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.5
value: 0.5
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 1
m_PostInfinity: 1
m_RotationOrder: 4
amplitude: 1
waveSize: 0
scaleX:
enabled: 0
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.5
value: 0.5
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 1
m_PostInfinity: 1
m_RotationOrder: 4
amplitude: 2
waveSize: 0
scaleY:
enabled: 0
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.5
value: 0.5
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 1
m_PostInfinity: 1
m_RotationOrder: 4
amplitude: 2
waveSize: 0
rotX:
enabled: 0
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.5
value: 0.5
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 1
m_PostInfinity: 1
m_RotationOrder: 4
amplitude: 45
waveSize: 0
rotY:
enabled: 0
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.5
value: 0.5
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 1
m_PostInfinity: 1
m_RotationOrder: 4
amplitude: 45
waveSize: 0
rotZ:
enabled: 0
weightOverTime:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.5
value: 0.5
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 1
m_PostInfinity: 1
m_RotationOrder: 4
amplitude: 45
waveSize: 0
colorCurve:
enabled: 0
colorOverTime:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 0, g: 1, b: 1, a: 1}
key2: {r: 1, g: 1, b: 1, a: 0}
key3: {r: 0, g: 0, b: 0, a: 0}
key4: {r: 0, g: 0, b: 0, a: 0}
key5: {r: 0, g: 0, b: 0, a: 0}
key6: {r: 0, g: 0, b: 0, a: 0}
key7: {r: 0, g: 0, b: 0, a: 0}
ctime0: 0
ctime1: 34502
ctime2: 65535
ctime3: 0
ctime4: 0
ctime5: 0
ctime6: 0
ctime7: 0
atime0: 0
atime1: 65535
atime2: 0
atime3: 0
atime4: 0
atime5: 0
atime6: 0
atime7: 0
m_Mode: 1
m_ColorSpace: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
waveSize: 0
duration: 1
baseDuration: 0.5
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 66c13343cc1b9dd4e80fc54742bd1b8c
guid: c66ad9188c940404d8d95f3b75bc2e74
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
@@ -0,0 +1,45 @@
using Febucci.UI.Core;
using Febucci.UI.Effects;
using UnityEngine;
namespace Febucci.UI.Effects
{
[UnityEngine.Scripting.Preserve]
[CreateAssetMenu(fileName = "Direct Appearance", menuName = "Text Animator/Animations/Appearances/Direct")]
[EffectInfo("step", EffectCategory.Appearances)]
public sealed class DirectAppearance : AppearanceScriptableBase
{
Color32 temp;
public override void ResetContext(TAnimCore animator)
{
base.ResetContext(animator);
}
public override void ApplyEffectTo(ref Core.CharacterData character, TAnimCore animator)
{
float timeProgress = character.passedTime / duration;
// First half: hide (alpha = 0)
// Second half: show (alpha = original)
for (int i = 0; i < TextUtilities.verticesPerChar; i++)
{
temp = character.current.colors[i];
if (timeProgress < 0.5f)
{
// First half: completely transparent
temp.a = 0;
}
else
{
// Second half: use original alpha from source
temp.a = character.source.colors[i].a;
}
character.current.colors[i] = temp;
}
}
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b35610ff4f94b48418a96b669a706775
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: