animation from beat functional, octo machine converted

this looks fantastic i can't wait to implement this into more things
This commit is contained in:
AstrlJelly 2023-10-27 14:20:45 -04:00
parent c30ac8e282
commit cb4a3c5122
9 changed files with 455 additions and 434 deletions

View file

@ -1119,7 +1119,6 @@ MonoBehaviour:
SoundSequences: []
EligibleHits: []
scheduledInputs: []
firstEnable: 0
ForkLifterHand: {fileID: 5813499711174113249}
handAnim: {fileID: 5813499711174113250}
flickedObject: {fileID: 5813499710694194086}

View file

@ -26,55 +26,6 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-2244942594801115525
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: -3335095768559015400}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 1
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-1603142614781995660
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hand_GrabObject
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -2244942594801115525}
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: 37f53717e1d7fc64898c793f83020828, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@ -97,28 +48,6 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1101 &2613062273872111154
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: -1603142614781995660}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0
m_HasExitTime: 1
m_HasFixedDuration: 0
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &4663746626472684145
AnimatorState:
serializedVersion: 6
@ -156,13 +85,10 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 6004606327514597299}
m_Position: {x: 520, y: 10, z: 0}
m_Position: {x: 520, y: 40, z: 0}
- serializedVersion: 1
m_State: {fileID: -3335095768559015400}
m_Position: {x: 240, y: -10, z: 0}
- serializedVersion: 1
m_State: {fileID: -1603142614781995660}
m_Position: {x: 360, y: 120, z: 0}
m_Position: {x: 190, y: 210, z: 0}
- serializedVersion: 1
m_State: {fileID: 4663746626472684145}
m_Position: {x: 440, y: -70, z: 0}
@ -189,8 +115,7 @@ AnimatorState:
m_Name: Hand_Flick
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 2613062273872111154}
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0

View file

@ -14,22 +14,6 @@ AnimationClip:
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: 0, y: 0, z: -133.353}
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: SOME01_128091f1_6_11
- curve:
serializedVersion: 2
m_Curve:
@ -47,31 +31,6 @@ AnimationClip:
m_RotationOrder: 4
path: HandVisual
m_PositionCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -0.363, y: 1.035, z: 74.52776}
inSlope: {x: Infinity, y: Infinity, z: Infinity}
outSlope: {x: Infinity, y: Infinity, z: Infinity}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.16666667
value: {x: -0.218, y: 1.214, z: 74.52776}
inSlope: {x: Infinity, y: Infinity, z: Infinity}
outSlope: {x: Infinity, y: Infinity, z: Infinity}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: SOME01_128091f1_6_11
- curve:
serializedVersion: 2
m_Curve:
@ -93,10 +52,78 @@ AnimationClip:
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.3
value: {x: -0.235, y: 1.216, z: 74.52776}
inSlope: {x: Infinity, y: Infinity, z: Infinity}
outSlope: {x: Infinity, y: Infinity, z: Infinity}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.35
value: {x: -0.113, y: 1.145, z: 74.52776}
inSlope: {x: Infinity, y: Infinity, z: Infinity}
outSlope: {x: Infinity, y: Infinity, z: Infinity}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.4
value: {x: 0.02943516, y: 1.231121, z: 74.52776}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: HandVisual
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.3
value: {x: -0.1, y: 0.408, z: 74.52776}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.35
value: {x: 0.017, y: 0.261, z: 74.52776}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path: PeaVisual
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.4
value: {x: 0.271, y: -0.031, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, 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: HandVisual/hand_shadow1
m_ScaleCurves: []
m_FloatCurves:
- curve:
@ -120,6 +147,15 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.4
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -139,6 +175,15 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.3
value: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -149,41 +194,53 @@ AnimationClip:
m_PPtrCurves:
- curve:
- time: 0
value: {fileID: 21300000, guid: e289120f53cab0c47bc168c74f1334fe, type: 3}
value: {fileID: 0}
- time: 0.016666668
value: {fileID: 21300000, guid: 7eac82b47cfe63d4a82e79916b6df821, type: 3}
value: {fileID: 0}
- time: 0.033333335
value: {fileID: 21300000, guid: b577af31fb7acae469a736e54886426b, type: 3}
value: {fileID: 0}
- time: 0.05
value: {fileID: 21300000, guid: bf6d6375d442f534cae6f4bf6da54243, type: 3}
value: {fileID: 0}
- time: 0.06666667
value: {fileID: 21300000, guid: 2f97f62820af55c4f8fc0303ea6843f5, type: 3}
value: {fileID: 0}
- time: 0.083333336
value: {fileID: 21300000, guid: 1a8c5fd3822226249957fa3356b4070a, type: 3}
value: {fileID: 0}
- time: 0.1
value: {fileID: 21300000, guid: 4ed7ed944f9b66441941effac0f1806e, type: 3}
value: {fileID: 0}
- time: 0.11666667
value: {fileID: 21300000, guid: a77ebd0aaac183e45bff0d05745cf0d1, type: 3}
value: {fileID: 0}
- time: 0.13333334
value: {fileID: 21300000, guid: e8f0b0c90828def458b07adedcb16992, type: 3}
value: {fileID: 0}
- time: 0.15
value: {fileID: 21300000, guid: 03f01dcf91cdae34897562741c338bcb, type: 3}
value: {fileID: 0}
- time: 0.16666667
value: {fileID: 21300000, guid: 89164a5ca38e87d409b45d2a3c29de7c, type: 3}
value: {fileID: 0}
- time: 0.18333334
value: {fileID: 21300000, guid: 200499fa2c79f214681c681dd0eaabd3, type: 3}
value: {fileID: 0}
- time: 0.2
value: {fileID: 21300000, guid: fb1703ab0ff9d3c49a902548ce45ff91, type: 3}
value: {fileID: 0}
- time: 0.21666667
value: {fileID: 21300000, guid: 809df09db346d6f4fb2aac15956b5d76, type: 3}
value: {fileID: 0}
- time: 0.23333333
value: {fileID: 21300000, guid: f97227717c214104fa945ca47aa29617, type: 3}
value: {fileID: 0}
- time: 0.25
value: {fileID: 21300000, guid: 8fe446d26cf43724196c575595c7dac4, type: 3}
value: {fileID: 0}
- time: 0.26666668
value: {fileID: 21300000, guid: 8e9a1a3e172609848916109938ac8c53, type: 3}
value: {fileID: 0}
- time: 0.28333333
value: {fileID: 21300000, guid: 20954ee1a93cedb498a429fcc1ea1fd7, type: 3}
value: {fileID: 0}
- time: 0.3
value: {fileID: 0}
- time: 0.31666666
value: {fileID: 0}
- time: 0.33333334
value: {fileID: 0}
- time: 0.35
value: {fileID: 0}
- time: 0.36666667
value: {fileID: 0}
- time: 0.38333333
value: {fileID: 0}
attribute: m_Sprite
path: Fork_Lifter_Gameplay
classID: 212
@ -193,14 +250,7 @@ AnimationClip:
value: {fileID: -4922902375269903740, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- time: 0.16666667
value: {fileID: -3456084564025576355, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
attribute: m_Sprite
path: SOME01_128091f1_6_11
classID: 212
script: {fileID: 0}
- curve:
- time: 0
value: {fileID: -4922902375269903740, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- time: 0.16666667
- time: 0.4
value: {fileID: -3456084564025576355, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
attribute: m_Sprite
path: HandVisual
@ -222,13 +272,6 @@ AnimationClip:
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 3316808799
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 3267382320
attribute: 1
@ -237,11 +280,11 @@ AnimationClip:
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 3316808799
attribute: 4
path: 2083950812
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 4
customType: 0
isPPtrCurve: 0
- serializedVersion: 2
path: 3267382320
@ -271,13 +314,6 @@ AnimationClip:
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 3316808799
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 3267382320
attribute: 0
@ -292,28 +328,40 @@ AnimationClip:
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 3526390209
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
pptrCurveMapping:
- {fileID: 21300000, guid: e289120f53cab0c47bc168c74f1334fe, type: 3}
- {fileID: 21300000, guid: 7eac82b47cfe63d4a82e79916b6df821, type: 3}
- {fileID: 21300000, guid: b577af31fb7acae469a736e54886426b, type: 3}
- {fileID: 21300000, guid: bf6d6375d442f534cae6f4bf6da54243, type: 3}
- {fileID: 21300000, guid: 2f97f62820af55c4f8fc0303ea6843f5, type: 3}
- {fileID: 21300000, guid: 1a8c5fd3822226249957fa3356b4070a, type: 3}
- {fileID: 21300000, guid: 4ed7ed944f9b66441941effac0f1806e, type: 3}
- {fileID: 21300000, guid: a77ebd0aaac183e45bff0d05745cf0d1, type: 3}
- {fileID: 21300000, guid: e8f0b0c90828def458b07adedcb16992, type: 3}
- {fileID: 21300000, guid: 03f01dcf91cdae34897562741c338bcb, type: 3}
- {fileID: 21300000, guid: 89164a5ca38e87d409b45d2a3c29de7c, type: 3}
- {fileID: 21300000, guid: 200499fa2c79f214681c681dd0eaabd3, type: 3}
- {fileID: 21300000, guid: fb1703ab0ff9d3c49a902548ce45ff91, type: 3}
- {fileID: 21300000, guid: 809df09db346d6f4fb2aac15956b5d76, type: 3}
- {fileID: 21300000, guid: f97227717c214104fa945ca47aa29617, type: 3}
- {fileID: 21300000, guid: 8fe446d26cf43724196c575595c7dac4, type: 3}
- {fileID: 21300000, guid: 8e9a1a3e172609848916109938ac8c53, type: 3}
- {fileID: 21300000, guid: 20954ee1a93cedb498a429fcc1ea1fd7, type: 3}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: 0}
- {fileID: -4922902375269903740, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: -3456084564025576355, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: -4922902375269903740, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: -3456084564025576355, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: 7562980635367501552, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
- {fileID: -1164378328580708214, guid: 52117e1d5cd298c42adfea952676c7d6, type: 3}
@ -322,7 +370,7 @@ AnimationClip:
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.3
m_StopTime: 0.4166667
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
@ -338,147 +386,6 @@ AnimationClip:
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -0.363
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
value: -0.218
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path: SOME01_128091f1_6_11
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1.035
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
value: 1.214
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path: SOME01_128091f1_6_11
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 74.52776
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
value: 74.52776
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path: SOME01_128091f1_6_11
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: localEulerAnglesRaw.x
path: SOME01_128091f1_6_11
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: localEulerAnglesRaw.y
path: SOME01_128091f1_6_11
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -133.353
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.z
path: SOME01_128091f1_6_11
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
@ -500,6 +407,33 @@ AnimationClip:
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.3
value: -0.235
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.35
value: -0.113
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.4
value: 0.02943516
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -528,6 +462,33 @@ AnimationClip:
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.3
value: 1.216
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.35
value: 1.145
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.4
value: 1.231121
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -556,6 +517,33 @@ AnimationClip:
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.3
value: 74.52776
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.35
value: 74.52776
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.4
value: 74.52776
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -641,6 +629,15 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.4
value: 0
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -660,6 +657,15 @@ AnimationClip:
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.3
value: 1
inSlope: Infinity
outSlope: Infinity
tangentMode: 103
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
@ -667,27 +673,148 @@ AnimationClip:
path: PeaVisual
classID: 1
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.3
value: -0.1
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.35
value: 0.017
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path: PeaVisual
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.3
value: 0.408
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.35
value: 0.261
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path: PeaVisual
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.3
value: 74.52776
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.35
value: 74.52776
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path: PeaVisual
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.4
value: 0.271
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path: HandVisual/hand_shadow1
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.4
value: -0.031
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path: HandVisual/hand_shadow1
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0.4
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path: HandVisual/hand_shadow1
classID: 4
script: {fileID: 0}
m_EulerEditorCurves:
- curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path: SOME01_128091f1_6_11
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.y
path: SOME01_128091f1_6_11
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve: []
@ -695,16 +822,6 @@ AnimationClip:
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
path: SOME01_128091f1_6_11
classID: 4
script: {fileID: 0}
- curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path: HandVisual
classID: 4
script: {fileID: 0}
@ -724,7 +841,7 @@ AnimationClip:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
attribute: m_LocalEulerAngles.x
path: HandVisual
classID: 4
script: {fileID: 0}

View file

@ -16,7 +16,8 @@ namespace HeavenStudio.Games.Loaders
{
function = delegate {
var e = eventCaller.currentEntity;
ForkLifter.instance.Flick(e.beat, e["type"]);
ForkLifter.Flick(e.beat);
ForkLifter.instance.FlickActive(e.beat, e["type"]);
},
defaultLength = 3,
parameters = new List<Param>()
@ -25,8 +26,8 @@ namespace HeavenStudio.Games.Loaders
},
inactiveFunction = delegate {
var e = eventCaller.currentEntity;
ForkLifter.Flick(e.beat);
ForkLifter.queuedFlicks.Add(e);
ForkLifter.instance.Flick(e.beat, e["type"]);
},
},
new GameAction("prepare", "Prepare Hand")
@ -137,7 +138,7 @@ namespace HeavenStudio.Games
{
base.OnGameSwitch(beat);
if (queuedFlicks.Count > 0) {
foreach (var flick in queuedFlicks) { FlickActive(flick.beat, flick["type"], beat - flick.beat); }
foreach (var flick in queuedFlicks) { FlickActive(flick.beat, flick["type"]); }
queuedFlicks.Clear();
}
@ -159,23 +160,18 @@ namespace HeavenStudio.Games
}
}
public void Flick(double beat, int type, double currentBeat = 0)
public static void Flick(double beat)
{
SoundByte.PlayOneShotGame("forkLifter/flick");
handAnim.DoScaledAnimationFromBeatAsync("Hand_Flick", 0.5f, beat, currentBeat);
ForkLifterHand.currentFlickIndex++;
GameObject fo = Instantiate(flickedObject);
fo.transform.parent = flickedObject.transform.parent;
Pea pea = fo.GetComponent<Pea>();
pea.startBeat = beat;
pea.type = type;
fo.SetActive(true);
var offset = SoundByte.GetClipLengthGame("forkLifter/zoomFast") - 0.03;
SoundByte.PlayOneShotGame("forkLifter/zoomFast", beat + 2, offset: offset, forcePlay: true);
SoundByte.PlayOneShotGame("forkLifter/flick", forcePlay: true);
}
public void FlickActive(double beat, int type, double currentBeat = 0)
public void FlickActive(double beat, int type)
{
SoundByte.PlayOneShotGame("forkLifter/flick");
handAnim.DoScaledAnimationFromBeatAsync("Hand_Flick", 0.5f, beat, currentBeat);
handAnim.DoScaledAnimationFromBeatAsync("Hand_Flick", 0.5f, beat);
ForkLifterHand.currentFlickIndex++;
GameObject fo = Instantiate(flickedObject);
fo.transform.parent = flickedObject.transform.parent;

View file

@ -24,9 +24,6 @@ namespace HeavenStudio.Games.Scripts_ForkLifter
player = ForkLifterPlayer.instance;
anim = GetComponent<Animator>();
var offset = SoundByte.GetClipLengthGame("forkLifter/zoomFast") - 0.03;
SoundByte.PlayOneShotGame("forkLifter/zoomFast", startBeat + 2, offset: offset);
GetComponentInChildren<SpriteRenderer>().sprite = game.peaSprites[type];
for (int i = 0; i < transform.GetChild(0).childCount; i++)

View file

@ -285,21 +285,11 @@ namespace HeavenStudio.Games.Loaders
{
new Param("presetBg", KarateMan.BackgroundType.Yellow, "Preset BG Color", "The preset background type (will by default fade from the existing background color)", new List<Param.CollapseParam>()
{
new Param.CollapseParam((x, y) => {
Debug.Log(y["endColor"]);
RiqEntity bg = GameManager.instance.Beatmap.Entities.FindLast(c => c.beat <= y.beat && c.datamodel == "karateman/background appearance");
y["startColor"] = bg["endColor"];
y["endColor"] = KarateMan.BackgroundColors[(int)x];
Debug.Log(y["endColor"]);
return true;
}, new string[] { /* "startColor", "endColor" */ "presetBg" })
new Param.CollapseParam((x, _) => (int)x == (int)KarateMan.BackgroundType.Custom, new string[] { "startColor", "endColor" }),
}),
new Param("startColor", new Color(0.985f, 0.79f, 0.243f), "Start BG Color", "The background color to start with"),
new Param("endColor", new Color(0.985f, 0.79f, 0.243f), "End BG Color", "The background color to end with"),
new Param("ease", Util.EasingFunction.Ease.Instant, "BG Color Ease", "Ease to use when fading color", new List<Param.CollapseParam>()
{
new Param.CollapseParam((x, _) => (int)x != (int)Util.EasingFunction.Ease.Instant, new string[] { "startColor" })
}),
new Param("ease", Util.EasingFunction.Ease.Instant, "BG Color Ease", "Ease to use when fading color"),
new Param("shadowType", KarateMan.ShadowType.Tinted, "Shadow Type", "The shadow type. If Tinted doesn't work with your background color try Custom", new List<Param.CollapseParam>()
{
new Param.CollapseParam((x, _) => (int)x == (int)KarateMan.ShadowType.Custom, new string[] { "shadowStart", "shadowEnd" }),
@ -539,7 +529,7 @@ namespace HeavenStudio.Games
public float NoriPerformance { get { if (IsNoriActive) return Nori.Nori / Nori.MaxNori; else return 1f; } }
public Color[] LightBulbColors;
public static Color[] BackgroundColors;
public Color[] BackgroundColors;
//camera positions (normal, special)
[Header("Camera Positions")]
@ -614,13 +604,13 @@ namespace HeavenStudio.Games
colorStarts = new Color[] {
BackgroundColors[0],
TintColor(BackgroundColors[0]),
new(),
new Color(),
};
Update();
}
private void Start()
private void Start()
{
Update();
}
@ -644,7 +634,7 @@ namespace HeavenStudio.Games
EntityPreCheck(beat);
}
public override void OnPlay(double beat)
public override void OnPlay(double beat)
{
EntityPreCheck(beat);
}
@ -753,9 +743,6 @@ namespace HeavenStudio.Games
BackgroundColorUpdate();
GameCamera.additionalPosition = cameraPosition - GameCamera.defaultPosition;
BGEffect.transform.position = new Vector3(GameCamera.instance.transform.position.x, GameCamera.instance.transform.position.y, 0);
Debug.Log("GameCamera.additionalPosition : " + GameCamera.additionalPosition);
Debug.Log("cameraPosition : " + cameraPosition);
}
private void OnDestroy()
@ -996,15 +983,17 @@ namespace HeavenStudio.Games
colorEases[i] = (Util.EasingFunction.Ease)colorEaseSet;
}
bool preset = presetBG != (int)BackgroundType.Custom;
bool tinted = shadowType == (int)ShadowType.Tinted;
Color bgColorStart = colorStart;
Color bgColorStart = preset ? BGPlane.color : colorStart;
colorStarts = new Color[] {
bgColorStart,
tinted ? TintColor(bgColorStart) : shadowStart,
autoColor ? TintColor(bgColorStart): filterStart,
};
Color bgColorEnd = colorEnd;
Color bgColorEnd = preset ? BackgroundColors[presetBG] : colorEnd;
colorEnds = new Color[] {
bgColorEnd,
tinted ? TintColor(bgColorEnd) : shadowEnd,

View file

@ -15,7 +15,7 @@ namespace HeavenStudio.Games.Scripts_OctopusMachine
public bool cantBop;
public bool isSqueezed;
public bool isPreparing;
public bool queuePrepare;
public double queuePrepare;
public double lastReportedBeat = 0f;
double lastSqueezeBeat;
bool isActive = true;
@ -25,16 +25,17 @@ namespace HeavenStudio.Games.Scripts_OctopusMachine
void Awake()
{
game = OctopusMachine.instance;
queuePrepare = double.MaxValue;
}
void Update()
{
if (queuePrepare && Conductor.instance.NotStopped()) {
if (queuePrepare <= Conductor.instance.songPositionInBeatsAsDouble && Conductor.instance.NotStopped()) {
if (!(isPreparing || isSqueezed || anim.IsPlayingAnimationName("Release") || anim.IsPlayingAnimationName("Pop")))
{
anim.DoScaledAnimationAsync("Prepare", 0.5f);
anim.DoScaledAnimationFromBeatAsync("Prepare", 0.5f, queuePrepare);
isPreparing = true;
queuePrepare = false;
queuePrepare = double.MaxValue;
}
}
@ -98,15 +99,15 @@ namespace HeavenStudio.Games.Scripts_OctopusMachine
isActive = enable;
}
public void OctoAction(string action)
public void OctoAction(string action)
{
if (action != "Release" || (Conductor.instance.songPositionInBeatsAsDouble - lastSqueezeBeat) > 0.15f) SoundByte.PlayOneShotGame($"octopusMachine/{action.ToLower()}");
if (action == "Squeeze") lastSqueezeBeat = Conductor.instance.songPositionInBeatsAsDouble;
anim.DoScaledAnimationAsync(action, 0.5f);
isSqueezed = (action == "Squeeze");
isPreparing =
queuePrepare = false;
isSqueezed = action == "Squeeze";
isPreparing = false;
queuePrepare = double.MaxValue;
}
public void AnimationColor(int poppingColor)

View file

@ -51,7 +51,7 @@ namespace HeavenStudio.Games.Loaders
preFunctionLength = 4f,
preFunction = delegate {
var e = eventCaller.currentEntity;
if (e["shouldPrep"]) OctopusMachine.Prepare(e.beat, e["prepBeats"]);
if (e["shouldPrep"]) OctopusMachine.queuePrepare = e.beat - e["prepBeats"];
},
priority = 1,
},
@ -96,7 +96,7 @@ namespace HeavenStudio.Games.Loaders
},
new GameAction("prepare", "Prepare")
{
function = delegate { OctopusMachine.queuePrepare = true; },
function = delegate { OctopusMachine.queuePrepare = eventCaller.currentEntity.beat; },
defaultLength = 0.5f,
},
new GameAction("bubbles", "Bubbles")
@ -196,7 +196,7 @@ namespace HeavenStudio.Games
static Color backgroundColor = new Color(1, 0.87f, 0.24f);
public static Color octopodesColor = new Color(0.97f, 0.235f, 0.54f);
public static Color octopodesSqueezedColor = new Color(1f, 0f, 0f);
public static bool queuePrepare;
public static double queuePrepare = double.MaxValue;
[Header("Variables")]
public bool hasMissed;
@ -243,6 +243,7 @@ namespace HeavenStudio.Games
if (queuedSqueezes.Count > 0) queuedSqueezes.Clear();
if (queuedReleases.Count > 0) queuedReleases.Clear();
if (queuedPops.Count > 0) queuedPops.Clear();
queuePrepare = double.MaxValue;
mat.SetColor("_ColorAlpha", new Color(0.97f, 0.235f, 0.54f));
@ -255,10 +256,10 @@ namespace HeavenStudio.Games
private void Update()
{
BackgroundColorUpdate();
if (queuePrepare) {
foreach (var octo in octopodes) octo.queuePrepare = true;
if (queuePrepare <= Conductor.instance.songPositionInBeatsAsDouble) {
foreach (var octo in octopodes) octo.queuePrepare = queuePrepare;
if (Text.text is "Wrong! Try Again!" or "Good!") Text.text = "";
queuePrepare = false;
queuePrepare = double.MaxValue;
}
if (Conductor.instance.ReportBeat(ref lastReportedBeat))
@ -273,19 +274,6 @@ namespace HeavenStudio.Games
}
}
public static void Prepare(double beat, float prepBeats)
{
if (GameManager.instance.currentGame != "octopusMachine") {
OctopusMachine.queuePrepare = true;
} else {
BeatAction.New(instance, new List<BeatAction.Action>() {
new BeatAction.Action(beat - prepBeats, delegate {
OctopusMachine.queuePrepare = true;
})
});
}
}
public void ChangeText(string text, string youText)
{
Text.text = text;
@ -328,9 +316,15 @@ namespace HeavenStudio.Games
if (!intervalStarted) StartInterval(beat, length);
octopodes[0].OctoAction(action);
var queuedList = queuedSqueezes;
if (action == "Release") queuedList = queuedReleases;
else if (action == "Pop") queuedList = queuedPops;
// var queuedList = queuedSqueezes;
// if (action == "Release") queuedList = queuedReleases;
// else if (action == "Pop") queuedList = queuedPops;
var queuedList = action switch {
"Release" => queuedReleases,
"Pop" => queuedPops,
_ => queuedSqueezes,
};
queuedList.Add(beat - intervalStartBeat);
}

View file

@ -52,23 +52,26 @@ namespace HeavenStudio.Util
}
/// <summary>
/// Plays animation on animator, scaling speed to song BPM
/// Plays animation on animator, scaling speed to song BPM
/// call this function once, when playing an animation
/// </summary>
/// <param name="anim">Animator to play animation on</param>
/// <param name="animName">name of animation to play</param>
/// <param name="timeScale">multiplier for animation speed</param>
/// <param name="startBeat">beat that this animation would start on</param>
/// <param name="currentBeat">how many beats after startBeat that the animation actually starts playing</param>
/// <param name="animLayer">animator layer to play animation on</param>
public static void DoScaledAnimationFromBeatAsync(this Animator anim, string animName, float timeScale = 1f, double startBeat = 0, double currentBeat = 0, int animLayer = -1)
public static void DoScaledAnimationFromBeatAsync(this Animator anim, string animName, float timeScale = 1f, double startBeat = 0, int animLayer = -1)
{
var cond = Conductor.instance;
var animClip = Array.Find(anim.runtimeAnimatorController.animationClips, x => x.name == animName);
var animLength = cond.GetBeatFromSongPos(cond.GetSongPosFromBeat(startBeat) + animClip.length);
var pos = cond.GetPositionFromBeat(startBeat + currentBeat, animLength) * timeScale;
anim.Play(animName, animLayer, pos);
anim.speed = 1f / (cond.pitchedSecPerBeat * timeScale);
float pos = 0;
if (!double.IsNaN(startBeat)) {
var cond = Conductor.instance;
var animClip = Array.Find(anim.runtimeAnimatorController.animationClips, x => x.name == animName);
double animLength = cond.GetBeatFromSongPos(cond.GetSongPosFromBeat(startBeat) + animClip.length);
pos = cond.GetPositionFromBeat(startBeat, animLength - startBeat) * timeScale;
} else {
Debug.LogWarning("DoScaledAnimationFromBeatAsync()'s startBeat was NaN; using DoScaledAnimationAsync() instead.");
}
anim.DoScaledAnimationAsync(animName, timeScale, pos, animLayer);
}
/// <summary>