Tweezers: Hairs fall after being plucked. Eye growing implemented.

This commit is contained in:
Jenny Crowe 2022-02-10 08:29:53 -07:00
parent c347338a51
commit 0022346446
29 changed files with 11517 additions and 30 deletions

View file

@ -1,5 +1,109 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &184971667096376006
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1052185331941704246}
- component: {fileID: 2265171354781838545}
- component: {fileID: 458223877093198699}
m_Layer: 0
m_Name: PluckedHair
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &1052185331941704246
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 184971667096376006}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 0.8, z: 1}
m_Children: []
m_Father: {fileID: 4534486478964924522}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &2265171354781838545
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 184971667096376006}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
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: 2
m_Sprite: {fileID: 3562159510210354730, guid: 8b24cfccb5b27054bbfccc7d7a912b73, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.6, y: 0.84}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!50 &458223877093198699
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 184971667096376006}
m_BodyType: 0
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0
m_GravityScale: 1.5
m_Material: {fileID: 0}
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 1
--- !u!1 &300770731161108432
GameObject:
m_ObjectHideFlags: 0
@ -272,9 +376,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -0.63809526, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 8539794534233051743}
- {fileID: 2037913084037357808}
m_Children: []
m_Father: {fileID: 1118188506360081759}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -549,13 +651,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2904820922900361117}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.8214286, z: 0}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0.82142866, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1462520415884795608}
- {fileID: 2039788460909508265}
m_Father: {fileID: 6879237219359362440}
m_Father: {fileID: 4534486478964924522}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &5065216968979282284
@ -683,6 +785,39 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &3159926987669887461
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4534486478964924522}
m_Layer: 0
m_Name: HairPrefabs
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4534486478964924522
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3159926987669887461}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: -0.6380953, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 8539794534233051743}
- {fileID: 2037913084037357808}
- {fileID: 1052185331941704246}
m_Father: {fileID: 1118188506360081759}
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3177931334588542204
GameObject:
m_ObjectHideFlags: 0
@ -719,6 +854,8 @@ Transform:
- {fileID: 8812709733616465685}
- {fileID: 3938391035996190295}
- {fileID: 6879237219359362440}
- {fileID: 3077966041362486577}
- {fileID: 4534486478964924522}
m_Father: {fileID: 2852202173104472746}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -1006,6 +1143,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
hitOnFrame: 0
heldHairSprite: {fileID: 267307033549538062}
--- !u!95 &574744067652312223
Animator:
serializedVersion: 3
@ -1296,14 +1434,14 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4104508031135416673}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.8214286, z: 0}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0.82142866, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1958772841327951779}
- {fileID: 1567628432339719610}
- {fileID: 5962991272968066780}
m_Father: {fileID: 6879237219359362440}
m_Father: {fileID: 4534486478964924522}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &6663364336420735003
@ -1844,6 +1982,36 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &5787274807233818894
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3077966041362486577}
m_Layer: 0
m_Name: DroppedHairs
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3077966041362486577
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5787274807233818894}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1118188506360081759}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5813499711186931251
GameObject:
m_ObjectHideFlags: 0
@ -1900,9 +2068,27 @@ MonoBehaviour:
Tweezers: {fileID: 3391455012319192365}
hairBase: {fileID: 4104508031135416673}
longHairBase: {fileID: 2904820922900361117}
pluckedHairBase: {fileID: 184971667096376006}
HairsHolder: {fileID: 2002856028339003249}
DroppedHairsHolder: {fileID: 5787274807233818894}
beatInterval: 4
tweezerBeatOffset: 0
pluckedHairSprite: {fileID: 3562159510210354730, guid: 8b24cfccb5b27054bbfccc7d7a912b73, type: 3}
missedHairSprite: {fileID: -2343768176336248091, guid: 8b24cfccb5b27054bbfccc7d7a912b73, type: 3}
eyeSprites:
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: -2757775292092084590, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 742590901564025875, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 1196389274587160668, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 4973577898279272786, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: -3425227566578437354, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 5383462320493624584, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: -5104572340075893893, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 3309149109353540706, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: -2633746217060458532, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: -5093008757730652310, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
eye1: {fileID: 546148121724187794}
eye2: {fileID: 4499765452033351819}
--- !u!1 &5813499711658895222
GameObject:
m_ObjectHideFlags: 0

View file

@ -761,4 +761,11 @@ AnimationClip:
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []
m_Events:
- time: 0.21666667
functionName: DropHeldHair
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0

View file

@ -668,4 +668,11 @@ AnimationClip:
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []
m_Events:
- time: 0.21666667
functionName: DropHeldHair
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0

View file

@ -6,7 +6,7 @@ AnimationClip:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop
m_Name: Hop0
serializedVersion: 6
m_Legacy: 0
m_Compressed: 0
@ -208,6 +208,24 @@ AnimationClip:
path: Mouth
classID: 212
script: {fileID: 0}
- curve:
- time: 0
value: {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- time: 0.083333336
value: {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
attribute: m_Sprite
path: Eye_Left
classID: 212
script: {fileID: 0}
- curve:
- time: 0
value: {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- time: 0.083333336
value: {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
attribute: m_Sprite
path: Eye_Right
classID: 212
script: {fileID: 0}
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
@ -257,16 +275,34 @@ AnimationClip:
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 1690621857
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 1449962544
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
pptrCurveMapping:
- {fileID: 8862172331762857332, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 8862172331762857332, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 115328013575038345, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.083333336
m_StopTime: 0.1
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff

View file

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

View file

@ -361,6 +361,24 @@ AnimationClip:
path: Mouth
classID: 212
script: {fileID: 0}
- curve:
- time: 0
value: {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- time: 0.083333336
value: {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
attribute: m_Sprite
path: Eye_Left
classID: 212
script: {fileID: 0}
- curve:
- time: 0
value: {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- time: 0.083333336
value: {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
attribute: m_Sprite
path: Eye_Right
classID: 212
script: {fileID: 0}
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
@ -382,6 +400,20 @@ AnimationClip:
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 1690621857
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 1449962544
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
- serializedVersion: 2
path: 0
attribute: 1
@ -478,12 +510,16 @@ AnimationClip:
- {fileID: -2904130086847097766, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 115328013575038345, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 115328013575038345, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
- {fileID: 307920376999289829, guid: bb906660940d6854a9688fa29ee3320f, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.083333336
m_StopTime: 0.1
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0

View file

@ -1,5 +1,31 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-9216662556442059424
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop8
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: cdcae2d391bd46c49a379b19fcdca8e7, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-8842574261698634582
AnimatorState:
serializedVersion: 6
@ -26,6 +52,84 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-6634536068541258427
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop2
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: d2b25da9dcdc80d4c9d358ca13ac4890, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-5766855645396044744
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop7
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: dca697981760eeb4ba1dc1136a006b94, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-4487904544899546427
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: I hate it here
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: 0}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-4419592797222438125
AnimatorStateTransition:
m_ObjectHideFlags: 1
@ -48,6 +152,32 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-3803039070421235925
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop4
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: 03f5822e0cd494e4bbdeaa9038127229, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-2331805597223418774
AnimatorState:
serializedVersion: 6
@ -83,9 +213,6 @@ AnimatorStateMachine:
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 4916924286820753218}
m_Position: {x: 330, y: 80, z: 0}
- serializedVersion: 1
m_State: {fileID: 1579657111189297045}
m_Position: {x: 360, y: 153.5, z: 0}
@ -98,6 +225,42 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: 7338772777105662794}
m_Position: {x: 520, y: 0, z: 0}
- serializedVersion: 1
m_State: {fileID: -4487904544899546427}
m_Position: {x: 670, y: 290, z: 0}
- serializedVersion: 1
m_State: {fileID: 8660019668946158045}
m_Position: {x: 670, y: 340, z: 0}
- serializedVersion: 1
m_State: {fileID: 8884899386044694055}
m_Position: {x: 680, y: 350, z: 0}
- serializedVersion: 1
m_State: {fileID: -6634536068541258427}
m_Position: {x: 690, y: 360, z: 0}
- serializedVersion: 1
m_State: {fileID: -611666258475791208}
m_Position: {x: 700, y: 370, z: 0}
- serializedVersion: 1
m_State: {fileID: -3803039070421235925}
m_Position: {x: 710, y: 380, z: 0}
- serializedVersion: 1
m_State: {fileID: -1285253770759934458}
m_Position: {x: 720, y: 390, z: 0}
- serializedVersion: 1
m_State: {fileID: -1331203679042409150}
m_Position: {x: 730, y: 400, z: 0}
- serializedVersion: 1
m_State: {fileID: -5766855645396044744}
m_Position: {x: 740, y: 410, z: 0}
- serializedVersion: 1
m_State: {fileID: -9216662556442059424}
m_Position: {x: 750, y: 420, z: 0}
- serializedVersion: 1
m_State: {fileID: 2310884348189699955}
m_Position: {x: 760, y: 430, z: 0}
- serializedVersion: 1
m_State: {fileID: 5027132143010655492}
m_Position: {x: 770, y: 440, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@ -108,6 +271,84 @@ AnimatorStateMachine:
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -2331805597223418774}
--- !u!1102 &-1331203679042409150
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop6
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: ad059156a002b8e419a39294038ea514, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-1285253770759934458
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop5
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: 6cff3333294320f4caf83f95f0b81c9f, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-611666258475791208
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop3
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: c284884e0c321b2418a78d3fd04bbc28, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@ -157,14 +398,14 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &4916924286820753218
--- !u!1102 &2310884348189699955
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop
m_Name: Hop9
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@ -177,7 +418,33 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 0b152b394b855864597e734b05fbe409, type: 2}
m_Motion: {fileID: 7400000, guid: 81d66ba9efa28244488c0e4bbf6c6a9f, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &5027132143010655492
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop10
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: 9e566bb476db5604cb0f610706f6a575, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
@ -235,3 +502,55 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &8660019668946158045
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop0
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: 0b152b394b855864597e734b05fbe409, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &8884899386044694055
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Hop1
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: db324078a3c9fd64f8e0a14889da267b, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View file

@ -18,8 +18,10 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
public Tweezers Tweezers;
public GameObject hairBase;
public GameObject longHairBase;
public GameObject pluckedHairBase;
public GameObject HairsHolder;
public GameObject DroppedHairsHolder;
[NonSerialized] public int hairsLeft = 0;
public float beatInterval = 4f;
@ -27,6 +29,11 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
bool intervalStarted;
public float tweezerBeatOffset = 0f;
public Sprite pluckedHairSprite;
public Sprite missedHairSprite;
[NonSerialized] public int eyeSize = 0;
Tween transitionTween;
bool transitioning = false;
@ -149,14 +156,17 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
{
foreach (Transform t in HairsHolder.transform)
{
var go = t.gameObject;
if (go != hairBase && go != longHairBase)
{
GameObject.Destroy(go);
}
GameObject.Destroy(t.gameObject);
}
foreach (Transform t in DroppedHairsHolder.transform)
{
GameObject.Destroy(t.gameObject);
}
VegetableAnimator.Play("Idle", 0, 0);
eyeSize = 0;
}
private void StopTransitionIfActive()

View file

@ -13,7 +13,9 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
[NonSerialized] public Animator anim;
private Animator vegetableAnim;
private RhythmTweezers game;
private bool plucking;
private bool pluckingThisFrame;
private bool holdingHair;
public SpriteRenderer heldHairSprite;
private void Start()
{
@ -27,17 +29,20 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
{
if (PlayerInput.Pressed())
{
if (!plucking) // Did you do a successful pluck earlier in the frame?
if (!pluckingThisFrame) // Did you do a successful pluck earlier in the frame?
{
DropHeldHair();
anim.Play("Tweezers_Pluck", 0, 0);
}
}
plucking = false;
pluckingThisFrame = false;
}
public void Pluck(bool ace, Hair hair)
{
DropHeldHair();
if (ace)
{
Jukebox.PlayOneShotGame($"rhythmTweezers/shortPluck{UnityEngine.Random.Range(1, 21)}");
@ -46,11 +51,12 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
hair.stubbleSprite.SetActive(true);
game.hairsLeft--;
game.eyeSize = Mathf.Clamp(game.eyeSize + 1, 0, 10);
if (game.hairsLeft <= 0)
vegetableAnim.Play("HopFinal", 0, 0);
else
vegetableAnim.Play("Hop", 0, 0);
vegetableAnim.Play("Hop" + game.eyeSize.ToString(), 0, 0);
anim.Play("Tweezers_Pluck_Success", 0, 0);
}
@ -67,7 +73,8 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
anim.Play("Tweezers_Pluck_Fail", 0, 0);
}
plucking = true; // Prevents standard pluck from playing in LateUpdate().
pluckingThisFrame = true; // Prevents standard pluck from playing in LateUpdate().
holdingHair = true;
}
public void LongPluck(bool ace, LongHair hair)
@ -88,5 +95,24 @@ namespace RhythmHeavenMania.Games.RhythmTweezers
Destroy(hair.gameObject);
}
}
public void DropHeldHair()
{
if (!holdingHair) return;
var droppedHair = GameObject.Instantiate(game.pluckedHairBase, game.DroppedHairsHolder.transform).GetComponent<SpriteRenderer>();
droppedHair.gameObject.SetActive(true);
droppedHair.transform.position = heldHairSprite.transform.position;
droppedHair.transform.rotation = heldHairSprite.transform.rotation;
droppedHair.sprite = heldHairSprite.sprite;
// Make the hair spin.
// (The prefab has a Rigidbody2D component already so that it falls)
droppedHair.GetComponent<Rigidbody2D>().angularVelocity = UnityEngine.Random.Range(-120f, 120f);
holdingHair = false;
}
}
}