This commit is contained in:
fu-majime 2024-03-28 08:06:39 +09:00
parent 3bdee7ca71
commit 3ff5e1621e
7 changed files with 414 additions and 22 deletions

View file

@ -289,7 +289,7 @@ SpriteRenderer:
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: 0
m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3} m_Sprite: {fileID: 7482667652216324306, guid: 311925a002f4447b3a28927169b83ea6, type: 3}
m_Color: {r: 1, g: 0, b: 0, a: 1} m_Color: {r: 0, g: 1, b: 0, a: 1}
m_FlipX: 0 m_FlipX: 0
m_FlipY: 0 m_FlipY: 0
m_DrawMode: 0 m_DrawMode: 0

View file

@ -0,0 +1,95 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Beyond
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: -621957946, guid: 2d1fc53f689005645877ec3aa26a04aa, type: 3}
- time: 0.06666667
value: {fileID: -1228183043, guid: 2d1fc53f689005645877ec3aa26a04aa, type: 3}
- time: 0.13333334
value: {fileID: -1292152913, guid: 2d1fc53f689005645877ec3aa26a04aa, type: 3}
attribute: m_Sprite
path:
classID: 212
script: {fileID: 0}
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
pptrCurveMapping:
- {fileID: -621957946, guid: 2d1fc53f689005645877ec3aa26a04aa, type: 3}
- {fileID: -1228183043, guid: 2d1fc53f689005645877ec3aa26a04aa, type: 3}
- {fileID: -1292152913, guid: 2d1fc53f689005645877ec3aa26a04aa, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.15
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events:
- time: 0
functionName: SetMask
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0
- time: 0.06666667
functionName: SetMask
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 3
messageOptions: 0
- time: 0.13333334
functionName: SetMask
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 4
messageOptions: 0

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bc64744eaf5026441954d6d473138e4c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,191 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Beyond2
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0.2, y: 0, z: 0}
inSlope: {x: Infinity, y: 0, z: 0}
outSlope: {x: Infinity, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.06666667
value: {x: -0.2, y: 0, z: 0}
inSlope: {x: Infinity, y: 0, z: 0}
outSlope: {x: Infinity, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.13333334
value: {x: 0.2, y: 0, z: 0}
inSlope: {x: Infinity, y: 0, z: 0}
outSlope: {x: Infinity, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path:
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: -1292152913, guid: 2d1fc53f689005645877ec3aa26a04aa, type: 3}
attribute: m_Sprite
path:
classID: 212
script: {fileID: 0}
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 0
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
pptrCurveMapping:
- {fileID: -1292152913, guid: 2d1fc53f689005645877ec3aa26a04aa, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.13333334
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.2
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.06666667
value: -0.2
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.13333334
value: 0.2
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path:
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path:
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path:
classID: 4
script: {fileID: 0}
m_EulerEditorCurves: []
m_HasGenericRootTransform: 1
m_HasMotionFloatCurves: 0
m_Events:
- time: 0
functionName: SetMask
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 4
messageOptions: 0

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a61f08f28ccb09f4fbe55aa590e923c3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -78,6 +78,55 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1101 &-4437767289989465719
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5933483675615906073}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-4320946477745934298
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Beyond
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -4437767289989465719}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: bc64744eaf5026441954d6d473138e4c, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &-1830254761773337453 --- !u!1107 &-1830254761773337453
AnimatorStateMachine: AnimatorStateMachine:
serializedVersion: 6 serializedVersion: 6
@ -111,6 +160,12 @@ AnimatorStateMachine:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -4783784964691998181} m_State: {fileID: -4783784964691998181}
m_Position: {x: 445, y: 455, z: 0} m_Position: {x: 445, y: 455, z: 0}
- serializedVersion: 1
m_State: {fileID: -4320946477745934298}
m_Position: {x: 480, y: 520, z: 0}
- serializedVersion: 1
m_State: {fileID: 5933483675615906073}
m_Position: {x: 720, y: 520, z: 0}
m_ChildStateMachines: [] m_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []
@ -247,6 +302,32 @@ AnimatorState:
m_MirrorParameter: m_MirrorParameter:
m_CycleOffsetParameter: m_CycleOffsetParameter:
m_TimeParameter: m_TimeParameter:
--- !u!1102 &5933483675615906073
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Beyond2
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: a61f08f28ccb09f4fbe55aa590e923c3, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &8217423450910585099 --- !u!1102 &8217423450910585099
AnimatorState: AnimatorState:
serializedVersion: 6 serializedVersion: 6

View file

@ -59,6 +59,7 @@ namespace HeavenStudio.Games.Scripts_Fillbots
private Sound fillSound; private Sound fillSound;
private bool holding; private bool holding;
private bool isExplode = false;
private float lerpDistance; private float lerpDistance;
@ -145,7 +146,7 @@ namespace HeavenStudio.Games.Scripts_Fillbots
new MultiSound.Sound("fillbots/" + sizePrefix + "Fall", beat + 2), new MultiSound.Sound("fillbots/" + sizePrefix + "Fall", beat + 2),
}); });
game.ScheduleInput(startBeat, 4, Fillbots.InputAction_BasicPress, JustHold, HoldOut, HoldOut); game.ScheduleInput(startBeat, 4, Fillbots.InputAction_BasicPress, JustHold, Empty, Empty);
game.currentBots.Add(this); game.currentBots.Add(this);
} }
@ -181,9 +182,10 @@ namespace HeavenStudio.Games.Scripts_Fillbots
if (holding) if (holding)
{ {
float normalizedBeat = cond.GetPositionFromBeat(startBeat + 4, holdLength); float normalizedBeat = cond.GetPositionFromBeat(startBeat + 4, holdLength);
float normalizedExplodeBeat = cond.GetPositionFromBeat(startBeat + 4, holdLength + 2); float normalizedExplodeBeat = cond.GetPositionFromBeat(startBeat + 4, holdLength + 0.25);
float normalizedULTRAExplodeBeat = cond.GetPositionFromBeat(startBeat + 4, holdLength + 1.5f);
if (beepEvent != null && beepEvent.enabled && ReportBeat(ref beepEvent.lastReportedBeat)) if (!isExplode && beepEvent != null && beepEvent.enabled && ReportBeat(ref beepEvent.lastReportedBeat))
{ {
if (beepEvent.lastReportedBeat < beepEvent.startBeat + beepEvent.length) if (beepEvent.lastReportedBeat < beepEvent.startBeat + beepEvent.length)
{ {
@ -194,11 +196,18 @@ namespace HeavenStudio.Games.Scripts_Fillbots
} }
fillAnim.DoNormalizedAnimation("Fill", Mathf.Clamp(normalizedBeat, 0, 1)); fillAnim.DoNormalizedAnimation("Fill", Mathf.Clamp(normalizedBeat, 0, 1));
if (!game.IsExpectingInputNow(Fillbots.InputAction_BasicRelease) && normalizedExplodeBeat >= 1f) if (!isExplode && !game.IsExpectingInputNow(Fillbots.InputAction_BasicRelease) && normalizedExplodeBeat >= 1f)
{ {
SoundByte.PlayOneShotGame("fillbots/explosion"); isExplode = true;
game.currentBots.Remove(this); fullBody.Play("Beyond", 0, 0);
Destroy(gameObject); BeatAction.New(game, new List<BeatAction.Action>()
{
new BeatAction.Action(startBeat + holdLength + 5.5, delegate {
SoundByte.PlayOneShotGame("fillbots/explosion");
game.currentBots.Remove(this);
Destroy(gameObject);
}),
});
} }
else if (PlayerInput.GetIsAction(Fillbots.InputAction_BasicRelease) && !game.IsExpectingInputNow(Fillbots.InputAction_BasicRelease)) else if (PlayerInput.GetIsAction(Fillbots.InputAction_BasicRelease) && !game.IsExpectingInputNow(Fillbots.InputAction_BasicRelease))
{ {
@ -212,9 +221,9 @@ namespace HeavenStudio.Games.Scripts_Fillbots
SoundByte.PlayOneShotGame("fillbots/miss"); SoundByte.PlayOneShotGame("fillbots/miss");
if (game.conveyerStartBeat == -1) game.conveyerStartBeat = cond.songPositionInBeats + 1; if (game.conveyerStartBeat == -1) game.conveyerStartBeat = cond.songPositionInBeats + 1;
} }
else if (normalizedBeat >= 1) else if (!isExplode)
{ {
fullBody.Play("Dead", 0, 0); fullBody.DoScaledAnimationAsync("ReleaseLate", 0.5f);
fillSound.KillLoop(0); fillSound.KillLoop(0);
beepEvent.enabled = false; beepEvent.enabled = false;
holding = false; holding = false;
@ -222,6 +231,14 @@ namespace HeavenStudio.Games.Scripts_Fillbots
SoundByte.PlayOneShotGame("fillbots/miss"); SoundByte.PlayOneShotGame("fillbots/miss");
if (game.conveyerStartBeat == -1) game.conveyerStartBeat = cond.songPositionInBeats + 1; if (game.conveyerStartBeat == -1) game.conveyerStartBeat = cond.songPositionInBeats + 1;
} }
else
{
fillSound.KillLoop(0);
beepEvent.enabled = false;
holding = false;
normalizedFill = normalizedBeat;
if (game.conveyerStartBeat == -1) game.conveyerStartBeat = cond.songPositionInBeats + 1;
}
releaseEvent.Disable(); releaseEvent.Disable();
} }
} }
@ -248,7 +265,7 @@ namespace HeavenStudio.Games.Scripts_Fillbots
fullBody.DoScaledAnimationAsync("Hold", 1f); fullBody.DoScaledAnimationAsync("Hold", 1f);
SoundByte.PlayOneShotGame("fillbots/beep"); SoundByte.PlayOneShotGame("fillbots/beep");
fillSound = SoundByte.PlayOneShotGame("fillbots/water", -1, 1 / (float)(holdLength / 3), 1, true); fillSound = SoundByte.PlayOneShotGame("fillbots/water", -1, 1 / (float)(holdLength / 3), 1, true);
releaseEvent = game.ScheduleInput(startBeat + 4, holdLength, Fillbots.InputAction_BasicRelease, JustRelease, OutRelease, OutRelease); releaseEvent = game.ScheduleInput(startBeat + 4, holdLength, Fillbots.InputAction_BasicRelease, JustRelease, Empty, Empty);
beepEvent = new GameEvent() beepEvent = new GameEvent()
{ {
startBeat = startBeat + 4, startBeat = startBeat + 4,
@ -258,11 +275,6 @@ namespace HeavenStudio.Games.Scripts_Fillbots
}; };
} }
private void HoldOut(PlayerActionEvent caller)
{
}
private void JustRelease(PlayerActionEvent caller, float state) private void JustRelease(PlayerActionEvent caller, float state)
{ {
fillSound.KillLoop(0); fillSound.KillLoop(0);
@ -273,7 +285,7 @@ namespace HeavenStudio.Games.Scripts_Fillbots
{ {
SoundByte.PlayOneShotGame("fillbots/miss"); SoundByte.PlayOneShotGame("fillbots/miss");
game.filler.DoScaledAnimationAsync("ReleaseWhiff", 0.5f); game.filler.DoScaledAnimationAsync("ReleaseWhiff", 0.5f);
SoundByte.PlayOneShotGame("fillbots/armRetractionWhiff"); SoundByte.PlayOneShotGame("fillbots/armRetraction");
fullBody.DoScaledAnimationAsync("ReleaseLate", 0.5f); fullBody.DoScaledAnimationAsync("ReleaseLate", 0.5f);
return; return;
} }
@ -281,7 +293,7 @@ namespace HeavenStudio.Games.Scripts_Fillbots
{ {
SoundByte.PlayOneShotGame("fillbots/miss"); SoundByte.PlayOneShotGame("fillbots/miss");
game.filler.DoScaledAnimationAsync("ReleaseWhiff", 0.5f); game.filler.DoScaledAnimationAsync("ReleaseWhiff", 0.5f);
SoundByte.PlayOneShotGame("fillbots/armRetractionWhiff"); SoundByte.PlayOneShotGame("fillbots/armRetraction");
fullBody.DoScaledAnimationAsync("ReleaseEarly", 0.5f); fullBody.DoScaledAnimationAsync("ReleaseEarly", 0.5f);
return; return;
} }
@ -303,10 +315,7 @@ namespace HeavenStudio.Games.Scripts_Fillbots
}); });
} }
private void OutRelease(PlayerActionEvent caller) private void Empty(PlayerActionEvent caller) { }
{
}
public bool ReportBeat(ref double lastReportedBeat) public bool ReportBeat(ref double lastReportedBeat)
{ {