diff --git a/Game/CourierOld/Assets/AddressableAssetsData.meta b/Game/CourierOld/Assets/AddressableAssetsData.meta new file mode 100644 index 0000000..0d85403 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65cf716f111fb36a19123f807ecdce25 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/Game/CourierOld/Assets/AddressableAssetsData/AddressableAssetSettings.asset new file mode 100644 index 0000000..d7dfc11 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AddressableAssetSettings.asset @@ -0,0 +1,115 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 468a46d0ae32c3544b7d98094e6448a9, type: 3} + m_Name: AddressableAssetSettings + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetSettings + m_DefaultGroup: d447fc60305c17a17bf20948ab295a45 + m_currentHash: + serializedVersion: 2 + Hash: 44f191e9f235d5420c20a51f93ead7da + m_OptimizeCatalogSize: 0 + m_BuildRemoteCatalog: 0 + m_CatalogRequestsTimeout: 0 + m_DisableCatalogUpdateOnStart: 0 + m_InternalIdNamingMode: 0 + m_InternalBundleIdMode: 1 + m_AssetLoadMode: 0 + m_BundledAssetProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider + m_AssetBundleProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider + m_IgnoreUnsupportedFilesInBuild: 0 + m_UniqueBundleIds: 0 + m_EnableJsonCatalog: 0 + m_NonRecursiveBuilding: 1 + m_AllowNestedBundleFolders: 0 + m_CCDEnabled: 0 + m_maxConcurrentWebRequests: 3 + m_UseUWRForLocalBundles: 0 + m_BundleTimeout: 0 + m_BundleRetryCount: 0 + m_BundleRedirectLimit: -1 + m_SharedBundleSettings: 0 + m_SharedBundleSettingsCustomGroupIndex: 0 + m_ContiguousBundles: 1 + m_StripUnityVersionFromBundleBuild: 0 + m_DisableVisibleSubAssetRepresentations: 0 + m_BuiltInBundleNaming: 0 + mBuiltInBundleCustomNaming: + m_MonoScriptBundleNaming: 0 + m_CheckForContentUpdateRestrictionsOption: 0 + m_MonoScriptBundleCustomNaming: + m_RemoteCatalogBuildPath: + m_Id: + m_RemoteCatalogLoadPath: + m_Id: + m_ContentStateBuildPathProfileVariableName: + m_CustomContentStateBuildPath: + m_ContentStateBuildPath: + m_BuildAddressablesWithPlayerBuild: 0 + m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]' + m_GroupAssets: + - {fileID: 11400000, guid: 7c592a6445170e8379910601b962cb30, type: 2} + m_BuildSettings: + m_LogResourceManagerExceptions: 1 + m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles + m_ProfileSettings: + m_Profiles: + - m_InheritedParent: + m_Id: 27da1d7d9f959ba49a362cf69a3fd39a + m_ProfileName: Default + m_Values: + - m_Id: 1c16dd3f2d89b2375b66c8f065c7a694 + m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]' + - m_Id: 3dfc1a15d30236e7a8856b2164e14280 + m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]' + - m_Id: 6c794a757c731a0319b43709731ad88b + m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]' + - m_Id: 74b04ebc3f202c2f9b6f1e8fb0470bd2 + m_Value: 'ServerData/[BuildTarget]' + - m_Id: 9ccf5e6cc7ba2d421a1c573d8a7ebcd7 + m_Value: + m_ProfileEntryNames: + - m_Id: 1c16dd3f2d89b2375b66c8f065c7a694 + m_Name: BuildTarget + m_InlineUsage: 0 + - m_Id: 3dfc1a15d30236e7a8856b2164e14280 + m_Name: Local.BuildPath + m_InlineUsage: 0 + - m_Id: 6c794a757c731a0319b43709731ad88b + m_Name: Local.LoadPath + m_InlineUsage: 0 + - m_Id: 74b04ebc3f202c2f9b6f1e8fb0470bd2 + m_Name: Remote.BuildPath + m_InlineUsage: 0 + - m_Id: 9ccf5e6cc7ba2d421a1c573d8a7ebcd7 + m_Name: Remote.LoadPath + m_InlineUsage: 0 + m_ProfileVersion: 1 + m_LabelTable: + m_LabelNames: + - default + m_SchemaTemplates: [] + m_GroupTemplateObjects: + - {fileID: 11400000, guid: 14909e654d6c7bd958ff44091773bd40, type: 2} + m_InitializationObjects: [] + m_CertificateHandlerType: + m_AssemblyName: + m_ClassName: + m_ActivePlayerDataBuilderIndex: 2 + m_DataBuilders: + - {fileID: 11400000, guid: 1ac723026a19cb90d8d5dd77ce8c384b, type: 2} + - {fileID: 11400000, guid: e628a9e942e45e1ca94ad90d02e9acdf, type: 2} + - {fileID: 11400000, guid: 1d3143f4a67a990fc9532b22a020137d, type: 2} + m_ActiveProfileId: 27da1d7d9f959ba49a362cf69a3fd39a diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta new file mode 100644 index 0000000..a4b74b8 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2588e84eb64800d0781c574a37fa48d8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates.meta b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates.meta new file mode 100644 index 0000000..ca2d2cf --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ac379942ee61a312a9830cb792d2871 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset new file mode 100644 index 0000000..600d3df --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset @@ -0,0 +1,79 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a3c5d64ac83548c09dd1678b9f6f1cd, type: 3} + m_Name: Packed Assets + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroupTemplate + m_SchemaObjects: + - {fileID: 8850813396489121111} + - {fileID: 3451013361182384685} + m_Description: Pack assets into asset bundles. + m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2} +--- !u!114 &3451013361182384685 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} + m_Name: ContentUpdateGroupSchema + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.ContentUpdateGroupSchema + m_Group: {fileID: 0} + m_StaticContent: 0 +--- !u!114 &8850813396489121111 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} + m_Name: BundledAssetGroupSchema + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema + m_Group: {fileID: 0} + m_InternalBundleIdMode: 1 + m_Compression: 1 + m_IncludeAddressInCatalog: 1 + m_IncludeGUIDInCatalog: 1 + m_IncludeLabelsInCatalog: 1 + m_InternalIdNamingMode: 0 + m_CacheClearBehavior: 0 + m_IncludeInBuild: 1 + m_BundledAssetProviderType: + m_AssemblyName: + m_ClassName: + m_StripDownloadOptions: 0 + m_ForceUniqueProvider: 0 + m_UseAssetBundleCache: 1 + m_UseAssetBundleCrc: 1 + m_UseAssetBundleCrcForCachedBundles: 1 + m_UseUWRForLocalBundles: 0 + m_Timeout: 0 + m_ChunkedTransfer: 0 + m_RedirectLimit: -1 + m_RetryCount: 0 + m_BuildPath: + m_Id: + m_LoadPath: + m_Id: + m_BundleMode: 0 + m_AssetBundleProviderType: + m_AssemblyName: + m_ClassName: + m_UseDefaultSchemaSettings: 0 + m_SelectedPathPairIndex: 0 + m_BundleNaming: 0 + m_AssetLoadMode: 0 diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta new file mode 100644 index 0000000..968ef4f --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 14909e654d6c7bd958ff44091773bd40 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups.meta b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups.meta new file mode 100644 index 0000000..f781d8c --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a39981dbe6de5001397f5ca9a8a37e1a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset new file mode 100644 index 0000000..fa5f732 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset @@ -0,0 +1,23 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} + m_Name: Default Local Group + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup + m_GroupName: Default Local Group + m_GUID: d447fc60305c17a17bf20948ab295a45 + m_SerializeEntries: [] + m_ReadOnly: 0 + m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2} + m_SchemaSet: + m_Schemas: + - {fileID: 11400000, guid: 75ffac7db08d9615c994048949431551, type: 2} + - {fileID: 11400000, guid: 6d6fed27b8c8a3eebb9bc5289b7a6956, type: 2} diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta new file mode 100644 index 0000000..d9c5b8c --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c592a6445170e8379910601b962cb30 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas.meta b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas.meta new file mode 100644 index 0000000..cf73de3 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 25c8e3b4ddb778a6d84ae525564a7ee1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset new file mode 100644 index 0000000..99b4136 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset @@ -0,0 +1,48 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} + m_Name: Default Local Group_BundledAssetGroupSchema + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema + m_Group: {fileID: 11400000, guid: 7c592a6445170e8379910601b962cb30, type: 2} + m_InternalBundleIdMode: 1 + m_Compression: 1 + m_IncludeAddressInCatalog: 1 + m_IncludeGUIDInCatalog: 1 + m_IncludeLabelsInCatalog: 1 + m_InternalIdNamingMode: 0 + m_CacheClearBehavior: 0 + m_IncludeInBuild: 1 + m_BundledAssetProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider + m_StripDownloadOptions: 0 + m_ForceUniqueProvider: 0 + m_UseAssetBundleCache: 1 + m_UseAssetBundleCrc: 1 + m_UseAssetBundleCrcForCachedBundles: 1 + m_UseUWRForLocalBundles: 0 + m_Timeout: 0 + m_ChunkedTransfer: 0 + m_RedirectLimit: -1 + m_RetryCount: 0 + m_BuildPath: + m_Id: 3dfc1a15d30236e7a8856b2164e14280 + m_LoadPath: + m_Id: 6c794a757c731a0319b43709731ad88b + m_BundleMode: 0 + m_AssetBundleProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider + m_UseDefaultSchemaSettings: 0 + m_SelectedPathPairIndex: 0 + m_BundleNaming: 0 + m_AssetLoadMode: 0 diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta new file mode 100644 index 0000000..1d4804f --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 75ffac7db08d9615c994048949431551 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset new file mode 100644 index 0000000..5a84ccc --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset @@ -0,0 +1,16 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} + m_Name: Default Local Group_ContentUpdateGroupSchema + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.ContentUpdateGroupSchema + m_Group: {fileID: 11400000, guid: 7c592a6445170e8379910601b962cb30, type: 2} + m_StaticContent: 0 diff --git a/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta new file mode 100644 index 0000000..c1161d3 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d6fed27b8c8a3eebb9bc5289b7a6956 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders.meta b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders.meta new file mode 100644 index 0000000..7cc19d7 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d870ba11c395ba2d6b17a441e8e68cef +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset new file mode 100644 index 0000000..12ab1d2 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 88d21199f5d473f4db36845f2318f180, type: 3} + m_Name: BuildScriptFastMode + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Build.DataBuilders.BuildScriptFastMode + instanceProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider + sceneProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta new file mode 100644 index 0000000..eac595e --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1ac723026a19cb90d8d5dd77ce8c384b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset new file mode 100644 index 0000000..d8c59fd --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3e2e0ffa088c91d41a086d0b8cb16bdc, type: 3} + m_Name: BuildScriptPackedMode + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Build.DataBuilders.BuildScriptPackedMode + instanceProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider + sceneProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta new file mode 100644 index 0000000..e352d27 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d3143f4a67a990fc9532b22a020137d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset new file mode 100644 index 0000000..d566c2c --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ad8c280d42ee0ed41a27db23b43dd2bf, type: 3} + m_Name: BuildScriptPackedPlayMode + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Build.DataBuilders.BuildScriptPackedPlayMode + instanceProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider + sceneProviderType: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta new file mode 100644 index 0000000..43b66e8 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e628a9e942e45e1ca94ad90d02e9acdf +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DefaultObject.asset b/Game/CourierOld/Assets/AddressableAssetsData/DefaultObject.asset new file mode 100644 index 0000000..f1c27b6 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DefaultObject.asset @@ -0,0 +1,15 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3} + m_Name: DefaultObject + m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject + m_AddressableAssetSettingsGuid: 2588e84eb64800d0781c574a37fa48d8 diff --git a/Game/CourierOld/Assets/AddressableAssetsData/DefaultObject.asset.meta b/Game/CourierOld/Assets/AddressableAssetsData/DefaultObject.asset.meta new file mode 100644 index 0000000..836f704 --- /dev/null +++ b/Game/CourierOld/Assets/AddressableAssetsData/DefaultObject.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9338e51d1f2239ddbb8f2c6232a2b678 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/Code/App/AppStates/MovementDevState.cs b/Game/CourierOld/Assets/Code/App/AppStates/MovementDevState.cs new file mode 100644 index 0000000..2fed0a9 --- /dev/null +++ b/Game/CourierOld/Assets/Code/App/AppStates/MovementDevState.cs @@ -0,0 +1,38 @@ +using Code.App.StateMachine; +using Code.Input; +using Code.Scenes; +using Code.StateMachine; + +namespace Code.App.AppStates +{ + //TODO: поменяно для теста + public class MovementDevState: BaseState + { + public MovementDevState(AppStateMachineContext context) : base(context) + { + } + + public override void EnterState() + { + Context.SceneLoaderService.LoadScene((int)SceneIds.MovementDev, SceneLoaded); + Context.InputService.EnableMap(ActionMappings.Gameplay); + } + + private void SceneLoaded() + { + + base.EnterState(); + } + + public override void Tick() + { + } + + public override void ExitState() + { + Context.InputService.DisableMap(ActionMappings.Gameplay); + + base.ExitState(); + } + } +} \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/App/AppStates/MovementDevState.cs.meta b/Game/CourierOld/Assets/Code/App/AppStates/MovementDevState.cs.meta new file mode 100644 index 0000000..701ac93 --- /dev/null +++ b/Game/CourierOld/Assets/Code/App/AppStates/MovementDevState.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 395d8d3979124f10897c28bae62b288a +timeCreated: 1760638654 \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/App/BootstrapInstaller.cs b/Game/CourierOld/Assets/Code/App/BootstrapInstaller.cs index f665bfe..00f5bb8 100644 --- a/Game/CourierOld/Assets/Code/App/BootstrapInstaller.cs +++ b/Game/CourierOld/Assets/Code/App/BootstrapInstaller.cs @@ -51,10 +51,10 @@ namespace Code.App appStateMachine.Initialize(); AttributeInjector.Inject(appStateMachine.StateMachineContext, container); - + + // TODO: поменяно для теста appStateMachine - .SwitchState(AppState.MainMenu) - .AllowStateTransition(AppState.Gameplay); + .SwitchState(AppState.MovementDev); } } } \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/App/StateMachine/AppState.cs b/Game/CourierOld/Assets/Code/App/StateMachine/AppState.cs index 343ef3b..fdebce6 100644 --- a/Game/CourierOld/Assets/Code/App/StateMachine/AppState.cs +++ b/Game/CourierOld/Assets/Code/App/StateMachine/AppState.cs @@ -8,6 +8,8 @@ namespace Code.App.StateMachine Bootstrap = 1, MainMenu = 2, Gameplay = 4, - GameOver = 8 + GameOver = 8, + // TODO: поменяно для теста + MovementDev = 52 } } \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/App/StateMachine/AppStateMachine.cs b/Game/CourierOld/Assets/Code/App/StateMachine/AppStateMachine.cs index 566e990..8e29af7 100644 --- a/Game/CourierOld/Assets/Code/App/StateMachine/AppStateMachine.cs +++ b/Game/CourierOld/Assets/Code/App/StateMachine/AppStateMachine.cs @@ -10,9 +10,12 @@ namespace Code.App.StateMachine States.Add(AppState.MainMenu, new MainMenuState(StateMachineContext)); States.Add(AppState.Gameplay, new GameplayState(StateMachineContext)); States.Add(AppState.GameOver, new GameOverState(StateMachineContext)); + //TODO: Для теста + States.Add(AppState.MovementDev, new MovementDevState(StateMachineContext)); AllowedStates |= AppState.MainMenu; AllowedStates |= AppState.Gameplay; + AllowedStates |= AppState.MovementDev; } protected override bool CheckTransitionAllowed(AppState nextState) => AllowedStates.HasFlag(nextState); diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player.meta b/Game/CourierOld/Assets/Code/Gameplay/Player.meta new file mode 100644 index 0000000..a252be7 --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f8a8f6d0b8744b4c981d87722e6bb7e8 +timeCreated: 1760627963 \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs b/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs new file mode 100644 index 0000000..d4ae4f5 --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs @@ -0,0 +1,284 @@ +using KinematicCharacterController; +using UnityEngine; + +namespace Code.Gameplay.Player +{ + /* + * Структура для хранения входных данных от игрока + * Содержит информацию о движении и состоянии камеры + */ + public struct PlayerInputs + { + public float MoveAxisForward; // Ввод движения вперед/назад (W/S или Up/Down) + public float MoveAxisRight; // Ввод движения влево/вправо (A/D или Left/Right) + public Quaternion CameraRotation; // Текущее вращение камеры для определения направления движения + public CameraMode CameraMode; // Текущий режим камеры для адаптации поведения + public Vector3 CameraPlanarDirection; // Направление камеры в горизонтальной плоскости + public bool JumpPressed; // Флаг указывающий, нажата ли кнопка прыжка + } + + /* + * Скрипт, отвечающий за передвижения игрока + * Реализует физическое движение персонажа с использованием Kinematic Character Controller + * Обрабатывает ввод пользователя, применяет движение и вращение с учетом поверхности + * + * Источник: Tvtig, https://www.youtube.com/watch?v=9ibpY64wBYM + */ + public class CharacterController : MonoBehaviour, ICharacterController + { + [SerializeField] + private KinematicCharacterMotor motor; // Движок физического перемещения персонажа + + [SerializeField] + private float + maxStableMoveSpeed = 10f, // Максимальная скорость движения по устойчивой поверхности + stableMovementSharpness = 15f, // Резкость изменения скорости движения (чем выше - тем резче) + orientationSharpness = 10f, // Резкость изменения вращения персонажа (чем выше - тем резче) + jumpSpeed = 10f; // Скорость прыжка + + [SerializeField] + private Vector3 gravity = new(0, -30f, 0); // Вектор, отвечающий за применение гравитации + + // Векторы движения и направления взгляда + private Vector3 _moveInputVector, _lookInputVector; + + // Текущий режим камеры для адаптации поведения + private CameraMode _currentCameraMode = CameraMode.ThirdPerson; + + // Вращение камеры в FirstPerson режиме для синхронизации (только горизонтальная компонента) + private Quaternion _firstPersonCameraRotation; + + + private bool + _shouldApplyCameraRotation, // Флаг указывающий, что нужно применить вращение камеры к персонажу + _jumpRequested; // Флаг указывающий, что был запрошен прыжок + + // Инициализация контроллера + private void Start() + { + motor.CharacterController = this; // Регистрация этого контроллера в движке + _firstPersonCameraRotation = motor.Transform.rotation; // Начальное вращение совпадает с персонажем + } + + // Обработка и преобразование входных данных от игрока + public void SetInputs(ref PlayerInputs inputs) + { + // Сохраняем текущий режим камеры + _currentCameraMode = inputs.CameraMode; + + // Нормализация вектора движения и ограничение его величины до 1 + var moveInputVector = + Vector3.ClampMagnitude(new Vector3(inputs.MoveAxisRight, 0, inputs.MoveAxisForward), 1f); + + // Раздельная обработка в зависимости от режима камеры + if (_currentCameraMode == CameraMode.FirstPerson) + { + HandleFirstPersonInputs(ref inputs, moveInputVector); + } + else + { + HandleThirdPersonInputs(ref inputs, moveInputVector); + } + + // При запрашивании прыжка + if (inputs.JumpPressed) + _jumpRequested = true; + } + + // Обработка ввода для FirstPerson режима + private void HandleFirstPersonInputs(ref PlayerInputs inputs, Vector3 moveInputVector) + { + // Сохраняем вращение камеры для применения в UpdateRotation (только горизонтальная компонента) + _firstPersonCameraRotation = ExtractHorizontalRotation(inputs.CameraRotation); + _shouldApplyCameraRotation = true; + + // В FirstPerson режиме движение всегда относительно направления камеры + // Получаем направление камеры в горизонтальной плоскости + var cameraPlanarDirection = inputs.CameraPlanarDirection; + + // Создание вращения на основе направления камеры + var cameraPlanarRotation = Quaternion.LookRotation(cameraPlanarDirection, motor.CharacterUp); + + // Преобразование локального ввода в мировые координаты относительно камеры + _moveInputVector = cameraPlanarRotation * moveInputVector; + + // В FirstPerson режиме направление взгляда всегда совпадает с направлением камеры (горизонтально) + _lookInputVector = cameraPlanarDirection; + } + + // Обработка ввода для ThirdPerson режима + private void HandleThirdPersonInputs(ref PlayerInputs inputs, Vector3 moveInputVector) + { + // Сбрасываем флаг применения вращения камеры + _shouldApplyCameraRotation = false; + + // Получение направления камеры в горизонтальной плоскости (игнорируя наклон) + var cameraPlanarDirection = inputs.CameraPlanarDirection; + + // Резервный расчет направления, если основное направление параллельно вертикали + if (cameraPlanarDirection.sqrMagnitude == 0f) + { + cameraPlanarDirection = Vector3.ProjectOnPlane(inputs.CameraRotation * Vector3.up, motor.CharacterUp); + } + + // Создание вращения на основе направления камеры + var cameraPlanarRotation = Quaternion.LookRotation(cameraPlanarDirection, motor.CharacterUp); + + // Преобразование локального ввода в мировые координаты относительно камеры + _moveInputVector = cameraPlanarRotation * moveInputVector; + + // Направление взгляда совпадает с направлением движения (нормализованное) + _lookInputVector = _moveInputVector.normalized; + } + + // Извлечение только горизонтальной компоненты вращения (игнорируя наклон камеры) + private Quaternion ExtractHorizontalRotation(Quaternion cameraRotation) + { + // Получаем вектор направления камеры + var cameraForward = cameraRotation * Vector3.forward; + + // Проецируем на горизонтальную плоскость + var horizontalForward = Vector3.ProjectOnPlane(cameraForward, motor.CharacterUp).normalized; + + // Если проекция вырождена, используем текущее направление персонажа + if (horizontalForward.sqrMagnitude < 0.01f) + { + horizontalForward = motor.CharacterForward; + } + + // Создаем вращение только по горизонтали + return Quaternion.LookRotation(horizontalForward, motor.CharacterUp); + } + + // Обновление вращения персонажа на основе входных данных + public void UpdateRotation(ref Quaternion currentRotation, float deltaTime) + { + switch (_currentCameraMode) + { + // В FirstPerson режиме применяем вращение камеры напрямую к персонажу (только горизонталь) + case CameraMode.FirstPerson when _shouldApplyCameraRotation: + // Немедленно применяем горизонтальное вращение камеры к персонажу + currentRotation = _firstPersonCameraRotation; + _shouldApplyCameraRotation = false; + break; + // В ThirdPerson режиме плавно поворачиваем персонаж в направлении движения + case CameraMode.ThirdPerson: + { + // Вращение применяется только если есть направление движения и разрешена резкость вращения + if (_lookInputVector.sqrMagnitude > 0 && orientationSharpness > 0) + { + // Плавная интерполяция текущего направления к целевому с экспоненциальным сглаживанием + var smoothedLookInputDirection = Vector3.Slerp( + motor.CharacterForward, + _lookInputVector, + 1f - Mathf.Exp(-orientationSharpness * deltaTime) + ).normalized; + + // Установка нового вращения смотря в сглаженном направлении + currentRotation = Quaternion.LookRotation(smoothedLookInputDirection, motor.CharacterUp); + } + + break; + } + // Заготовка на будущее (если понадобится) + case CameraMode.Static: + case CameraMode.Cinematic: + default: + break; + } + } + + // Обновление скорости движения персонажа + public void UpdateVelocity(ref Vector3 currentVelocity, float deltaTime) + { + // Если персонаж находится на земле + if (motor.GroundingStatus.IsStableOnGround) + { + // Сохранение текущей величины скорости + var currentVelocityMagnitude = currentVelocity.magnitude; + + // Получение нормали поверхности для корректного движения по наклонным плоскостям + var effectiveGroundNormal = motor.GroundingStatus.GroundNormal; + + // Переориентация текущей скорости вдоль поверхности + currentVelocity = motor.GetDirectionTangentToSurface(currentVelocity, effectiveGroundNormal) * + currentVelocityMagnitude; + + // Переориентация входного вектора движения вдоль поверхности + var inputRight = Vector3.Cross(_moveInputVector, motor.CharacterUp); + var reorientedInput = Vector3.Cross(effectiveGroundNormal, inputRight).normalized * + _moveInputVector.magnitude; + + // Расчет целевой скорости движения с учетом ограничения максимальной скорости + var targetMovementVelocity = reorientedInput * maxStableMoveSpeed; + + // Плавная интерполяция текущей скорости к целевой с экспоненциальным сглаживанием + currentVelocity = Vector3.Lerp( + currentVelocity, + targetMovementVelocity, + 1f - Mathf.Exp(-stableMovementSharpness * deltaTime) + ); + + // Если запрошен прыжок + if (_jumpRequested) + { + currentVelocity += motor.CharacterUp * jumpSpeed - Vector3.Project(currentVelocity, motor.CharacterUp); + _jumpRequested = false; + motor.ForceUnground(); + } + } + + // Если персонаж не находится на земле + else + { + // Применяем гравитацию + currentVelocity += gravity * deltaTime; + // Отменяем прыжок (фикс проблемы с двойным прыжком после приземления) + _jumpRequested = false; + } + } + + // Метод вызывается перед обновлением персонажа (можно использовать для подготовки) + public void BeforeCharacterUpdate(float deltaTime) + { + } + + // Метод вызывается после обработки столкновения с землей + public void PostGroundingUpdate(float deltaTime) + { + } + + // Метод вызывается после обновления персонажа (можно использовать для пост-обработки) + public void AfterCharacterUpdate(float deltaTime) + { + } + + // Проверка валидности коллайдера для обработки столкновений + public bool IsColliderValidForCollisions(Collider coll) + { + return true; // Все коллайдеры считаются валидными для столкновений + } + + // Обработка столкновения с землей (вызывается при приземлении) + public void OnGroundHit(Collider hitCollider, Vector3 hitNormal, Vector3 hitPoint, ref HitStabilityReport hitStabilityReport) + { + } + + // Обработка столкновения при движении (вызывается при ударе о препятствие) + public void OnMovementHit(Collider hitCollider, Vector3 hitNormal, Vector3 hitPoint, + ref HitStabilityReport hitStabilityReport) + { + } + + // Обработка отчета о стабильности столкновения + public void ProcessHitStabilityReport(Collider hitCollider, Vector3 hitNormal, Vector3 hitPoint, Vector3 atCharacterPosition, + Quaternion atCharacterRotation, ref HitStabilityReport hitStabilityReport) + { + } + + // Обработка дискретных столкновений (для триггеров и специальных коллайдеров) + public void OnDiscreteCollisionDetected(Collider hitCollider) + { + } + } +} \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs.meta b/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs.meta new file mode 100644 index 0000000..3358496 --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player/CharacterController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a6f74123648343c498c883d02909b499 +timeCreated: 1760641740 \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs b/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs new file mode 100644 index 0000000..350ddbe --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs @@ -0,0 +1,117 @@ +using Code.Gameplay.Player; +using Code.Input; +using Reflex.Attributes; +using UnityEngine; +using CharacterController = Code.Gameplay.Player.CharacterController; + +/* + * Главный скрипт игрока, объединяющий камеру и контроллер персонажа + * Обрабатывает ввод пользователя и распределяет его между компонентами + * Синхронизирует состояние камеры и персонажа + * Управляет переключением режимов камеры через Input System + */ +public class Player : MonoBehaviour +{ + [SerializeField] + private PlayerCamera playerCamera; // Компонент камеры игрока + [SerializeField] + private CharacterController characterController; // Компонент управления персонажем + [SerializeField] + private Transform cameraFollowPoint; // Точка следования камеры (уровень глаз для FirstPerson) + + [Inject] + private IInputService _inputService; // Сервис ввода через DI + + // Флаг для отслеживания переключения режима камеры (чтобы избежать многократных срабатываний) + private bool _cameraModeToggleHandled; + + // Инициализация игрока + private void Start() + { + // Настройка камеры для следования за точкой камеры + playerCamera.SetFollowTransform(cameraFollowPoint); + + // Включение Gameplay мапа ввода + _inputService.EnableMap(ActionMappings.Gameplay); + } + + // Обработка ввода для камеры (вращение и зум) + private void HandleCameraInput() + { + // Получаем данные ввода из Input System + var lookInput = _inputService.LookInput; + var scrollInput = _inputService.ZoomInput; + + // Передаем данные в камеру + playerCamera.UpdateWithInput(Time.deltaTime, scrollInput, + new Vector3(lookInput.x, lookInput.y, 0)); + } + + // Обработка ввода для движения персонажа + private void HandleCharacterInput() + { + // Создаем структуру ввода с полной информацией о камере + var inputs = new PlayerInputs(); + + // Получаем данные движения из Input System + var moveInput = _inputService.MoveInput; + inputs.MoveAxisForward = moveInput.y; // Vertical ось (W/S или Up/Down) + inputs.MoveAxisRight = moveInput.x; // Horizontal ось (A/D или Left/Right) + inputs.JumpPressed = _inputService.JumpPressed; // Прыжки (Space) + + // Передаем информацию о камере для адаптивного поведения + inputs.CameraRotation = playerCamera.transform.rotation; + inputs.CameraMode = playerCamera.CurrentMode; + inputs.CameraPlanarDirection = playerCamera.PlanarDirection; + + // Передаем ввод в контроллер персонажа + characterController.SetInputs(ref inputs); + } + + // Обработка переключения режима камеры через Input System + private void HandleCameraModeInput() + { + // Получаем состояние переключения режима камеры из Input System + var togglePressed = _inputService.ToggleCameraModePressed; + + switch (togglePressed) + { + // Обрабатываем нажатие только один раз при первом обнаружении + case true when !_cameraModeToggleHandled: + ToggleCameraMode(); + _cameraModeToggleHandled = true; + break; + // Сбрасываем флаг когда кнопка отпущена + case false: + _cameraModeToggleHandled = false; + break; + } + } + + // Метод для переключения режимов камеры + private void ToggleCameraMode() + { + var currentMode = playerCamera.CurrentMode; + var newMode = currentMode == CameraMode.FirstPerson ? + CameraMode.ThirdPerson : CameraMode.FirstPerson; + + playerCamera.SetCameraMode(newMode); + } + + // Обновление логики каждый кадр + private void Update() + { + // Обработка ввода для движения в Update (физика) + HandleCharacterInput(); + + // Обработка переключения режима камеры + HandleCameraModeInput(); + } + + // Обновление после всех вычислений (идеально для камеры) + private void LateUpdate() + { + // Обработка ввода для камеры в LateUpdate (после движения персонажа) + HandleCameraInput(); + } +} diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs.meta b/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs.meta new file mode 100644 index 0000000..3cd409c --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9f2cdbe59523ace7ab0d8dfc36b4eb02 \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs b/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs new file mode 100644 index 0000000..392ed4a --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs @@ -0,0 +1,212 @@ +using System; +using UnityEngine; + +namespace Code.Gameplay.Player +{ + /* + * Перечисление режимов работы камеры + * Static - статичная камера без следования за целью + * FirstPerson - камера от первого лица (встроена в модель персонажа) + * ThirdPerson - камера от третьего лица (следует за персонажем на расстоянии) + * Cinematic - кинематографическая камера для скриптовых сцен + */ + public enum CameraMode + { + Static, + FirstPerson, + ThirdPerson, + Cinematic + } + + /* + * Скрипт, отвечающий за поведение камеры при передвижении + * Поддерживает как 3rd-person, так и 1st-person режимы камеры + * Реализует плавное следование за игроком, вращение и зум камеры + * + * Источник: Tvtig, https://www.youtube.com/watch?v=9ibpY64wBYM + */ + public class PlayerCamera : MonoBehaviour + { + [SerializeField] + private float + // Расстояния от игрока до камеры + defaultDistance = 6f, // Стандартное расстояние камеры от цели + minDistance = 3f, // Минимальное расстояние при зуме + maxDistance = 10f, // Максимальное расстояние при зуме + + // Скорость зума камеры + distanceMovementSpeed = 5f, // Множитель скорости изменения дистанции при зуме + + // Скорость поворота камеры + rotationSpeed = 0.3f, // Множитель скорости вращения камеры + + // Скорость интерполяции текущее -> целевое вращение + rotationSharpness = 100f, // Коэффициент плавности вращения камеры (чем выше - тем резче) + + // Резкость следования камеры за целью + followSharpness = 100f, // Коэффициент плавности следования за движущейся целью (чем выше - тем резче) + + // Углы наклона камеры + minVerticalAngle = -70f, // Минимальный угол наклона камеры (вниз) + maxVerticalAngle = 70f, // Максимальный угол наклона камеры (вверх) + defaultVerticalAngle = 10f; // Стандартный угол наклона камеры + + // Текущий режим работы камеры + + // Трансформ объекта, за которым следует камера (для 1st-person: уровень глаз) + private Transform _followTransform; + + // Позиция следования: текущая сглаженная позиция и горизонтальное направление камеры + private Vector3 _currentFollowPosition; + + // Целевой вертикальный угол камеры (наклон вверх/вниз) + private float _targetVerticalAngle; + + // Текущая и целевая дистанция камеры от цели + private float _currentDistance, _targetDistance; + + // Исходные значения дистанции для восстановления после FirstPerson режима + private float _originalDefaultDistance, _originalMinDistance, _originalMaxDistance; + + // Свойства для доступа к важным данным камеры извне + public Vector3 PlanarDirection { get; private set; } // Горизонтальное направление камеры + + public CameraMode CurrentMode { get; private set; } = CameraMode.ThirdPerson; // Текущий режим камеры + + // Инициализация камеры при создании + private void Awake() + { + // Сохраняем исходные значения дистанции для восстановления + _originalDefaultDistance = defaultDistance; + _originalMinDistance = minDistance; + _originalMaxDistance = maxDistance; + + _currentDistance = defaultDistance; + _targetDistance = _currentDistance; + _targetVerticalAngle = 0f; + PlanarDirection = Vector3.forward; // Начальное направление - вперед по оси Z + } + + // Установка цели для следования камеры + public void SetFollowTransform(Transform t) + { + _followTransform = t; + _currentFollowPosition = t.position; + PlanarDirection = t.forward; // Начальное направление совпадает с направлением цели + } + + // Валидация параметров в редакторе Unity + private void OnValidate() + { + // Обеспечиваем корректные значения дистанции и угла + defaultDistance = Mathf.Clamp(defaultDistance, minDistance, maxDistance); + defaultVerticalAngle = Mathf.Clamp(defaultVerticalAngle, minVerticalAngle, maxVerticalAngle); + } + + // Обработка вращения камеры на основе пользовательского ввода + private void HandleRotationInput(float deltaTime, Vector3 rotationInput, out Quaternion targetRotation) + { + // Вращение вокруг вертикальной оси (горизонтальный поворот) + var rotationFromInput = Quaternion.Euler(_followTransform.up * (rotationInput.x * rotationSpeed)); + PlanarDirection = rotationFromInput * PlanarDirection; + var planarRotation = Quaternion.LookRotation(PlanarDirection, _followTransform.up); + + // Вращение вокруг горизонтальной оси (вертикальный наклон) + _targetVerticalAngle -= rotationInput.y * rotationSpeed; + _targetVerticalAngle = Math.Clamp(_targetVerticalAngle, minVerticalAngle, maxVerticalAngle); + var verticalRotation = Quaternion.Euler(_targetVerticalAngle, 0, 0); + + // Интерполяция к целевому вращению для плавности + targetRotation = Quaternion.Slerp(transform.rotation, planarRotation * verticalRotation, deltaTime * rotationSharpness); + + // Применение финального вращения + transform.rotation = targetRotation; + } + + // Обработка позиционирования камеры и зума с учетом текущего режима + private void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation) + { + // В FirstPerson режиме зум отключается + if (CurrentMode != CameraMode.FirstPerson) + { + // Обновление целевой дистанции на основе ввода зума + _targetDistance += zoomInput * distanceMovementSpeed; + _targetDistance = Mathf.Clamp(_targetDistance, minDistance, maxDistance); + } + + // Плавное следование за целью с использованием экспоненциального сглаживания + _currentFollowPosition = Vector3.Lerp(_currentFollowPosition, _followTransform.position, 1f - Mathf.Exp(-followSharpness * deltaTime)); + + // Вычисление целевой позиции камеры с учетом текущего режима + Vector3 targetPosition; + if (CurrentMode == CameraMode.FirstPerson) + { + // В FirstPerson режиме камера находится прямо на позиции цели + targetPosition = _currentFollowPosition; + } + else + { + // В ThirdPerson режиме камера отодвинута на расстояние от цели + targetPosition = _currentFollowPosition - targetRotation * Vector3.forward * _currentDistance; + } + + // Плавное изменение текущей дистанции к целевой (только для ThirdPerson) + if (CurrentMode != CameraMode.FirstPerson) + { + _currentDistance = Mathf.Lerp(_currentDistance, _targetDistance, 1f - Mathf.Exp(-distanceMovementSpeed * deltaTime)); + } + + // Установка финальной позиции камеры + transform.position = targetPosition; + } + + // Основной метод обновления камеры, вызываемый извне каждый кадр + public void UpdateWithInput(float deltaTime, float zoomInput, Vector3 rotationInput) + { + // Проверка наличия цели для следования + if (!_followTransform) return; + + // Обработка ввода и позиционирования + HandleRotationInput(deltaTime, rotationInput, out Quaternion targetRotation); + HandlePosition(deltaTime, zoomInput, targetRotation); + } + + // Смена режима камеры + public void SetCameraMode(CameraMode newMode) + { + if (CurrentMode == newMode) return; + CurrentMode = newMode; + + // Применяем настройки специфичные для режима + ApplyModeSpecificSettings(); + } + + // Применение настроек специфичных для текущего режима + private void ApplyModeSpecificSettings() + { + switch (CurrentMode) + { + case CameraMode.FirstPerson: + // В FirstPerson режиме дистанция всегда равна 0 + minDistance = 0f; + maxDistance = 0f; + defaultDistance = 0f; + _targetDistance = 0f; + _currentDistance = 0f; + break; + case CameraMode.ThirdPerson: + // Восстанавливаем исходные значения дистанции + minDistance = _originalMinDistance; + maxDistance = _originalMaxDistance; + defaultDistance = _originalDefaultDistance; + _targetDistance = defaultDistance; + break; + // Заготовка на будущее (если понадобится) + case CameraMode.Static: + case CameraMode.Cinematic: + default: + break; + } + } + } +} \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs.meta b/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs.meta new file mode 100644 index 0000000..e57386e --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerCamera.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f1d98e6c5419411098391c07861e627e +timeCreated: 1760627986 \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Input/GameplayActions.cs b/Game/CourierOld/Assets/Code/Input/GameplayActions.cs index cdbb3ed..9697340 100644 --- a/Game/CourierOld/Assets/Code/Input/GameplayActions.cs +++ b/Game/CourierOld/Assets/Code/Input/GameplayActions.cs @@ -2,5 +2,8 @@ namespace Code.Input { public enum GameplayActions { + Move, + Look, + Zoom } } \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Input/IInputService.cs b/Game/CourierOld/Assets/Code/Input/IInputService.cs index 49f0e78..4dd0357 100644 --- a/Game/CourierOld/Assets/Code/Input/IInputService.cs +++ b/Game/CourierOld/Assets/Code/Input/IInputService.cs @@ -1,5 +1,4 @@ -using System; -using UnityEngine.InputSystem; +using UnityEngine; namespace Code.Input { @@ -7,5 +6,16 @@ namespace Code.Input { void EnableMap(ActionMappings actionMap); void DisableMap(ActionMappings actionMap); + + // Для управления камерой + Vector2 LookInput { get; } + float ZoomInput { get; } + + // Для управления движением персонажа + Vector2 MoveInput { get; } + bool JumpPressed { get; } + + // Для переключения режима камеры + bool ToggleCameraModePressed { get; } } } \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Input/InputService.cs b/Game/CourierOld/Assets/Code/Input/InputService.cs index 2589f22..38e77f8 100644 --- a/Game/CourierOld/Assets/Code/Input/InputService.cs +++ b/Game/CourierOld/Assets/Code/Input/InputService.cs @@ -1,5 +1,4 @@ using System; -using Reflex.Attributes; using UnityEngine; using UnityEngine.InputSystem; @@ -8,7 +7,122 @@ namespace Code.Input public class InputService : IInputService, IDisposable { - private InputActionAsset _inputActionAsset; + private readonly InputActionAsset _inputActionAsset; + + public Vector2 LookInput { get; private set; } + public float ZoomInput { get; private set; } + public Vector2 MoveInput { get; private set; } + public bool JumpPressed { get; private set; } + public bool ToggleCameraModePressed { get; private set; } + + public InputService(InputActionAsset inputActionAsset) + { + _inputActionAsset = inputActionAsset; + SetupInputCallbacks(); + } + + // Обработка всех карт ввода + private void SetupInputCallbacks() + { + SetupGameplayInputCallbacks(); + } + + // Обработка геймплейной карты ввода + private void SetupGameplayInputCallbacks() + { + // Инициализация геймплейной карты ввода + var gameplayMap = _inputActionAsset.FindActionMap("Gameplay"); + + // Обработка взгляда (камера) + var lookAction = gameplayMap.FindAction("Look"); + if (lookAction != null) + { + lookAction.performed += OnLookPerformed; + lookAction.canceled += OnLookCanceled; + } + + // Обработка зума (камера) + var zoomAction = gameplayMap.FindAction("Zoom"); + if (zoomAction != null) + { + zoomAction.performed += OnZoomPerformed; + zoomAction.canceled += OnZoomCanceled; + } + + // Обработка движения (персонаж) + var moveAction = gameplayMap.FindAction("Move"); + if (moveAction != null) + { + moveAction.performed += OnMovePerformed; + moveAction.canceled += OnMoveCanceled; + } + + // Обработка прыжков (персонаж) + var jumpAction = gameplayMap.FindAction("Jump"); + if (jumpAction != null) + { + jumpAction.performed += OnJumpPerformed; + jumpAction.canceled += OnJumpCanceled; + } + + // Обработка переключения режима камеры + var toggleCameraModeAction = gameplayMap.FindAction("ToggleCameraMode"); + if (toggleCameraModeAction != null) + { + toggleCameraModeAction.performed += OnToggleCameraModePerformed; + toggleCameraModeAction.canceled += OnToggleCameraModeCanceled; + } + } + + private void OnLookPerformed(InputAction.CallbackContext context) + { + LookInput = context.ReadValue(); + } + + private void OnLookCanceled(InputAction.CallbackContext context) + { + LookInput = Vector2.zero; + } + + private void OnZoomPerformed(InputAction.CallbackContext context) + { + ZoomInput = context.ReadValue(); + } + + private void OnZoomCanceled(InputAction.CallbackContext context) + { + ZoomInput = 0f; + } + + private void OnMovePerformed(InputAction.CallbackContext context) + { + MoveInput = context.ReadValue(); + } + + private void OnMoveCanceled(InputAction.CallbackContext context) + { + MoveInput = Vector2.zero; + } + + private void OnJumpPerformed(InputAction.CallbackContext context) + { + JumpPressed = true; + } + + private void OnJumpCanceled(InputAction.CallbackContext context) + { + JumpPressed = false; + } + + private void OnToggleCameraModePerformed(InputAction.CallbackContext context) + { + ToggleCameraModePressed = true; + } + + private void OnToggleCameraModeCanceled(InputAction.CallbackContext context) + { + ToggleCameraModePressed = false; + } public void EnableMap(ActionMappings actionMap) => _inputActionAsset.actionMaps[(int)actionMap].Enable(); public void DisableMap(ActionMappings actionMap) => _inputActionAsset.actionMaps[(int)actionMap].Disable(); @@ -20,13 +134,23 @@ namespace Code.Input _inputActionAsset .actionMaps[mapId].actions[actionId].performed -= action; - public InputService(InputActionAsset inputActionAsset) - { - _inputActionAsset = inputActionAsset; - } - public void Dispose() { + var gameplayMap = _inputActionAsset.FindActionMap("Gameplay"); + gameplayMap.FindAction("Look").performed -= OnLookPerformed; + gameplayMap.FindAction("Look").canceled -= OnLookCanceled; + + gameplayMap.FindAction("Zoom").performed -= OnZoomPerformed; + gameplayMap.FindAction("Zoom").canceled -= OnZoomCanceled; + + gameplayMap.FindAction("Move").performed -= OnMovePerformed; + gameplayMap.FindAction("Move").canceled -= OnMoveCanceled; + + gameplayMap.FindAction("Jump").performed -= OnJumpPerformed; + gameplayMap.FindAction("Jump").canceled -= OnJumpCanceled; + + gameplayMap.FindAction("ToggleCameraMode").performed -= OnToggleCameraModePerformed; + gameplayMap.FindAction("ToggleCameraMode").canceled -= OnToggleCameraModeCanceled; } } } \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Scenes/SceneIds.cs b/Game/CourierOld/Assets/Code/Scenes/SceneIds.cs index ac3b0d9..e9c9a8d 100644 --- a/Game/CourierOld/Assets/Code/Scenes/SceneIds.cs +++ b/Game/CourierOld/Assets/Code/Scenes/SceneIds.cs @@ -4,6 +4,8 @@ namespace Code.Scenes { Initial, MainMenu, - Gameplay + Gameplay, + // TODO: поменяно для теста + MovementDev } } \ No newline at end of file diff --git a/Game/CourierOld/Assets/Resources/Materials.meta b/Game/CourierOld/Assets/Resources/Materials.meta new file mode 100644 index 0000000..13bc665 --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b1c9dc62b0eb2cfba9161205c17e150a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/Resources/Materials/GroundTestMaterial.mat b/Game/CourierOld/Assets/Resources/Materials/GroundTestMaterial.mat new file mode 100644 index 0000000..037b2d4 --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Materials/GroundTestMaterial.mat @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8082666438668706547 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: GroundTestMaterial + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DETAIL_MULX2 + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 2800000, guid: 084980307d793717d9a5b1b4852db839, type: 3} + m_Scale: {x: 1000, y: 1000} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Game/CourierOld/Assets/Resources/Materials/GroundTestMaterial.mat.meta b/Game/CourierOld/Assets/Resources/Materials/GroundTestMaterial.mat.meta new file mode 100644 index 0000000..d03a976 --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Materials/GroundTestMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 115fc1c80dafb04e0a00ffed85cfb715 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/Resources/Materials/WallsMateriall.mat b/Game/CourierOld/Assets/Resources/Materials/WallsMateriall.mat new file mode 100644 index 0000000..631a5bc --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Materials/WallsMateriall.mat @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8082666438668706547 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion + version: 10 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WallsMateriall + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _DETAIL_MULX2 + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 2800000, guid: 084980307d793717d9a5b1b4852db839, type: 3} + m_Scale: {x: 5, y: 5} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _XRMotionVectorsPass: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Game/CourierOld/Assets/Resources/Materials/WallsMateriall.mat.meta b/Game/CourierOld/Assets/Resources/Materials/WallsMateriall.mat.meta new file mode 100644 index 0000000..fcbebf6 --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Materials/WallsMateriall.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b407164ea2464a05a97202efff71afc6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/Resources/Materials/testTex.png b/Game/CourierOld/Assets/Resources/Materials/testTex.png new file mode 100644 index 0000000..ab3e198 --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Materials/testTex.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83447c99ae25b571be27445b209c9cc5854344667d9a094d157edbb71675ebed +size 264 diff --git a/Game/CourierOld/Assets/Resources/Materials/testTex.png.meta b/Game/CourierOld/Assets/Resources/Materials/testTex.png.meta new file mode 100644 index 0000000..d30d98d --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Materials/testTex.png.meta @@ -0,0 +1,130 @@ +fileFormatVersion: 2 +guid: 084980307d793717d9a5b1b4852db839 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 0 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity b/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity new file mode 100644 index 0000000..1197926 --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity @@ -0,0 +1,1047 @@ +%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: 10 + 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.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 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_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + 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: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +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.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &55880351 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 55880352} + - component: {fileID: 55880355} + - component: {fileID: 55880354} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &55880352 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 55880351} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.4, z: 0.4} + m_LocalScale: {x: 0.5, y: 0.2, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1533098598} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &55880354 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 55880351} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &55880355 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 55880351} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &338454659 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 338454662} + - component: {fileID: 338454661} + - component: {fileID: 338454660} + - component: {fileID: 338454663} + - component: {fileID: 338454664} + m_Layer: 0 + m_Name: PlayerCamera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &338454660 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 338454659} + m_Enabled: 1 +--- !u!20 &338454661 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 338454659} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + 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: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &338454662 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 338454659} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &338454663 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 338454659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 + m_Version: 2 +--- !u!114 &338454664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 338454659} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f1d98e6c5419411098391c07861e627e, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Player.PlayerCamera + defaultDistance: 6 + minDistance: 3 + maxDistance: 10 + distanceMovementSpeed: 5 + distanceMovementSharpness: 100 + rotationSpeed: 0.3 + rotationSharpness: 100 + followSharpness: 100 + minVerticalAngle: -70 + maxVerticalAngle: 70 + defaultVerticalAngle: 10 +--- !u!1 &453575297 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 453575298} + m_Layer: 0 + m_Name: CameraTarget + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &453575298 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 453575297} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 1.395, z: 0.59} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1696686254} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &481156066 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 481156070} + - component: {fileID: 481156069} + - component: {fileID: 481156068} + - component: {fileID: 481156067} + m_Layer: 0 + m_Name: Ground + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &481156067 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 481156066} + 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: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &481156068 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 481156066} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 115fc1c80dafb04e0a00ffed85cfb715, 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: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &481156069 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 481156066} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &481156070 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 481156066} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 100, y: 100, z: 100} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &678700801 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 678700802} + m_Layer: 0 + m_Name: Mesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &678700802 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 678700801} + serializedVersion: 2 + 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: + - {fileID: 1533098598} + m_Father: {fileID: 1696686254} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1376862591 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1376862595} + - component: {fileID: 1376862594} + - component: {fileID: 1376862593} + - component: {fileID: 1376862592} + m_Layer: 0 + m_Name: Wall + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1376862592 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1376862591} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1376862593 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1376862591} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b407164ea2464a05a97202efff71afc6, 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: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1376862594 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1376862591} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1376862595 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1376862591} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -10, y: 3, z: 0} + m_LocalScale: {x: 2, y: 6, z: 10} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1533098597 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1533098598} + - component: {fileID: 1533098600} + - component: {fileID: 1533098599} + m_Layer: 0 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1533098598 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1533098597} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 55880352} + m_Father: {fileID: 678700802} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1533098599 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1533098597} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, 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: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1533098600 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1533098597} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1543748505 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1543748509} + - component: {fileID: 1543748508} + - component: {fileID: 1543748507} + - component: {fileID: 1543748506} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1543748506 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543748505} + 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: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1543748507 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543748505} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b407164ea2464a05a97202efff71afc6, 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: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1543748508 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543748505} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1543748509 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1543748505} + serializedVersion: 2 + m_LocalRotation: {x: 0.38268343, y: 0, z: 0, w: 0.92387956} + m_LocalPosition: {x: 5, y: 0, z: -10} + m_LocalScale: {x: 5, y: 5, z: 5} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 45, y: 0, z: 0} +--- !u!1 &1696686253 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1696686254} + - component: {fileID: 1696686255} + - component: {fileID: 1696686257} + - component: {fileID: 1696686256} + - component: {fileID: 1696686258} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1696686254 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696686253} + serializedVersion: 2 + 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: + - {fileID: 678700802} + - {fileID: 453575298} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1696686255 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696686253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9f2cdbe59523ace7ab0d8dfc36b4eb02, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Player + playerCamera: {fileID: 338454664} + characterController: {fileID: 1696686258} + cameraFollowPoint: {fileID: 453575298} +--- !u!114 &1696686256 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696686253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d1bc5515e3ab954e80599c538834774, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::KinematicCharacterController.KinematicCharacterMotor + Capsule: {fileID: 1696686257} + CapsuleRadius: 0.5 + CapsuleHeight: 2 + CapsuleYOffset: 1 + CapsulePhysicsMaterial: {fileID: 0} + GroundDetectionExtraDistance: 0 + MaxStableSlopeAngle: 60 + StableGroundLayers: + serializedVersion: 2 + m_Bits: 4294967295 + DiscreteCollisionEvents: 0 + StepHandling: 1 + MaxStepHeight: 0.5 + AllowSteppingWithoutStableGrounding: 0 + MinRequiredStepDepth: 0.1 + LedgeAndDenivelationHandling: 1 + MaxStableDistanceFromLedge: 0.5 + MaxVelocityForLedgeSnap: 0 + MaxStableDenivelationAngle: 180 + InteractiveRigidbodyHandling: 1 + RigidbodyInteractionType: 0 + SimulatedCharacterMass: 1 + PreserveAttachedRigidbodyMomentum: 1 + HasPlanarConstraint: 0 + PlanarConstraintAxis: {x: 0, y: 0, z: 1} + MaxMovementIterations: 5 + MaxDecollisionIterations: 1 + CheckMovementInitialOverlaps: 1 + KillVelocityWhenExceedMaxMovementIterations: 1 + KillRemainingMovementWhenExceedMaxMovementIterations: 1 +--- !u!136 &1696686257 +CapsuleCollider: + m_ObjectHideFlags: 8 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696686253} + 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: 2 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 1, z: 0} +--- !u!114 &1696686258 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1696686253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a6f74123648343c498c883d02909b499, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Player.CharacterController + motor: {fileID: 1696686256} + maxStableMoveSpeed: 10 + stableMovementSharpness: 15 + orientationSharpness: 10 + jumpSpeed: 10 + gravity: {x: 0, y: -30, z: 0} +--- !u!1 &1959874989 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1959874991} + - component: {fileID: 1959874990} + m_Layer: 0 + m_Name: SceneScope + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1959874990 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959874989} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3fd1482e4a9dee141aecc5bcd0a4f0f3, type: 3} + m_Name: + m_EditorClassIdentifier: Reflex::Reflex.Core.SceneScope +--- !u!4 &1959874991 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1959874989} + serializedVersion: 2 + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 338454662} + - {fileID: 1959874991} + - {fileID: 1696686254} + - {fileID: 481156070} + - {fileID: 1376862595} + - {fileID: 1543748509} diff --git a/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity.meta b/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity.meta new file mode 100644 index 0000000..731746d --- /dev/null +++ b/Game/CourierOld/Assets/Resources/Scenes/MovementDev.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: de5b9a1ae6b033560b88d00b149b86bd +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/Settings/Input/InputSystem_Actions.inputactions b/Game/CourierOld/Assets/Settings/Input/InputSystem_Actions.inputactions index 95c9647..d6c191b 100644 --- a/Game/CourierOld/Assets/Settings/Input/InputSystem_Actions.inputactions +++ b/Game/CourierOld/Assets/Settings/Input/InputSystem_Actions.inputactions @@ -547,28 +547,19 @@ "initialStateCheck": true }, { - "name": "Attack", - "type": "Button", - "id": "6c2ab1b8-8984-453a-af3d-a3c78ae1679a", - "expectedControlType": "Button", + "name": "Zoom", + "type": "Value", + "id": "6a7a1c09-c0f8-4ffe-94e0-3dc5e9e279d4", + "expectedControlType": "Axis", "processors": "", "interactions": "", - "initialStateCheck": false + "initialStateCheck": true }, { - "name": "Interact", + "name": "ToggleCameraMode", "type": "Button", - "id": "852140f2-7766-474d-8707-702459ba45f3", - "expectedControlType": "Button", - "processors": "", - "interactions": "Hold", - "initialStateCheck": false - }, - { - "name": "Crouch", - "type": "Button", - "id": "27c5f898-bc57-4ee1-8800-db469aca5fe3", - "expectedControlType": "Button", + "id": "53b8a816-6ab5-4c21-81e2-211187b50e95", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": false @@ -577,29 +568,20 @@ "name": "Jump", "type": "Button", "id": "f1ba0d36-48eb-4cd5-b651-1c94a6531f70", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Previous", - "type": "Button", - "id": "2776c80d-3c14-4091-8c56-d04ced07a2b0", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Next", - "type": "Button", - "id": "b7230bb6-fc9b-4f52-8b25-f5e19cb2c2ba", "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": false }, + { + "name": "Interact", + "type": "Button", + "id": "852140f2-7766-474d-8707-702459ba45f3", + "expectedControlType": "", + "processors": "", + "interactions": "Hold", + "initialStateCheck": false + }, { "name": "Sprint", "type": "Button", @@ -608,20 +590,18 @@ "processors": "", "interactions": "", "initialStateCheck": false + }, + { + "name": "Slide", + "type": "Button", + "id": "27c5f898-bc57-4ee1-8800-db469aca5fe3", + "expectedControlType": "", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ - { - "name": "", - "id": "978bfe49-cc26-4a3d-ab7b-7d7a29327403", - "path": "/leftStick", - "interactions": "", - "processors": "", - "groups": ";Gamepad", - "action": "Move", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "WASD", "id": "00ca640b-d935-4593-8157-c05846ea39b3", @@ -723,144 +703,12 @@ }, { "name": "", - "id": "1635d3fe-58b6-4ba9-a4e2-f4b964f6b5c8", - "path": "/{Primary2DAxis}", - "interactions": "", - "processors": "", - "groups": "XR", - "action": "Move", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "3ea4d645-4504-4529-b061-ab81934c3752", - "path": "/stick", - "interactions": "", - "processors": "", - "groups": "Joystick", - "action": "Move", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "c1f7a91b-d0fd-4a62-997e-7fb9b69bf235", - "path": "/rightStick", - "interactions": "", - "processors": "", - "groups": ";Gamepad", - "action": "Look", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "8c8e490b-c610-4785-884f-f04217b23ca4", - "path": "/delta", - "interactions": "", - "processors": "", - "groups": ";Keyboard&Mouse;Touch", - "action": "Look", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "3e5f5442-8668-4b27-a940-df99bad7e831", - "path": "/{Hatswitch}", - "interactions": "", - "processors": "", - "groups": "Joystick", - "action": "Look", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "143bb1cd-cc10-4eca-a2f0-a3664166fe91", - "path": "/buttonWest", - "interactions": "", - "processors": "", - "groups": ";Gamepad", - "action": "Attack", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "05f6913d-c316-48b2-a6bb-e225f14c7960", - "path": "/leftButton", + "id": "f8ca1921-4be2-4067-8199-ffea9bcefeee", + "path": "/delta", "interactions": "", "processors": "", "groups": ";Keyboard&Mouse", - "action": "Attack", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "886e731e-7071-4ae4-95c0-e61739dad6fd", - "path": "/primaryTouch/tap", - "interactions": "", - "processors": "", - "groups": ";Touch", - "action": "Attack", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "ee3d0cd2-254e-47a7-a8cb-bc94d9658c54", - "path": "/trigger", - "interactions": "", - "processors": "", - "groups": "Joystick", - "action": "Attack", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "8255d333-5683-4943-a58a-ccb207ff1dce", - "path": "/{PrimaryAction}", - "interactions": "", - "processors": "", - "groups": "XR", - "action": "Attack", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "b3c1c7f0-bd20-4ee7-a0f1-899b24bca6d7", - "path": "/enter", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Attack", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "cbac6039-9c09-46a1-b5f2-4e5124ccb5ed", - "path": "/2", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Next", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "e15ca19d-e649-4852-97d5-7fe8ccc44e94", - "path": "/dpad/right", - "interactions": "", - "processors": "", - "groups": "Gamepad", - "action": "Next", + "action": "Look", "isComposite": false, "isPartOfComposite": false }, @@ -875,28 +723,6 @@ "isComposite": false, "isPartOfComposite": false }, - { - "name": "", - "id": "8cbb2f4b-a784-49cc-8d5e-c010b8c7f4e6", - "path": "/leftStickPress", - "interactions": "", - "processors": "", - "groups": "Gamepad", - "action": "Sprint", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "d8bf24bf-3f2f-4160-a97c-38ec1eb520ba", - "path": "/trigger", - "interactions": "", - "processors": "", - "groups": "XR", - "action": "Sprint", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "eb40bb66-4559-4dfa-9a2f-820438abb426", @@ -908,50 +734,6 @@ "isComposite": false, "isPartOfComposite": false }, - { - "name": "", - "id": "daba33a1-ad0c-4742-a909-43ad1cdfbeb6", - "path": "/buttonSouth", - "interactions": "", - "processors": "", - "groups": "Gamepad", - "action": "Jump", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "603f3daf-40bd-4854-8724-93e8017f59e3", - "path": "/secondaryButton", - "interactions": "", - "processors": "", - "groups": "XR", - "action": "Jump", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "1534dc16-a6aa-499d-9c3a-22b47347b52a", - "path": "/1", - "interactions": "", - "processors": "", - "groups": "Keyboard&Mouse", - "action": "Previous", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "25060bbd-a3a6-476e-8fba-45ae484aad05", - "path": "/dpad/left", - "interactions": "", - "processors": "", - "groups": "Gamepad", - "action": "Previous", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "1c04ea5f-b012-41d1-a6f7-02e963b52893", @@ -963,36 +745,36 @@ "isComposite": false, "isPartOfComposite": false }, - { - "name": "", - "id": "b3f66d0b-7751-423f-908b-a11c5bd95930", - "path": "/buttonNorth", - "interactions": "", - "processors": "", - "groups": "Gamepad", - "action": "Interact", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "4f4649ac-64a8-4a73-af11-b3faef356a4d", - "path": "/buttonEast", - "interactions": "", - "processors": "", - "groups": "Gamepad", - "action": "Crouch", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "36e52cba-0905-478e-a818-f4bfcb9f3b9a", - "path": "/c", + "path": "/leftCtrl", "interactions": "", "processors": "", "groups": "Keyboard&Mouse", - "action": "Crouch", + "action": "Slide", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "00080d14-7d66-4e81-9fe8-9c3c9a0bb647", + "path": "/scroll/y", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "Zoom", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "2f4c687f-f66c-4cd8-93f5-28628df0b86f", + "path": "/v", + "interactions": "", + "processors": "", + "groups": ";Keyboard&Mouse", + "action": "ToggleCameraMode", "isComposite": false, "isPartOfComposite": false } diff --git a/Game/CourierOld/ProjectSettings/EditorBuildSettings.asset b/Game/CourierOld/ProjectSettings/EditorBuildSettings.asset index 65b057f..a3e453e 100644 --- a/Game/CourierOld/ProjectSettings/EditorBuildSettings.asset +++ b/Game/CourierOld/ProjectSettings/EditorBuildSettings.asset @@ -14,5 +14,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/Resources/Scenes/Gameplay.unity guid: 59150559bf28464b5a553799889b9b80 - m_configObjects: {} + - enabled: 1 + path: Assets/Resources/Scenes/MovementDev.unity + guid: de5b9a1ae6b033560b88d00b149b86bd + m_configObjects: + com.unity.addressableassets: {fileID: 11400000, guid: 9338e51d1f2239ddbb8f2c6232a2b678, type: 2} m_UseUCBPForAssetBundles: 0 diff --git a/Game/CourierOld/ProjectSettings/ProjectSettings.asset b/Game/CourierOld/ProjectSettings/ProjectSettings.asset index 230ac23..5e1ea44 100644 --- a/Game/CourierOld/ProjectSettings/ProjectSettings.asset +++ b/Game/CourierOld/ProjectSettings/ProjectSettings.asset @@ -532,6 +532,9 @@ PlayerSettings: - m_BuildTarget: AndroidPlayer m_APIs: 150000000b000000 m_Automatic: 0 + - m_BuildTarget: LinuxStandaloneSupport + m_APIs: 1500000011000000 + m_Automatic: 0 m_BuildTargetVRSettings: [] m_DefaultShaderChunkSizeInMB: 16 m_DefaultShaderChunkCount: 0