diff options
author | chai <215380520@qq.com> | 2024-05-23 10:08:29 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-05-23 10:08:29 +0800 |
commit | 8722a9920c1f6119bf6e769cba270e63097f8e25 (patch) | |
tree | 2eaf9865de7fb1404546de4a4296553d8f68cc3b /Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld | |
parent | 3ba4020b69e5971bb0df7ee08b31d10ea4d01937 (diff) |
+ astar project
Diffstat (limited to 'Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld')
8 files changed, 1685 insertions, 0 deletions
diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/InfiniteWorld.unity b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/InfiniteWorld.unity new file mode 100644 index 0000000..8cb9a70 --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/InfiniteWorld.unity @@ -0,0 +1,1198 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientEquatorColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientGroundColor: {r: 0.2, g: 0.2, b: 0.2, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &4 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 1 + m_BakeResolution: 8 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 0 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 1 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: 7f192c90a6c919b55887edc34183bdd0, + type: 2} +--- !u!1 &35 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 159} + - component: {fileID: 569} + - component: {fileID: 38} + - component: {fileID: 37} + - component: {fileID: 560} + - component: {fileID: 571} + - component: {fileID: 36} + m_Layer: 2 + m_Name: Bot CharacterController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &36 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9679e68a0f1144e79c664d9a11ca121, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + target: {fileID: 213} + useRotation: 0 +--- !u!114 &37 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8503d71a898994d3288ce1708e2707fe, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + anim: {fileID: 1614805743} + endOfPathEffect: {fileID: 0} + naturalSpeed: 2.8571 +--- !u!114 &38 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f6eb1402c17e84a9282a7f0f62eb584f, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + radius: 0.5 + height: 1 + canMove: 1 + maxSpeed: 9 + gravity: {x: NaN, y: NaN, z: NaN} + groundMask: + serializedVersion: 2 + m_Bits: 4294967295 + endReachedDistance: 0.05 + whenCloseToDestination: 0 + rvoDensityBehavior: + enabled: 0 + densityThreshold: 0.5 + returnAfterBeingPushedAway: 0 + progressAverage: 0 + lastJobDensityResult: 0 + centerOffsetCompatibility: NaN + repathRateCompatibility: 3 + canSearchCompability: 1 + orientation: 0 + enableRotation: 1 + autoRepath: + mode: 2 + period: 3 + sensitivity: 10 + maximumPeriod: 2 + visualizeSensitivity: 0 + targetCompatibility: {fileID: 0} + maxAcceleration: -2.5 + rotationSpeed: 810 + slowdownDistance: 3 + pickNextWaypointDist: 2 + alwaysDrawGizmos: 0 + slowWhenNotFacingTarget: 1 + preventMovingBackwards: 0 + constrainInsideGraph: 0 +--- !u!1 &89 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 213} + - component: {fileID: 429} + - component: {fileID: 327} + m_Layer: 2 + m_Name: Target + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &125 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 249} + - component: {fileID: 578} + m_Layer: 0 + m_Name: A* + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &126 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 250} + - component: {fileID: 553} + m_Layer: 4 + m_Name: Directional light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &128 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 252} + - component: {fileID: 253} + - component: {fileID: 558} + - component: {fileID: 545} + - component: {fileID: 577} + - component: {fileID: 575} + - component: {fileID: 133} + - component: {fileID: 580} + - component: {fileID: 581} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &133 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 46fb00c7e6ad9485282a146ad398a2a5, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + target: {fileID: 159} + distance: 30 + height: 30 + damping: 5 + enableRotation: 1 + smoothRotation: 1 + rotationDamping: 10 + staticOffset: 1 +--- !u!4 &159 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1614805742} + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &213 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 89} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.7, y: 0.7, z: 0.7} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &249 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &250 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126} + m_LocalRotation: {x: 0.3971313, y: 0.30997553, z: -0.14454399, w: 0.8516507} + m_LocalPosition: {x: 0, y: -0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &252 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_LocalRotation: {x: 0.48865515, y: 0, z: 0, w: 0.87247705} + m_LocalPosition: {x: 8.427475, y: 47.39212, z: -38.707382} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &253 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 100 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: 3 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 0 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!23 &327 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 89} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 86ebf3c4b42174d2a9d3c1dfd2476f32, type: 2} + 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: 0 + 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 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &429 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 89} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!81 &545 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_Enabled: 1 +--- !u!108 &553 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 1 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 1 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 4.0677967 +--- !u!124 &558 +Behaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_Enabled: 1 +--- !u!143 &560 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 0 + serializedVersion: 3 + m_Height: 0.2 + m_Radius: 0.5 + m_SlopeLimit: 45.09 + m_StepOffset: 0.3 + m_SkinWidth: 0.02 + m_MinMoveDistance: 0 + m_Center: {x: 0, y: 0.55, z: 0} +--- !u!114 &569 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 373b52eb9bf8c40f785bb6947a1aee66, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + drawGizmos: 1 + detailedGizmos: 0 + startEndModifier: + addPoints: 0 + exactStartPoint: 3 + exactEndPoint: 3 + useRaycasting: 0 + mask: + serializedVersion: 2 + m_Bits: 4294967295 + useGraphRaycasting: 0 + traversableTags: -1 + tagPenalties: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + graphMask: + value: -1 +--- !u!114 &571 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cb6a34d769a1e4ac7b0b30e433aa443c, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + smoothType: 0 + subdivisions: 2 + iterations: 4 + strength: 0.5 + uniformLength: 1 + maxSegmentLength: 1.5 + bezierTangentLength: 0.4 + offset: 0.2 + factor: 0.1 +--- !u!114 &575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 687e3bc0934ac46d3957e59872965f3c, type: 3} + m_Name: + m_EditorClassIdentifier: + go: {fileID: 100000, guid: b1a1bb6d1bcc546df826488cc72438c3, type: 3} + direct: 0 + issueGUOs: 1 + alignToSurface: 0 + offset: {x: 0, y: 0, z: 0} + randomizeRotation: 0 +--- !u!114 &577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f903c2eb621d8418d88f8dad81b13dc6, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + mask: + serializedVersion: 2 + m_Bits: 7 + target: {fileID: 213} + trigger: 0 + clickEffect: {fileID: 0} + use2D: 0 + formationMode: 0 +--- !u!114 &578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 125} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 78396926cbbfc4ac3b48fc5fc34a87d1, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + data: + dataString: UEsDBBQAAAgIAAAIIeylBzhG+QIAAI4HAAALACQAZ3JhcGgwLmpzb24KACAAAAAAAAEAGAAAgD7V3rGdAQCAPtXesZ0BAIA+1d6xnQHdVMlyGjEQ/RVK55iCsQlObgnGOAcvZZzyIfggND2MCiFNaTFgl/893RoNjMeufEBOUr1e3+uWXpkreQXse++VKb43weOV3YPwXK+C4pZ96bGtzH2J+ADvOVSHuwDtwVJsj+0Stk/nC529N7xZ47mXRscan7pRCTrJW5sc5vIFEs5dhb3cU4KESGc24K0UP/RKQRPmBNca8vl/QUbq6GjszMr8GnMQDbqztvEKdnxlNOVvfB4jtw+Vhp9WQjBoWRi7meYrmBjnHcIFVw46RP8lSFe2bJTcTgb9s+SZjaJr0ELxTYVTqiVJEcNRkxlvva5s/TElFEYp6Rrd/T4OmU145QKSoUlKjvRiI1l/jEAJclXS/LN2+G1ROPCJhOX7C2lRpzov+2lq8Tbcrev2nrkKVOmkJlDnvP5oPovmwprNVVN2OKASvpRifc/3gjvfErcNXxw7H0aRtlyt+VLBYwn6xsysCTpHo7eBQoOD7KKV6kBtUoJYH/3qXjtgqD6Oc3gc51skv5t7qA48Bv3TI/rbgZsrE9VvGiBTgoYkPFic3i8kFNfHpUqIUpOY4IGv2nuWDJfSOo+m1FBCyfcOJwQ5aAFJ+BNy0NTf0gRLudg0NktqBD8xVkOEE+kKNFd+f4cZfXcFOrZWXx3LJacnl7pLtuYldUIifPQfDDqmO7M9TNvi+rq4083tz1P8zkqzvQZX3gavpIYjGTLcoMATg9+daBRuOmjC5sEWXLTCPOx8sHDBPY/VsB3csLwdilrGCB2UomWOBGJH+IKQw+CJ9C3pm1URZnc1KdL9xmg4nJHBKsj8/SthPPuWZaI4Hy9H56LIvp4Uw+UpZOIbjId0HbBe/fuh4lw12etB4YLpIx2NT6b5E3szy6v4bnPLtzP5sjGt4UtdmLmwAPq2znDgCxaL4CeTT3OJTOfgvdRxNdnrgikj1pAvDokWUdvpzlu+OGZZsEo+G0/Igk3iT7hgBB9eJW7vs4QtFX+XDBROD/IHqWDDq0X8+dnbX1BLAwQUAAAICAAACCHsOfIApWsAAAB4AAAACQAkAG1ldGEuanNvbgoAIAAAAAAAAQAYAACAPtXesZ0BAIA+1d6xnQEAgD7V3rGdAatWKkstKs7Mz1OyUjDRM9azsNBRUEovSizIKAaKGII4pZkpIHa0UqKRpZFRcpqFeZKpRXKakZlummGScapRsmWquSGIaaAUC1RfUlmQ6peYmwrRE5BYkpGWmZeSmZeu516UmeIOMlopthYAUEsBAi0AFAAACAgAAAgh7KUHOEb5AgAAjgcAAAsAJAAAAAAAAAAAAAAAAAAAAGdyYXBoMC5qc29uCgAgAAAAAAABABgAAIA+1d6xnQEAgD7V3rGdAQCAPtXesZ0BUEsBAi0AFAAACAgAAAgh7DnyAKVrAAAAeAAAAAkAJAAAAAAAAAAAAAAARgMAAG1ldGEuanNvbgoAIAAAAAAAAQAYAACAPtXesZ0BAIA+1d6xnQEAgD7V3rGdAVBLBQYAAAAAAgACALgAAAD8AwAAAAA= + file_cachedStartup: {fileID: 0} + cacheStartup: 0 + showNavGraphs: 0 + showUnwalkableNodes: 0 + debugMode: 0 + debugFloor: 0 + debugRoof: 1 + manualDebugFloorRoof: 0 + showSearchTree: 0 + unwalkableNodeDebugSize: 0.2 + logPathResults: 0 + maxNearestNodeDistance: 1000 + scanOnStartup: 1 + fullGetNearestSearch: 1 + prioritizeGraphs: 0 + prioritizeGraphsLimit: 1 + colorSettings: + _SolidColor: {r: 0.11764706, g: 0.4, b: 0.7882353, a: 0.9} + _UnwalkableNode: {r: 0.99689525, g: 0, b: 0, a: 0.5} + _BoundsHandles: {r: 0.29, g: 0.454, b: 0.741, a: 0.9} + _ConnectionLowLerp: {r: 0, g: 1, b: 0, a: 0.5} + _ConnectionHighLerp: {r: 1, g: 0, b: 0, a: 0.5} + _MeshEdgeColor: {r: 0, g: 0, b: 0, a: 0.5} + _AreaColors: [] + tagNames: + - Basic Ground + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - 7 + - 8 + - 9 + - 10 + - 11 + - 12 + - 13 + - 14 + - 15 + - 16 + - 17 + - 18 + - 19 + - 20 + - 21 + - 22 + - 23 + - 24 + - 25 + - 26 + - 27 + - 28 + - 29 + - 30 + - 31 + heuristic: 2 + heuristicScale: 1 + threadCount: 1 + maxFrameTime: 10 + batchGraphUpdates: 0 + graphUpdateBatchingInterval: 0.2 + navmeshUpdates: + updateInterval: 0 + euclideanEmbedding: + mode: 0 + seed: 0 + pivotPointRoot: {fileID: 0} + spreadOutCount: 1 + showGraphs: 1 +--- !u!196 &579 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666666 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!114 &580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 786ae4169b6714241b0ba3c766cdc57f, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &581 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 128} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3a705f1fd95105f4582d18bf472edc13, type: 3} + m_Name: + m_EditorClassIdentifier: + page: example_infinite_world +--- !u!1 &414891061 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 414891063} + - component: {fileID: 414891062} + m_Layer: 0 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!223 &414891062 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414891061} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 1 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 25 + m_UpdateRectTransformForStandalone: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &414891063 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414891061} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 440069515} + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1 &440069514 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 440069515} + - component: {fileID: 440069518} + - component: {fileID: 440069517} + - component: {fileID: 440069516} + m_Layer: 0 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &440069515 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440069514} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 414891063} + m_RootOrder: -2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -200, y: 0} + m_SizeDelta: {x: 400, y: 300} + m_Pivot: {x: 0, y: 1} +--- !u!114 &440069516 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440069514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5} + m_EffectDistance: {x: 1, y: -1} + m_UseGraphicAlpha: 1 +--- !u!114 &440069517 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440069514} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0, g: 0, b: 0, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 1 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Double click to move the target +--- !u!222 &440069518 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 440069514} + m_CullTransparentMesh: 0 +--- !u!1 &765738561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 765738564} + - component: {fileID: 765738563} + - component: {fileID: 765738562} + m_Layer: 0 + m_Name: ProceduralWorld + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &765738562 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765738561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b265527da9152484fa74392751085576, type: 3} + m_Name: + m_EditorClassIdentifier: + target: {fileID: 159} + prefabs: + - prefab: {fileID: 100000, guid: 61432558c555740a38a88fa99d358883, type: 3} + density: 0.2 + perlin: 1 + perlinPower: 2 + perlinOffset: {x: 0, y: 0} + perlinScale: 1 + random: 0 + minScale: 1 + maxScale: 1 + randomRotation: 1 + singleFixed: 1 + - prefab: {fileID: 7276697920541909775, guid: 0e7cebf063eb8e149865dd1b92162dd1, + type: 3} + density: 2 + perlin: 1 + perlinPower: 15 + perlinOffset: {x: 0, y: 0} + perlinScale: 1 + random: 0 + minScale: 0.8 + maxScale: 1.8 + randomRotation: 1 + singleFixed: 0 + - prefab: {fileID: 6439736896892008504, guid: 80a85002e0df25a4d8c550e57f7b2ca8, + type: 3} + density: 2 + perlin: 1 + perlinPower: 15 + perlinOffset: {x: 0, y: 0.4} + perlinScale: 1 + random: 0 + minScale: 0.7 + maxScale: 1.5 + randomRotation: 1 + singleFixed: 0 + - prefab: {fileID: 5803360361524897222, guid: 6d3ca6baad3f74f4eb28e793e5c283f1, + type: 3} + density: 0.02 + perlin: 1 + perlinPower: 4 + perlinOffset: {x: 212.12, y: 213.123} + perlinScale: 2 + random: 0 + minScale: 0.2 + maxScale: 0.7 + randomRotation: 1 + singleFixed: 0 + - prefab: {fileID: 2272009798741985950, guid: eae8082d880ac114ba3f1ca947252807, + type: 3} + density: 10 + perlin: 1 + perlinPower: 20 + perlinOffset: {x: 4124.21, y: 123.1231} + perlinScale: 1 + random: 0 + minScale: 0.1 + maxScale: 0.4 + randomRotation: 1 + singleFixed: 0 + - prefab: {fileID: 6840203512350803840, guid: 239b847480d467e46b9f6547cfa1bd2b, + type: 3} + density: 0.01 + perlin: 1 + perlinPower: 3 + perlinOffset: {x: 1124.64, y: 302} + perlinScale: 1 + random: 0.2 + minScale: 1 + maxScale: 1 + randomRotation: 1 + singleFixed: 0 + - prefab: {fileID: 8875320451340614558, guid: 40efca0c3f3dae444ab6892438c46fdd, + type: 3} + density: 0.003 + perlin: 1 + perlinPower: 3 + perlinOffset: {x: 1124.64, y: 302.7} + perlinScale: 1 + random: 0 + minScale: 0.6 + maxScale: 0.9 + randomRotation: 1 + singleFixed: 0 + range: 2 + disableAsyncLoadWithinRange: 1 + tileSize: 100 + subTiles: 10 + staticBatching: 0 +--- !u!114 &765738563 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765738561} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6a634230476dc478b88eceac73b1c8a4, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + updateDistance: 10 + target: {fileID: 159} + graphIndex: 0 +--- !u!4 &765738564 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 765738561} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1614805741 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 159} + m_Modifications: + - target: {fileID: 2402233671515968589, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_Name + value: mine_bot_render + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, type: 3} +--- !u!4 &1614805742 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2402233671516325997, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + m_PrefabInstance: {fileID: 1614805741} + m_PrefabAsset: {fileID: 0} +--- !u!95 &1614805743 stripped +Animator: + m_CorrespondingSourceObject: {fileID: 2402233671523264387, guid: 0b9c68ddd67ee5b9e8aeca86ac0fbc03, + type: 3} + m_PrefabInstance: {fileID: 1614805741} + m_PrefabAsset: {fileID: 0} diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/InfiniteWorld.unity.meta b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/InfiniteWorld.unity.meta new file mode 100644 index 0000000..b9d3c41 --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/InfiniteWorld.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 9df9f020877fb4842b75396ddf708b69 +DefaultImporter: + userData: diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralGround.prefab b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralGround.prefab new file mode 100644 index 0000000..1e82131 --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralGround.prefab @@ -0,0 +1,110 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &100000 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 400000} + - component: {fileID: 3300000} + - component: {fileID: 2300000} + - component: {fileID: 6500000} + m_Layer: 2 + m_Name: ProceduralGround + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 4294967295 + m_IsActive: 1 +--- !u!4 &400000 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 10, y: 10, z: 10} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3300000 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2300000 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6126e4994db73964388a14e900a04d28, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 0.5 + m_ReceiveGI: 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 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &6500000 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 10, y: 0.01, z: 10} + m_Center: {x: 0, y: 0, z: 0} diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralGround.prefab.meta b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralGround.prefab.meta new file mode 100644 index 0000000..9f3b3c2 --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralGround.prefab.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: 61432558c555740a38a88fa99d358883 +NativeFormatImporter: + userData: diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralSettings.lighting b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralSettings.lighting new file mode 100644 index 0000000..c0db104 --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralSettings.lighting @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!850595691 &4890085278179872738 +LightingSettings: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ProceduralSettings + serializedVersion: 2 + m_GIWorkflowMode: 1 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_RealtimeEnvironmentLighting: 1 + m_BounceScale: 1 + m_AlbedoBoost: 1 + m_IndirectOutputScale: 1 + m_UsingShadowmask: 0 + m_BakeBackend: 0 + m_LightmapMaxSize: 1024 + m_BakeResolution: 8 + m_Padding: 2 + m_TextureCompression: 0 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 0 + m_CompAOExponentDirect: 0 + m_ExtractAO: 0 + m_MixedBakeMode: 1 + m_LightmapsBakeMode: 1 + m_FilterMode: 1 + m_LightmapParameters: {fileID: 0} + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_RealtimeResolution: 1 + m_ForceWhiteAlbedo: 0 + m_ForceUpdates: 0 + m_FinalGather: 0 + m_FinalGatherRayCount: 1024 + m_FinalGatherFiltering: 1 + m_PVRCulling: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_LightProbeSampleCountMultiplier: 4 + m_PVRBounces: 2 + m_PVRRussianRouletteStartBounce: 2 + m_PVREnvironmentMIS: 0 + m_PVRFilteringMode: 0 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralSettings.lighting.meta b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralSettings.lighting.meta new file mode 100644 index 0000000..34b88be --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralSettings.lighting.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f192c90a6c919b55887edc34183bdd0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralWorld.cs b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralWorld.cs new file mode 100644 index 0000000..4e369a4 --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralWorld.cs @@ -0,0 +1,290 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +namespace Pathfinding.Examples { + /// <summary>Example script for generating an infinite procedural world</summary> + [HelpURL("https://arongranberg.com/astar/documentation/stable/proceduralworld.html")] + public class ProceduralWorld : MonoBehaviour { + public Transform target; + + public ProceduralPrefab[] prefabs; + + /// <summary>How far away to generate tiles</summary> + public int range = 1; + + public int disableAsyncLoadWithinRange = 1; + + /// <summary>World size of tiles</summary> + public float tileSize = 100; + public int subTiles = 20; + + /// <summary> + /// Enable static batching on generated tiles. + /// Will improve overall FPS, but might cause FPS drops on + /// some frames when static batching is done + /// </summary> + public bool staticBatching = false; + + Queue<IEnumerator> tileGenerationQueue = new Queue<IEnumerator>(); + + public enum RotationRandomness { + AllAxes, + Y + } + + [System.Serializable] + public class ProceduralPrefab { + /// <summary>Prefab to use</summary> + public GameObject prefab; + + /// <summary>Number of objects per square world unit</summary> + public float density = 0; + + /// <summary> + /// Multiply by [perlin noise]. + /// Value from 0 to 1 indicating weight. + /// </summary> + public float perlin = 0; + + /// <summary> + /// Perlin will be raised to this power. + /// A higher value gives more distinct edges + /// </summary> + public float perlinPower = 1; + + /// <summary>Some offset to avoid identical density maps</summary> + public Vector2 perlinOffset = Vector2.zero; + + /// <summary> + /// Perlin noise scale. + /// A higher value spreads out the maximums and minimums of the density. + /// </summary> + public float perlinScale = 1; + + /// <summary> + /// Multiply by [random]. + /// Value from 0 to 1 indicating weight. + /// </summary> + public float random = 1; + + /// <summary>Minimum scale of prefab</summary> + public float minScale = 1; + + /// <summary>Maximum scale of prefab</summary> + public float maxScale = 1; + + public RotationRandomness randomRotation = RotationRandomness.AllAxes; + + /// <summary>If checked, a single object will be created in the center of each tile</summary> + public bool singleFixed = false; + } + + /// <summary>All tiles</summary> + Dictionary<Int2, ProceduralTile> tiles = new Dictionary<Int2, ProceduralTile>(); + + // Use this for initialization + void Start () { + // Calculate the closest tiles + // and then recalculate the graph + Update(); + AstarPath.active.Scan(); + + StartCoroutine(GenerateTiles()); + } + + // Update is called once per frame + void Update () { + // Calculate the tile the target is standing on + Int2 p = new Int2(Mathf.RoundToInt((target.position.x - tileSize*0.5f) / tileSize), Mathf.RoundToInt((target.position.z - tileSize*0.5f) / tileSize)); + + // Clamp range + range = range < 1 ? 1 : range; + + // Remove tiles which are out of range + bool changed = true; + while (changed) { + changed = false; + foreach (KeyValuePair<Int2, ProceduralTile> pair in tiles) { + if (Mathf.Abs(pair.Key.x-p.x) > range || Mathf.Abs(pair.Key.y-p.y) > range) { + pair.Value.Destroy(); + tiles.Remove(pair.Key); + changed = true; + break; + } + } + } + + // Add tiles which have come in range + // and start calculating them + for (int x = p.x-range; x <= p.x+range; x++) { + for (int z = p.y-range; z <= p.y+range; z++) { + if (!tiles.ContainsKey(new Int2(x, z))) { + ProceduralTile tile = new ProceduralTile(this, x, z); + var generator = tile.Generate(); + // Tick it one step forward + generator.MoveNext(); + // Calculate the rest later + tileGenerationQueue.Enqueue(generator); + tiles.Add(new Int2(x, z), tile); + } + } + } + + // The ones directly adjacent to the current one + // should always be completely calculated + // make sure they are + for (int x = p.x-disableAsyncLoadWithinRange; x <= p.x+disableAsyncLoadWithinRange; x++) { + for (int z = p.y-disableAsyncLoadWithinRange; z <= p.y+disableAsyncLoadWithinRange; z++) { + tiles[new Int2(x, z)].ForceFinish(); + } + } + } + + IEnumerator GenerateTiles () { + while (true) { + if (tileGenerationQueue.Count > 0) { + var generator = tileGenerationQueue.Dequeue(); + yield return StartCoroutine(generator); + } + yield return null; + } + } + + class ProceduralTile { + int x, z; + System.Random rnd; + + ProceduralWorld world; + + public bool destroyed { get; private set; } + + public ProceduralTile (ProceduralWorld world, int x, int z) { + this.x = x; + this.z = z; + this.world = world; + rnd = new System.Random((x * 10007) ^ (z*36007)); + } + + Transform root; + IEnumerator ie; + + public IEnumerator Generate () { + ie = InternalGenerate(); + GameObject rt = new GameObject("Tile " + x + " " + z); + root = rt.transform; + while (ie != null && root != null && ie.MoveNext()) yield return ie.Current; + ie = null; + } + + public void ForceFinish () { + while (ie != null && root != null && ie.MoveNext()) {} + ie = null; + } + + Vector3 RandomInside () { + Vector3 v = new Vector3(); + + v.x = (x + (float)rnd.NextDouble())*world.tileSize; + v.z = (z + (float)rnd.NextDouble())*world.tileSize; + return v; + } + + Vector3 RandomInside (float px, float pz) { + Vector3 v = new Vector3(); + + v.x = (px + (float)rnd.NextDouble()/world.subTiles)*world.tileSize; + v.z = (pz + (float)rnd.NextDouble()/world.subTiles)*world.tileSize; + return v; + } + + Quaternion RandomYRot (ProceduralPrefab prefab) { + return prefab.randomRotation == RotationRandomness.AllAxes ? Quaternion.Euler(360*(float)rnd.NextDouble(), 360*(float)rnd.NextDouble(), 360*(float)rnd.NextDouble()) : Quaternion.Euler(0, 360 * (float)rnd.NextDouble(), 0); + } + + IEnumerator InternalGenerate () { + Debug.Log("Generating tile " + x + ", " + z); + int counter = 0; + + float[, ] ditherMap = new float[world.subTiles+2, world.subTiles+2]; + + //List<GameObject> objs = new List<GameObject>(); + + for (int i = 0; i < world.prefabs.Length; i++) { + ProceduralPrefab pref = world.prefabs[i]; + + if (pref.singleFixed) { + Vector3 p = new Vector3((x+0.5f) * world.tileSize, 0, (z+0.5f) * world.tileSize); + GameObject ob = GameObject.Instantiate(pref.prefab, p, Quaternion.identity) as GameObject; + ob.transform.parent = root; + } else { + float subSize = world.tileSize/world.subTiles; + + for (int sx = 0; sx < world.subTiles; sx++) { + for (int sz = 0; sz < world.subTiles; sz++) { + ditherMap[sx+1, sz+1] = 0; + } + } + + for (int sx = 0; sx < world.subTiles; sx++) { + for (int sz = 0; sz < world.subTiles; sz++) { + float px = x + sx/(float)world.subTiles;//sx / world.tileSize; + float pz = z + sz/(float)world.subTiles;//sz / world.tileSize; + + float perl = Mathf.Pow(Mathf.PerlinNoise((px + pref.perlinOffset.x)*pref.perlinScale, (pz + pref.perlinOffset.y)*pref.perlinScale), pref.perlinPower); + + float density = pref.density * Mathf.Lerp(1, perl, pref.perlin) * Mathf.Lerp(1, (float)rnd.NextDouble(), pref.random); + float fcount = subSize*subSize*density + ditherMap[sx+1, sz+1]; + int count = Mathf.RoundToInt(fcount); + + // Apply dithering + // See http://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering + ditherMap[sx+1+1, sz+1+0] += (7f/16f) * (fcount - count); + ditherMap[sx+1-1, sz+1+1] += (3f/16f) * (fcount - count); + ditherMap[sx+1+0, sz+1+1] += (5f/16f) * (fcount - count); + ditherMap[sx+1+1, sz+1+1] += (1f/16f) * (fcount - count); + + // Create a number of objects + for (int j = 0; j < count; j++) { + // Find a random position inside the current sub-tile + Vector3 p = RandomInside(px, pz); + GameObject ob = GameObject.Instantiate(pref.prefab, p, RandomYRot(pref)) as GameObject; + ob.transform.parent = root; + + var scale = Mathf.Lerp(pref.minScale, pref.maxScale, Mathf.PerlinNoise(p.x * pref.perlinScale, p.z * pref.perlinScale)); + ob.transform.localScale = Vector3.one * scale; + //ob.SetActive ( false ); + //objs.Add ( ob ); + counter++; + if (counter % 2 == 0) + yield return null; + } + } + } + } + } + + ditherMap = null; + + yield return null; + yield return null; + + //Batch everything for improved performance + if (Application.HasProLicense() && world.staticBatching) { + StaticBatchingUtility.Combine(root.gameObject); + } + } + + public void Destroy () { + if (root != null) { + Debug.Log("Destroying tile " + x + ", " + z); + GameObject.Destroy(root.gameObject); + root = null; + } + + // Make sure the tile generator coroutine is destroyed + ie = null; + } + } + } +} diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralWorld.cs.meta b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralWorld.cs.meta new file mode 100644 index 0000000..4e6cb7b --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/Scenes/InfiniteWorld/ProceduralWorld.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b265527da9152484fa74392751085576 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: |