diff --git a/Assets/Resources/Butterfly.controller b/Assets/Resources/Butterfly.controller new file mode 100644 index 000000000..82a53568f --- /dev/null +++ b/Assets/Resources/Butterfly.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Butterfly + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 7022456237157513323} + 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} +--- !u!1102 &504102805778820477 +AnimatorState: + serializedVersion: 5 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Flap + 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: 8fff1a1fb8efd5c46846395345538e35, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &7022456237157513323 +AnimatorStateMachine: + serializedVersion: 5 + 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: 504102805778820477} + 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: 504102805778820477} diff --git a/Assets/Resources/Butterfly.controller.meta b/Assets/Resources/Butterfly.controller.meta new file mode 100644 index 000000000..812a78ef9 --- /dev/null +++ b/Assets/Resources/Butterfly.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f0cc09ad24a3dc54d8c5f2ea0a5387f1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Butterfly.prefab b/Assets/Resources/Butterfly.prefab new file mode 100644 index 000000000..8f705014b --- /dev/null +++ b/Assets/Resources/Butterfly.prefab @@ -0,0 +1,267 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3228841119783048552 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2499075952878455302} + - component: {fileID: 1224483624598575566} + - component: {fileID: 2558478929013338059} + - component: {fileID: 3228841119783048559} + m_Layer: 0 + m_Name: Butterfly + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2499075952878455302 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3228841119783048552} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.24, y: 3.108764, z: 18.91708} + m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} + m_Children: + - {fileID: 3652999623720528231} + - {fileID: 3513912226951497118} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &1224483624598575566 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3228841119783048552} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 112 + m_CollisionDetection: 0 +--- !u!114 &2558478929013338059 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3228841119783048552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca8c0632839b858468e5195b7c0fc210, type: 3} + m_Name: + m_EditorClassIdentifier: + _type: 0 +--- !u!95 &3228841119783048559 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3228841119783048552} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: f0cc09ad24a3dc54d8c5f2ea0a5387f1, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!1 &3462619526143521463 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3513912226951497118} + - component: {fileID: 6203800513817729996} + - component: {fileID: 1510376767163923679} + - component: {fileID: 5755496794031763547} + m_Layer: 0 + m_Name: Cube (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3513912226951497118 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3462619526143521463} + m_LocalRotation: {x: 0.2588191, y: 0, z: 0, w: 0.9659258} + m_LocalPosition: {x: 0, y: 0, z: -0.2} + m_LocalScale: {x: 0.75, y: 0.10000002, z: 0.40000007} + m_Children: [] + m_Father: {fileID: 2499075952878455302} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 30, y: 0, z: 0} +--- !u!33 &6203800513817729996 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3462619526143521463} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1510376767163923679 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3462619526143521463} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 685714bc4595f7b4c8e75a582e09e6d3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &5755496794031763547 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3462619526143521463} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &3484849865039832785 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3652999623720528231} + - component: {fileID: 9013118277003085004} + - component: {fileID: 7005128275216326173} + - component: {fileID: 7434027403973390148} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3652999623720528231 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3484849865039832785} + m_LocalRotation: {x: -0.258819, y: -0, z: -0, w: 0.9659259} + m_LocalPosition: {x: 0, y: 0, z: 0.2} + m_LocalScale: {x: 0.75, y: 0.10000002, z: 0.40000007} + m_Children: [] + m_Father: {fileID: 2499075952878455302} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: -30, y: 0, z: 0} +--- !u!33 &9013118277003085004 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3484849865039832785} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &7005128275216326173 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3484849865039832785} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 685714bc4595f7b4c8e75a582e09e6d3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &7434027403973390148 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3484849865039832785} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Resources/Butterfly.prefab.meta b/Assets/Resources/Butterfly.prefab.meta new file mode 100644 index 000000000..44a753f1c --- /dev/null +++ b/Assets/Resources/Butterfly.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0d5642ad868acb14ab3315f9abd06aa3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Data/RabbitData.asset b/Assets/Resources/Data/ButterflyData.asset similarity index 68% rename from Assets/Resources/Data/RabbitData.asset rename to Assets/Resources/Data/ButterflyData.asset index c62e1beb6..5c1b03bd8 100644 --- a/Assets/Resources/Data/RabbitData.asset +++ b/Assets/Resources/Data/ButterflyData.asset @@ -10,20 +10,20 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 9dea14c6996633c46a662ee466e83b72, type: 3} - m_Name: RabbitData + m_Name: ButterflyData m_EditorClassIdentifier: BaseStats: - MaxHealth: 10 + MaxHealth: 1 BaseStats: - _physicalPower: 0 + _physicalPower: 10 _physicalDamageResistance: 0 _stunProbabilityResistance: 0 - Prefab: {fileID: 6850293822335465738, guid: 635352c46b7621145938ab221e63e0d1, + Prefab: {fileID: 3228841119783048552, guid: 0d5642ad868acb14ab3315f9abd06aa3, type: 3} RabbitStats: RunningRadius: 10 - MoveSpeed: 0.5 - JumpHeight: 2 - ViewRadius: 3 - ViewAngle: 100 - CanIdle: 1 + MoveSpeed: 492.89 + JumpHeight: 0 + ViewRadius: 5 + ViewAngle: 180 + CanIdle: 0 diff --git a/Assets/Resources/Data/RabbitData.asset.meta b/Assets/Resources/Data/ButterflyData.asset.meta similarity index 100% rename from Assets/Resources/Data/RabbitData.asset.meta rename to Assets/Resources/Data/ButterflyData.asset.meta diff --git a/Assets/Resources/Data/CharacterData.asset b/Assets/Resources/Data/CharacterData.asset index b7e1c4c8d..a73d6d486 100644 --- a/Assets/Resources/Data/CharacterData.asset +++ b/Assets/Resources/Data/CharacterData.asset @@ -19,8 +19,8 @@ MonoBehaviour: _instanceLayer: 8 _characterAnimator: {fileID: 9100000, guid: 71768c8e0d54fb34396989829cda6ca1, type: 2} - _instantiatePosition: {x: 10, y: 2, z: 10} - _instantiateDirection: -40 + _instantiatePosition: {x: 10, y: 20, z: 10} + _instantiateDirection: 0 _rigitbodyMass: 1 _rigitbodyDrag: 0 _rigitbodyAngularDrag: 0.05 @@ -61,6 +61,6 @@ MonoBehaviour: _rollFrameDistance: 5.55 _rollAnimationSpeed: 1 _characterStatsSettings: - _physicalPower: 2 + _physicalPower: 10 _physicalDamageResistance: 0.25 _stunProbabilityResistance: 0.075 diff --git a/Assets/Resources/Data/Data.asset b/Assets/Resources/Data/Data.asset index 18cbf56ae..b531453ab 100644 --- a/Assets/Resources/Data/Data.asset +++ b/Assets/Resources/Data/Data.asset @@ -14,14 +14,7 @@ MonoBehaviour: m_EditorClassIdentifier: _sphereDataPath: SphereData _characterDataPath: CharacterData - _startDialogueDataPath: StartDialogueData - _dialogueSystemDataPath: DialogueSystemData - _giantMudCrabDataPath: GiantMudCrabData - _rabbitDataPath: RabbitData + _rabbitDataPath: ButterflyData _feastPath: Weapons/FeastWeapon _jacketPath: Clothes/Jacket _cameraDataPath: CameraData - _rabbitDataPath: RabbitData - _questIndicatorDataPath: QuestIndicatorData - _questJournalDataPath: QuestJournalData - diff --git a/Assets/Resources/Flap.anim b/Assets/Resources/Flap.anim new file mode 100644 index 000000000..578ccc6c8 --- /dev/null +++ b/Assets/Resources/Flap.anim @@ -0,0 +1,721 @@ +%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: Flap + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: -30, y: 0, z: 0} + 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.083333336 + value: {x: -90, y: 0, z: 0} + 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.16666667 + value: {x: -30, y: 0, z: 0} + 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: Cube (1) + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 30, y: 0, z: 0} + 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.083333336 + value: {x: 90, y: 0, z: 0} + 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.16666667 + value: {x: 30, y: 0, z: 0} + 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: Cube (2) + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0.2} + 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.083333336 + value: {x: 0, y: 0, z: 0} + 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.16666667 + value: {x: 0, y: 0, z: 0.2} + 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: Cube (1) + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: -0.2} + 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.083333336 + value: {x: 0, y: 0, z: 0} + 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.16666667 + value: {x: 0, y: 0, z: -0.2} + 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: Cube (2) + 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: + - serializedVersion: 2 + path: 2047710271 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1361102844 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2047710271 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 1361102844 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 0.16666667 + 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: -30 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: -90 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: -30 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + 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: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + 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: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0.2 + 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: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 30 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 90 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 30 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: Cube (2) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: Cube (2) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: Cube (2) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + 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: Cube (2) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: 0 + 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: Cube (2) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.2 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.16666667 + value: -0.2 + 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: Cube (2) + classID: 4 + script: {fileID: 0} + m_EulerEditorCurves: + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: Cube (1) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: Cube (2) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: Cube (2) + classID: 4 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: Cube (2) + classID: 4 + script: {fileID: 0} + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Flap.anim.meta b/Assets/Resources/Flap.anim.meta new file mode 100644 index 000000000..d847a3458 --- /dev/null +++ b/Assets/Resources/Flap.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8fff1a1fb8efd5c46846395345538e35 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Rabbit 1.prefab b/Assets/Resources/Rabbit 1.prefab new file mode 100644 index 000000000..13f8133d8 --- /dev/null +++ b/Assets/Resources/Rabbit 1.prefab @@ -0,0 +1,402 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6850293821358102128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6850293821358102135} + - component: {fileID: 6850293821358102132} + - component: {fileID: 6850293821358102133} + - component: {fileID: 6850293821358102134} + m_Layer: 0 + m_Name: RightEar + m_TagString: Rabbit + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6850293821358102135 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293821358102128} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.624, z: -0.207} + m_LocalScale: {x: 0.05, y: 0.5, z: 0.19} + m_Children: [] + m_Father: {fileID: 6850293822305603345} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6850293821358102132 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293821358102128} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6850293821358102133 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293821358102128} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, 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_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &6850293821358102134 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293821358102128} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &6850293822305603346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6850293822305603345} + - component: {fileID: 6850293822305603350} + - component: {fileID: 6850293822305603351} + - component: {fileID: 6850293822305603344} + m_Layer: 0 + m_Name: Head + m_TagString: Rabbit + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6850293822305603345 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822305603346} + m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0.465, z: 0.36} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: + - {fileID: 6850293821358102135} + - {fileID: 6850293822786565281} + m_Father: {fileID: 6850293822335465741} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!33 &6850293822305603350 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822305603346} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6850293822305603351 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822305603346} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, 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_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!135 &6850293822305603344 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822305603346} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &6850293822335465738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6850293822335465741} + - component: {fileID: 6850293822335465742} + - component: {fileID: 6850293822335465743} + - component: {fileID: 6850293822335465736} + - component: {fileID: 6850293822335465740} + - component: {fileID: -1535184401030889590} + m_Layer: 0 + m_Name: Rabbit + m_TagString: Rabbit + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6850293822335465741 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822335465738} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: + - {fileID: 6850293822305603345} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6850293822335465742 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822335465738} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6850293822335465743 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822335465738} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, 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_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!135 &6850293822335465736 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822335465738} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!54 &6850293822335465740 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822335465738} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 112 + m_CollisionDetection: 0 +--- !u!114 &-1535184401030889590 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822335465738} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca8c0632839b858468e5195b7c0fc210, type: 3} + m_Name: + m_EditorClassIdentifier: + _type: 0 +--- !u!1 &6850293822786565282 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6850293822786565281} + - component: {fileID: 6850293822786565286} + - component: {fileID: 6850293822786565287} + - component: {fileID: 6850293822786565280} + m_Layer: 0 + m_Name: LeftEar + m_TagString: Rabbit + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6850293822786565281 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822786565282} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000018537045, y: 0.62400085, z: 0.228} + m_LocalScale: {x: 0.049999997, y: 0.5, z: 0.19} + m_Children: [] + m_Father: {fileID: 6850293822305603345} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6850293822786565286 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822786565282} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6850293822786565287 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822786565282} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, 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_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &6850293822786565280 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6850293822786565282} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Resources/Rabbit 1.prefab.meta b/Assets/Resources/Rabbit 1.prefab.meta new file mode 100644 index 000000000..c4c87c9d5 --- /dev/null +++ b/Assets/Resources/Rabbit 1.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 491675361636fe148b16bd9620587af2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitData.cs b/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitData.cs index d06dde87c..f5c16605d 100644 --- a/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitData.cs +++ b/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitData.cs @@ -14,10 +14,7 @@ public sealed class RabbitData : EnemyData public enum BehaviourState { None = 0, - Idling = 1, - Roaming = 2, - Fleeing = 3, - Returning = 4 + Roaming = 1 } #endregion @@ -52,6 +49,7 @@ public enum BehaviourState #region Fields private PhysicsService _physicsService; + private Vector3 _nextPos; public RabbitStats RabbitStats; @@ -76,75 +74,18 @@ public void Act(RabbitModel rabbit) { _physicsService = Services.SharedInstance.PhysicsService; } - if ((rabbit.RabbitState != BehaviourState.Fleeing) && rabbit.DangerousObjects.Count > 0) - { - rabbit.RabbitState = BehaviourState.Fleeing; - } switch (rabbit.RabbitState) { - case BehaviourState.Idling: - { - Idle(); - CheckForEnemiesInFieldOfView(rabbit.RabbitTransform, rabbit.DangerousObjects); - rabbit.TimeElapsedAfterStateChange += Time.deltaTime; - if (rabbit.TimeElapsedAfterStateChange > IDLE_ANIMATION_DURATION && Random.Range(0.0f, 1.0f) > 0.5f) - { - rabbit.RabbitState = BehaviourState.Roaming; // On idle animation end - rabbit.TimeElapsedAfterStateChange = 0.0f; - } - - break; - } case BehaviourState.Roaming: { Roam(rabbit); rabbit.TimeElapsedAfterStateChange += Time.deltaTime; - var distanceFromStart = new Vector2((rabbit.RabbitTransform.position - rabbit.RabbitStartPosition).x, (rabbit.RabbitTransform.position - rabbit.RabbitStartPosition).z); - if (distanceFromStart.sqrMagnitude > RabbitStats.RunningRadius * RabbitStats.RunningRadius) - { - rabbit.RabbitState = BehaviourState.Returning; - } - else if (RabbitStats.CanIdle && rabbit.TimeElapsedAfterStateChange > TIME_UNTIL_CAN_CHANGE_STATE && Random.Range(0.0f, 1.0f) > 0.95f) - { - rabbit.TimeElapsedAfterStateChange = 0.0f; - rabbit.RabbitState = BehaviourState.Idling; - } - break; - } - case BehaviourState.Returning: - { - Return(rabbit); - var moveDistance = RabbitStats.RunningRadius / RabbitData.STOP_RETURNING_DISTANCE_FACTOR; - if ((rabbit.RabbitTransform.position - rabbit.RabbitStartPosition).sqrMagnitude < moveDistance * moveDistance) - { - rabbit.RabbitState = BehaviourState.Roaming; - } - break; - } - case BehaviourState.Fleeing: - { - rabbit.TimeElapsedAfterStartFleeing += Time.deltaTime; - if (rabbit.DangerousObjects.Count >= 0) - { - Flee(rabbit); - } - if (rabbit.TimeElapsedAfterStartFleeing > STOP_FLEEING_TIME) - { - if (rabbit.DangerousObjects.Count > 0) - { - rabbit.TimeElapsedAfterStartFleeing = 0; - } - else - { - rabbit.RabbitState = BehaviourState.Roaming; - } - } break; } default: break; } - Debug.Log(rabbit.RabbitState); + // Debug.Log(rabbit.RabbitState); } private void Idle() @@ -157,82 +98,18 @@ private void Roam(RabbitModel rabbit) Move(RandomNextCoord, rabbit); } - private void Return(RabbitModel rabbit) - { - Move(ReturningNextCoord, rabbit); - } - private void Move(Func, Vector3> nextCoordFunc, RabbitModel rabbit) { rabbit.TimeLeft -= Time.deltaTime; rabbit.TimeElapsed += Time.deltaTime; - if (rabbit.TimeLeft < 0.0f && _physicsService.CheckGround(rabbit.RabbitTransform.position, DOWN_RAYCAST_DISTANCE, out Vector3 hitPoint)) - { - RotateTo(rabbit.RabbitTransform, rabbit.RabbitTransform.forward, rabbit.NextCoord, out bool canHop); - if (rabbit.TimeElapsed >= MAX_HOP_FREQUENCY) - { - canHop = true; - } - if (canHop) - { - Hop(rabbit.RabbitRigidbody, rabbit.NextCoord, 1.0f); - rabbit.TimeLeft = HOP_FREQUENCY; - rabbit.NextCoord = NextCoord(rabbit.RabbitTransform, rabbit.RabbitStartPosition, rabbit.DangerousObjects, nextCoordFunc); - rabbit.TimeElapsed = 0.0f; - } - } - } - private void Flee(RabbitModel rabbit) - { - RotateTo(rabbit.RabbitTransform, rabbit.RabbitTransform.forward, rabbit.NextCoord, out bool canHop); - rabbit.TimeLeft -= Time.deltaTime; - if (rabbit.TimeLeft < 0.0f && _physicsService.CheckGround(rabbit.RabbitTransform.position, DOWN_RAYCAST_DISTANCE, out Vector3 hitPoint)) - { - if (rabbit.DangerousObjects.Count > 0) - { - rabbit.NextCoord = NextCoord(rabbit.RabbitTransform, rabbit.RabbitStartPosition, rabbit.DangerousObjects, FleeingNextCoord); - } - Hop(rabbit.RabbitRigidbody, rabbit.NextCoord, FLEE_ACCELERATION_FACTOR); - rabbit.TimeLeft = HOP_FREQUENCY; - } - } + _physicsService.CheckGround(rabbit.RabbitTransform.position, DOWN_RAYCAST_DISTANCE, out Vector3 hitPoint); - private bool CheckForEnemiesInFieldOfView(Transform transform, List targets) - { - for (int i = 0; i < targets.Count; i++) - { - var distToTarget = targets[i].position - transform.position; - if (distToTarget.sqrMagnitude > RabbitStats.ViewRadius) - { - targets.RemoveAt(i); - } - } + float distance = rabbit.RabbitTransform.position.y - hitPoint.y; + distance = distance < 1 ? 0 : 1 / distance; + Debug.Log(distance); - //var triggers = _physicsService.GetObjectsInRadius(transform.position, RabbitStruct.ViewRadius, LayerManager.DefaultLayer); - var triggers = Physics.OverlapSphere(transform.position, RabbitStats.ViewRadius, - LayerMask.GetMask(LayerMask.LayerToName(LayerManager.DefaultLayer), LayerMask.LayerToName(LayerManager.PlayerLayer))); - var result = false; - foreach (Collider target in triggers) - { - if (!target.CompareTag(TagManager.RABBIT)) - { - var dirToTarget = target.bounds.center - transform.position; - if (Vector3.Angle(transform.forward, dirToTarget.normalized) < RabbitStats.ViewAngle) - { - if (!Physics.Raycast(transform.position, dirToTarget.normalized, dirToTarget.magnitude, LayerManager.EnvironmentLayer)) - { - if (targets.Count < DANGEROUS_OBJECTS_MAX_COUNT) - { - if (!targets.Contains(target.transform)) - targets.Add(target.transform); - result = true; - } - } - } - } - } - return result; + rabbit.RabbitRigidbody.velocity = new Vector3(Random.Range(-1f, 1f), distance - .1f, Random.Range(-1f, 1f)); } private void RotateTo(Transform transform, Vector3 from, Vector3 to, out bool rotationFinished) @@ -244,34 +121,6 @@ private void RotateTo(Transform transform, Vector3 from, Vector3 to, out bool ro rotationFinished = Mathf.Approximately(dot, 1.0f); } - private void Hop(Rigidbody rigidbody, Vector3 direction, float acceleration) - { - rigidbody.AddForce((direction * RabbitStats.MoveSpeed * acceleration + Vector3.up * RabbitStats.JumpHeight) * HOP_FORCE_MULTIPLIER); - } - - private Vector3 NextCoord(Transform transform, Vector3 startPosition, List targets, Func, Vector3> nextCoordFunc) - { - var nextCoord = nextCoordFunc(transform, startPosition, targets); - if (Physics.Raycast(transform.position, nextCoord, FRONT_RAYCAST_DISTANCE, LayerManager.EnvironmentLayer)) - { - var chance = Random.Range(0.0f, 1.0f); - float angle; - if (chance < 0.5f) - { - angle = MAX_ANGLE_DEVIATION * Mathf.Deg2Rad; - } - else - { - angle = -MAX_ANGLE_DEVIATION * Mathf.Deg2Rad; - } - var coord = new Vector2(nextCoord.x, nextCoord.z); - nextCoord.x = RotateByAngle(coord, angle).x; - nextCoord.z = RotateByAngle(coord, angle).y; - } - CheckForEnemiesInFieldOfView(transform, targets); - return nextCoord; - } - public Vector3 RandomNextCoord(Transform transform, Vector3 startPosition, List targets) { var direction = Random.Range(0.0f, 100.0f); @@ -295,42 +144,6 @@ public Vector3 RandomNextCoord(Transform transform, Vector3 startPosition, List< return new Vector3(RotateByAngle(forward, angle).x, transform.forward.y, RotateByAngle(forward, angle).y); } - private Vector3 ReturningNextCoord(Transform transform, Vector3 startPosition, List targets) - { - var next = (startPosition - transform.position).normalized; - //var distance = Mathf.Min((transform.position - startPosition).magnitude, RabbitStruct.RunningRadius); - //var angle = AngleDeviation(distance); - - //var distance = Mathf.Min((transform.position - startPosition).magnitude, RabbitStruct.RunningRadius); - //var angle = AngleDeviationSqr(distance); - - var distance = Mathf.Min((transform.position - startPosition).sqrMagnitude, RabbitStats.RunningRadius * RabbitStats.RunningRadius); - var angle = AngleDeviationSqrPlain(distance); - angle = Random.Range(-angle, angle); - angle *= Mathf.Deg2Rad; - var forward = new Vector2(next.x, next.z); - return new Vector3(RotateByAngle(forward, angle).x, transform.forward.y, RotateByAngle(forward, angle).y); - } - - private Vector3 FleeingNextCoord(Transform transform, Vector3 startPosition, List targets) - { - var sum = Vector3.zero; - foreach (var obj in targets) - { - var dir = transform.position - obj.position; - dir = dir.normalized * RabbitStats.ViewRadius * RabbitStats.ViewRadius / dir.sqrMagnitude; - sum += dir; - } - var result = new Vector2(sum.x, sum.z); - if (result == Vector2.zero) - { - result.x = targets[0].position.x; - result.y = targets[0].position.z; - } - result.Normalize(); - return new Vector3(result.x, transform.forward.y, result.y); - } - private float AngleDeviation(float distance) // linear, use with distance magnitude { var r = RabbitStats.RunningRadius; @@ -374,7 +187,7 @@ public override void TakeDamage(EnemyModel instance, Damage damage) if (instance.IsDead) { - Debug.Log("You killed a bunny! You monster!"); + // Debug.Log("You killed a bunny! You monster!"); var rabbit = instance as RabbitModel; rabbit.Rabbit.GetComponent().material.color = Color.red; } diff --git a/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitInitializeController.cs b/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitInitializeController.cs index 465c5315d..4610570cb 100644 --- a/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitInitializeController.cs +++ b/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitInitializeController.cs @@ -21,9 +21,9 @@ public override void OnAwake() RabbitModel rabbit = new RabbitModel(instance, RabbitData); _context.EnemyModels.Add(instance.GetInstanceID(), rabbit); - //GameObject instance2 = GameObject.Instantiate(RabbitData.RabbitStruct.Prefab, new Vector3(2, 0.5f, 2), Quaternion.identity); - //RabbitModel Rabbit2 = new RabbitModel(instance2, RabbitData); - //_context.RabbitModels.Add(Rabbit2); + // GameObject instance2 = GameObject.Instantiate(RabbitData.BaseStats.Prefab, new Vector3(2, 100, 2), Quaternion.identity); + // RabbitModel Rabbit2 = new RabbitModel(instance2, RabbitData); + // _context.EnemyModels.Add(instance.GetInstanceID() + 1, Rabbit2); } #endregion diff --git a/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitModel.cs b/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitModel.cs index 73c31efc8..ecc7cfe8b 100644 --- a/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitModel.cs +++ b/Assets/Scripts/EntityScripts/Enemies/Rabbit/RabbitModel.cs @@ -49,18 +49,11 @@ public RabbitModel(GameObject prefab, RabbitData rabbitData) DangerousObjects = new List(); NextCoord = rabbitData.RandomNextCoord(RabbitTransform, RabbitStartPosition, DangerousObjects); - if (rabbitData.RabbitStats.CanIdle) - { - RabbitState = RabbitData.BehaviourState.Idling; - } - else - { - RabbitState = RabbitData.BehaviourState.Roaming; - } + RabbitState = RabbitData.BehaviourState.Roaming; } else { - Debug.LogError("Invalid Rabbit prefab: no Rigidbody"); + // Debug.LogError("Invalid Rabbit prefab: no Rigidbody"); } }