This commit is contained in:
fu-majime 2024-04-15 08:33:17 +09:00
parent d8b38ee8c8
commit df70f353d1
11 changed files with 851 additions and 421 deletions

View file

@ -1316,6 +1316,90 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &2671326294020303789
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8411741261202548534}
- component: {fileID: 3347665118137351440}
m_Layer: 0
m_Name: Circle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &8411741261202548534
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2671326294020303789}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 1.5, y: -0.25, z: 0}
m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 5813499711186931250}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &3347665118137351440
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2671326294020303789}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: -2413806693520163455, guid: a86470a33a6bf42c4b3595704624658b, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1, y: 1}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &2698380409090072979
GameObject:
m_ObjectHideFlags: 0
@ -2722,6 +2806,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 7947859411872569364}
- component: {fileID: 4509423242586505778}
m_Layer: 0
m_Name: wing
m_TagString: Untagged
@ -2748,6 +2833,27 @@ Transform:
m_Father: {fileID: 1483397584454175980}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &4509423242586505778
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5538910174344366541}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: 1ed551b2a0879a74d9942bc3c658beaf, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!1 &5610393172071176363
GameObject:
m_ObjectHideFlags: 0
@ -2948,6 +3054,7 @@ Transform:
- {fileID: 2619828408818896828}
- {fileID: 4474597943635544359}
- {fileID: 1483397584454175980}
- {fileID: 8411741261202548534}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View file

@ -78,6 +78,32 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-6711584185864509779
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: moveLoopClose
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: 078804f896f79324fa7c793f8dbc4b31, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-6696898983186624443
AnimatorState:
serializedVersion: 6
@ -141,20 +167,20 @@ AnimatorController:
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 5269894196936690212}
m_Name: Wing Layer
m_StateMachine: {fileID: 7264832967013319914}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_DefaultWeight: 1
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
- serializedVersion: 5
m_Name: Wing Layer
m_StateMachine: {fileID: 7264832967013319914}
m_Name: Move Layer
m_StateMachine: {fileID: 5269894196936690212}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
@ -268,6 +294,32 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &3574830805167585039
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: moveEndClose
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: 809eb40a5d627744eaa5bc19464dfe40, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &4008182004328623810
AnimatorState:
serializedVersion: 6
@ -301,7 +353,7 @@ AnimatorStateMachine:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_Name: Move Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 1444428680978530896}
@ -320,7 +372,7 @@ AnimatorStateMachine:
m_Position: {x: 285, y: 195, z: 0}
- serializedVersion: 1
m_State: {fileID: -8807949114253540761}
m_Position: {x: 460, y: 70, z: 0}
m_Position: {x: 450, y: 60, z: 0}
- serializedVersion: 1
m_State: {fileID: 1973506906696181535}
m_Position: {x: 510, y: 190, z: 0}
@ -330,6 +382,12 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: -5922147104933799174}
m_Position: {x: 430, y: 0, z: 0}
- serializedVersion: 1
m_State: {fileID: -6711584185864509779}
m_Position: {x: 650, y: 20, z: 0}
- serializedVersion: 1
m_State: {fileID: 3574830805167585039}
m_Position: {x: 640, y: -40, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []

View file

@ -0,0 +1,72 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1107 &-8769289010102386083
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -1179836612212821551}
m_Position: {x: 200, y: 0, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -1179836612212821551}
--- !u!1102 &-1179836612212821551
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: wing
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: acd83fb3d48116848935fe8010fd84d8, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Wing
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -8769289010102386083}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}

View file

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

View file

@ -0,0 +1,53 @@
%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: flyCloseMoveEnd
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: []
m_SampleRate: 30
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings: []
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 1
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: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 74aa2d71e2a7a294aa020957525d7817
guid: 809eb40a5d627744eaa5bc19464dfe40
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000

View file

@ -0,0 +1,53 @@
%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: flyFarMoveEnd
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: []
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: []
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 1
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: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View file

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

View file

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

View file

@ -16,11 +16,15 @@ namespace HeavenStudio.Games.Scripts_Chameleon
public class Fly : MonoBehaviour
{
public double startBeat;
private double currentBeat;
public FlyType flyType;
[SerializeField] private Animator flyAnim;
[SerializeField] private Animator flyAnim, wingAnim;
private Sound loopSound;
float randomAngle = 0;
Vector2 moveCurrentPos, moveNextPos, moveEndPos;
private Chameleon game;
public void Init()
@ -34,6 +38,21 @@ namespace HeavenStudio.Games.Scripts_Chameleon
_ => throw new System.NotImplementedException()
};
moveCurrentPos = flyType switch
{
FlyType.Far => new Vector2(-4.5f, 5.4f),
FlyType.Close => new Vector2(-6, 5.4f),
_ => throw new System.NotImplementedException()
};
moveEndPos = flyType switch
{
FlyType.Far => new Vector2(5.15f, 1.6f),
FlyType.Close => new Vector2(1.5f, -0.25f),
_ => throw new System.NotImplementedException()
};
currentBeat = startBeat;
loopSound = SoundByte.PlayOneShotGame("chameleon/fly" + typePrefix + "Loop", -1, 1, 1, true);
MultiSound.Play(
new MultiSound.Sound[] {
@ -43,16 +62,23 @@ namespace HeavenStudio.Games.Scripts_Chameleon
}
);
flyAnim.enabled = false;
BeatAction.New(game, new List<BeatAction.Action>()
{
new BeatAction.Action(startBeat, delegate {
var currentBeat = Conductor.instance.songPositionInBeatsAsDouble;
flyAnim.DoScaledAnimationAsync("move" + typePrefix, 0.5f, (float)((currentBeat - startBeat)/8));
}),
// new BeatAction.Action(startBeat, delegate {
// var currentBeat = Conductor.instance.songPositionInBeatsAsDouble;
// flyAnim.DoScaledAnimationAsync("move" + typePrefix, 0.5f, (float)((currentBeat - startBeat)/8));
// }),
new BeatAction.Action(startBeat + 4, delegate {
// flyAnim.DoScaledAnimationAsync("" + typePrefix, 0.5f);
loopSoundRelease();
}),
new BeatAction.Action(startBeat + 7, delegate {
if (!flyAnim.enabled)
{
flyAnim.enabled = true;
flyAnim.DoScaledAnimationAsync("moveEnd" + typePrefix, 0.5f);
}
}),
});
var InputAction = flyType switch
@ -71,6 +97,41 @@ namespace HeavenStudio.Games.Scripts_Chameleon
});
}
private void Update()
{
var cond = Conductor.instance;
if (cond.isPlaying && !cond.isPaused)
{
if (!flyAnim.enabled)
{
float normalizedBeat = Conductor.instance.GetPositionFromBeat(startBeat, 0.5, ignoreSwing: true);
if (normalizedBeat <= 1)
{
transform.position = Vector2.Lerp(moveCurrentPos, moveEndPos, normalizedBeat);
}
else
{
normalizedBeat = Conductor.instance.GetPositionFromBeat(currentBeat, 0.25, ignoreSwing: true);
if (normalizedBeat >= 1)
{
currentBeat = cond.songPositionInBeatsAsDouble;
moveCurrentPos = moveNextPos;
randomAngle = randomAngle + UnityEngine.Random.Range(1f, 1.5f * Mathf.PI);
moveNextPos = new Vector2(Mathf.Cos(randomAngle), Mathf.Sin(randomAngle)) + moveEndPos;
}
else
{
float newPosX = EasingFunction.EaseInOutSine(moveCurrentPos.x, moveNextPos.x, normalizedBeat);
float newPosY = EasingFunction.EaseInOutSine(moveCurrentPos.y, moveNextPos.y, normalizedBeat);
transform.position = new Vector2(newPosX, newPosY);
}
}
}
}
}
void JustCatch(PlayerActionEvent caller, float state)
{
string typePrefix = flyType switch
@ -79,6 +140,7 @@ namespace HeavenStudio.Games.Scripts_Chameleon
FlyType.Close => "Close",
_ => throw new System.NotImplementedException()
};
flyAnim.enabled = true;
game.chameleonAnim.DoScaledAnimationAsync("tongue" + typePrefix, 0.5f);
if (state <= -1f || state >= 1f)
{
@ -88,7 +150,7 @@ namespace HeavenStudio.Games.Scripts_Chameleon
game.currentFly = null;
SoundByte.PlayOneShotGame("chameleon/eatCatch");
SoundByte.PlayOneShotGame("chameleon/eatGulp", startBeat + 7.25);
flyAnim.Play("idle", 1, 0);
wingAnim.Play("idle", 0, 0);
flyAnim.DoScaledAnimationAsync("catch" + typePrefix, 0.5f);
BeatAction.New(game, new List<BeatAction.Action>()
{
@ -106,6 +168,7 @@ namespace HeavenStudio.Games.Scripts_Chameleon
FlyType.Close => "Close",
_ => throw new System.NotImplementedException()
};
flyAnim.enabled = true;
flyAnim.DoScaledAnimationAsync("gone" + typePrefix, 0.5f);
}