22 Commits
Author SHA1 Message Date
ThomasCharester 019e3a053e Merge branch 'Dev' into Levels2 2025-12-05 11:11:11 +03:00
ThomasCharester 727e9a3c17 Анимация на загр экране 2025-12-05 11:09:38 +03:00
ThomasCharester 48e11dd3b0 Коробка 2025-12-05 10:23:32 +03:00
ThomasCharester 4b98ec0129 Фикс звуков курьера, а модет и поломка 2025-12-05 10:07:48 +03:00
ThomasCharester 304bfc6e1f Патч на аддресаблы 2025-12-05 09:41:27 +03:00
ThomasCharester db6eb219c8 Merge branch 'Dev' into Levels2 2025-12-05 09:14:10 +03:00
MrTorex d2c5c45604 небольшой фиксик (симка) воллрана 2025-12-05 08:37:16 +03:00
ThomasCharester 0fca1a32f9 Удалил важные файлы 2025-12-05 01:18:00 +03:00
ThomasCharester 9103cb0a5a Вставляем доделанный контент 2025-12-05 01:03:28 +03:00
ThomasCharester 4770499d97 Merge remote-tracking branch 'origin/fog-dev' into Levels2 2025-12-04 23:51:41 +03:00
MrTorex f6e8131d22 Добавление задержки для прыжков + секретный переход на юнити 6.3 2025-12-04 23:43:15 +03:00
ThomasCharester 7e1f7cecc2 Merge branch 'Dev' into Levels2 2025-12-04 22:02:16 +03:00
MrTorex 6732aef384 Плавность это круто 2025-12-04 21:44:11 +03:00
MrTorex ecff1e69cd Меняется таргет камеры (и высота коллайдера) при слайде 2025-12-04 21:33:37 +03:00
MrTorex eb4dff803e При касани с землёй прекращается залазание, убрано движение на A/D 2025-12-04 20:09:02 +03:00
xrust1k fea9d3586f Merge branch 'Levels2' of https://notscam.serveminecraft.net/Tetramino/CourierOld into Levels2 2025-12-04 19:11:42 +03:00
xrust1k 79593877a7 !!! 2025-12-04 19:09:17 +03:00
ThomasCharester a5ce6e3165 Merge remote-tracking branch 'origin/movement-dev' into Levels2 2025-12-04 19:03:54 +03:00
ThomasCharester d9a1271262 У меня всё работает 2025-12-04 17:43:29 +03:00
MrTorex 4c16a63abd я ксиька :3 2025-12-04 17:38:45 +03:00
MrTorex b4de41894f Убрано НАХУЙ _Recovery, добавлено движение в воздухе, деду добавлен стан как от дэша, так и от слайда, воллран вынесен в конфиг 2025-12-04 17:34:12 +03:00
MrTorex 77fd9af29d Убран бег (просто заменён на ходьбу с такой же скоростью), прошлый слайд заменён на дэщ, добавлен новый слайд 2025-12-04 17:14:24 +03:00
241 changed files with 3504 additions and 380266 deletions

No files matched your search

@@ -13,5 +13,8 @@ MonoBehaviour:
m_Name: AddressableAssetGroupSortSettings
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.AddressableAssetGroupSortSettings
sortOrder:
- 3f67261f611d8cd43a09d4d5cf638d8d
- 1e9bc7e1e4087c0488fccf896b0ed49f
- d7e4a8c4f2a42c64587c34ab7446f091
- 7e9d70e73e500eb9287683466ebf646f
- d447fc60305c17a17bf20948ab295a45
@@ -15,7 +15,7 @@ MonoBehaviour:
m_DefaultGroup: d447fc60305c17a17bf20948ab295a45
m_currentHash:
serializedVersion: 2
Hash: 1ec1ee985689145b755c859b69691cb0
Hash: 00000000000000000000000000000000
m_OptimizeCatalogSize: 0
m_BuildRemoteCatalog: 0
m_CatalogRequestsTimeout: 0
@@ -60,8 +60,11 @@ MonoBehaviour:
m_BuildAddressablesWithPlayerBuild: 0
m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]'
m_GroupAssets:
- {fileID: 11400000, guid: df8f8d52915542e49a11fbc177f3cf2c, type: 2}
- {fileID: 11400000, guid: 3eb9af1699b33ee4fa3ddeb0a1a9f793, type: 2}
- {fileID: 11400000, guid: ba51c0b85beab267d8f41a72df4fb657, type: 2}
- {fileID: 11400000, guid: 7c592a6445170e8379910601b962cb30, type: 2}
- {fileID: 11400000, guid: 6334e9a905fd7634a8c646d57a23968d, type: 2}
m_BuildSettings:
m_LogResourceManagerExceptions: 1
m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles
@@ -14,8 +14,124 @@ MonoBehaviour:
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
m_GroupName: Audio
m_GUID: 7e9d70e73e500eb9287683466ebf646f
m_SerializeEntries: []
m_SerializeEntries:
- m_GUID: 087d498be2e5a044f97f313a3fc0ae05
m_Address: Assets/Resources_moved/Audio/Enemies/ded_step.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 144ab5188f8ad7a0a92c75703bd12e60
m_Address: launch_upmenu1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1f79c7b1e492a4ea2a8d666cdead0c52
m_Address: Assets/Resources_moved/Audio/Dispatcher/take_damage4.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 21c2eaf85c31d604395153b364970a7d
m_Address: Assets/Resources_moved/Audio/SFX/pl_plain2.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 29bff8011973e4e519906b9da8fca0fc
m_Address: Assets/Resources_moved/Audio/Dispatcher/late3.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 29ee630aab7bbef8799dc76ed0c239f7
m_Address: Assets/Resources_moved/Audio/Dispatcher/late4.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2ef564b38a3c6fb4a85c16adb33d095c
m_Address: Assets/Resources_moved/Audio/Enemies/rch_walk.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 31f16c866d3224ab8a7e0fabf3745ec5
m_Address: Assets/Resources_moved/Audio/Dispatcher/late5.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4bd64d1fcecc9c6b09d81e78b7dcfebe
m_Address: Assets/Resources_moved/Audio/Dispatcher/take_damage1.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4c9661de6f76e8c48a0116840b1ac7fd
m_Address: Assets/Resources_moved/Audio/UI/launch_upmenu1 1.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 735f38402ea347fa381408293503a24e
m_Address: Assets/Resources_moved/Audio/Dispatcher/receiving_an_order1.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 7accc805b4e5f404d9e777c0a662ede4
m_Address: Assets/Resources_moved/Audio/UI/launch_upmenu1 2.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 7c5caf3ceee44f71588860c5c1fbdbe0
m_Address: Assets/Resources_moved/Audio/Dispatcher/take_damage3.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8c2be26d359d54063825fedfad7a493b
m_Address: Assets/Resources_moved/Audio/Dispatcher/late2.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8fa89a492fc3a3768a0f0ba1bb7080e0
m_Address: Assets/Resources_moved/Audio/Dispatcher/late1.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: a306df57f348ce7cf900d0b9431739ee
m_Address: launch_selectmenu
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: aa138b2e21adfbf4bbbfa5bf9d54b8f2
m_Address: Assets/Resources_moved/Audio/UI/buttonclickrelease.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ae6ab2c88ae248ce1b6efca892f17659
m_Address: Assets/Resources_moved/Audio/Music/TestDeath.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: beea6ce1de81706478a700993b273000
m_Address: Assets/Resources_moved/Audio/Enemies/bc_bite2.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: cab4b1ff78dd6b1fba61aa165aa17b4d
m_Address: Assets/Resources_moved/Audio/Dispatcher/receiving_an_order2.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: e54541120fe1c5a4799a4698a689bb5c
m_Address: Assets/Resources_moved/Audio/SFX/pl_step1.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f74a409bf11b25148ad305acc05b14f5
m_Address: Assets/Resources_moved/Audio/Dispatcher/take_damage2.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: fb8972b33f4c43749add9d98b439b447
m_Address: Assets/Resources_moved/Audio/SFX/pl_plain5.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2}
m_SchemaSet:
m_Schemas: []
m_Schemas:
- {fileID: 11400000, guid: 5a1eefed8456ba0479d7c04e6a5f4122, type: 2}
@@ -15,262 +15,38 @@ MonoBehaviour:
m_GroupName: Default Local Group
m_GUID: d447fc60305c17a17bf20948ab295a45
m_SerializeEntries:
- m_GUID: 144ab5188f8ad7a0a92c75703bd12e60
m_Address: launch_upmenu1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 16562a5c87213914cad415f10c65a3b0
m_Address: "Assets/Resources_moved/Audio/Music/LASKX3I - \u041F\u0440\u043E\u0442\u0438\u0432
\u0446\u0430\u0440\u044F (\u041A\u0430\u0440\u0430\u043E\u043A\u0435).mp3"
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 170b1a70ddee4d948abea041b9b805e4
m_Address: Assets/Resources_moved/Audio/Music/Half Life Original Soundtrack -
Track 8 - Diabolical Adrenaline Guitar.mp3
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1cc66c0b13a946e1c9ec37026268e144
m_Address: Audio/Enemies/pl_metal2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1d4767c722c05b5d6b96bb226d378c65
m_Address: Assets/Resources_moved/Prefabs/Player/ArmsMesh.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1d7110a045075b22fa27d62bd5f2784e
m_Address: 357_shot1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 1f79c7b1e492a4ea2a8d666cdead0c52
m_Address: Audio/Dispatcher/take_damage4
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 23e11d2c8a4f12f4ea9a7a43d1118464
m_Address: Gameplay
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 26d4e4c556527924490b8018cd510eda
m_Address: Assets/Resources_moved/Audio/Enemies/bc_bite2.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 28a6c7a4124141341ab7c2b7dfd3e95b
m_Address: Assets/Resources_moved/Prefabs/Levels/Level1 2.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 29bff8011973e4e519906b9da8fca0fc
m_Address: Audio/Dispatcher/late3
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 29ee630aab7bbef8799dc76ed0c239f7
m_Address: Audio/Dispatcher/late4
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2c6a984e4a1b42647b48e6b7bc69b158
m_Address: Prefabs/Levels/Level6
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2ed2d93a9f39d4edba511cb7396c7bb6
m_Address: Assets/Resources_moved/Prefabs/Enemies/Cockroach.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2f6134357dc2a5641a846a7478ce4c2c
m_Address: bravo!
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 31f16c866d3224ab8a7e0fabf3745ec5
m_Address: Audio/Dispatcher/late5
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 3831a36e0c8e48f659517a6bb99378b6
m_Address: cbar_hit1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 3f8f2171cc252d953b82083cc16bd1ae
m_Address: Assets/Resources_moved/Prefabs/Levels/Level6_1.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 48aebfe8826dc0df79d047b5afbf8f5b
m_Address: Canvas
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4b279429428a13040b6d1713122cd0de
m_Address: Assets/Resources_moved/Audio/SFX/pl_pain5.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 4bd64d1fcecc9c6b09d81e78b7dcfebe
m_Address: Audio/Dispatcher/take_damage1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 7067a5248027e74478f4f0f53ddf06a4
m_Address: Prefabs/Rooms/Save1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 735f38402ea347fa381408293503a24e
m_Address: Audio/Dispatcher/receiving_an_order1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 751890caa1647ec6689f24933fbcb770
m_Address: "Prefabs/Furniture/\u0442\u0440\u0443\u0431\u0430"
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 7c5caf3ceee44f71588860c5c1fbdbe0
m_Address: Audio/Dispatcher/take_damage3
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 803e40b883c823b89a91aa8b9d9fc483
m_Address: valve_sound
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 81844a99f5b786b41b831174f8fb6d3a
m_Address: Prefabs/Player/CharacterController
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8187ea542d6ed824d81230966a3b7499
m_Address: Assets/Resources_moved/Audio/Music/Bauhaus - Bela Lugosi's Dead (No
Vocals Remix).mp3
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 82c71411174bfa86ca1f676b9d389f94
m_Address: bastard!
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8c2be26d359d54063825fedfad7a493b
m_Address: Audio/Dispatcher/late2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8fa89a492fc3a3768a0f0ba1bb7080e0
m_Address: Audio/Dispatcher/late1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 9293380a88bf6736889be29722b94269
m_Address: Audio/AudioSource
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 9d78f017876abed4c9cd8957f1e140cb
m_Address: Prefabs/Rooms/Level1_2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: a306df57f348ce7cf900d0b9431739ee
m_Address: launch_selectmenu
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: aa138b2e21adfbf4bbbfa5bf9d54b8f2
m_Address: Assets/Resources_moved/Audio/UI/buttonclickrelease.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ae6ab2c88ae248ce1b6efca892f17659
m_Address: Assets/Resources_moved/Audio/Music/TestDeath.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: b2e8dc2aeb0311cd8a826b51cf8e94dc
m_Address: GameOver
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: b33855c694de89386a25c56cbe463a0e
m_Address: Assets/Resources_moved/Prefabs/Enemies/DrunkenGrandpa.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: b37ea8c61cc322afdad529d678612d22
m_Address: Assets/Resources_moved/Audio/Enemies/zo_attack2.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: bf87bc9ac43df86be8c818de81d44a54
m_Address: Assets/Resources_moved/Audio/SFX/pl_step1.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: c566fc932edefbbee9e53271eac3c560
m_Address: MainMenu
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: c5a0ad8a615841547ac2ee613af526d8
m_Address: Assets/Resources_moved/Audio/SFX/pl_pain2.wav
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: c938de3174f184741925c407a43a47f2
m_Address: Prefabs/Rooms/Level1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: cab4b1ff78dd6b1fba61aa165aa17b4d
m_Address: Audio/Dispatcher/receiving_an_order2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: e3a3840a7963bf841872cddb02e90151
m_Address: Prefabs/Levels/MainMenu 1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: e84e3a3c26ccbd50d92f13627403f148
m_Address: Audio/Enemies/rch_walk
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ebe18293a5ef86704b23dad3a1786476
m_Address: Half-Life01
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f23b9fce9594618e5b75845f1cae50de
m_Address: LoadingScreen
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f3d7dc64b34919ad7b50a3dd307a935b
m_Address: Assets/Resources_moved/Prefabs/Enemies/Fog.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f74a409bf11b25148ad305acc05b14f5
m_Address: Audio/Dispatcher/take_damage2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
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}
@@ -0,0 +1,57 @@
%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: Levels
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
m_GroupName: Levels
m_GUID: d7e4a8c4f2a42c64587c34ab7446f091
m_SerializeEntries:
- m_GUID: 28a6c7a4124141341ab7c2b7dfd3e95b
m_Address: Assets/Resources_moved/Prefabs/Levels/Level1 2.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 2c6a984e4a1b42647b48e6b7bc69b158
m_Address: Prefabs/Levels/Level6
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 3f8f2171cc252d953b82083cc16bd1ae
m_Address: Assets/Resources_moved/Prefabs/Levels/Level6_1.prefab
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 7067a5248027e74478f4f0f53ddf06a4
m_Address: Prefabs/Rooms/Save1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 9d78f017876abed4c9cd8957f1e140cb
m_Address: Prefabs/Rooms/Level1_2
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: c938de3174f184741925c407a43a47f2
m_Address: Prefabs/Rooms/Level1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: e3a3840a7963bf841872cddb02e90151
m_Address: Prefabs/Levels/MainMenu 1
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2}
m_SchemaSet:
m_Schemas:
- {fileID: 11400000, guid: 41705eee932aeb341b6921d8a793acc3, type: 2}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6334e9a905fd7634a8c646d57a23968d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,70 @@
%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: Music
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
m_GroupName: Music
m_GUID: 1e9bc7e1e4087c0488fccf896b0ed49f
m_SerializeEntries:
- m_GUID: 16562a5c87213914cad415f10c65a3b0
m_Address: "Assets/Resources_moved/Audio/Music/LASKX3I - \u041F\u0440\u043E\u0442\u0438\u0432
\u0446\u0430\u0440\u044F (\u041A\u0430\u0440\u0430\u043E\u043A\u0435).mp3"
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 170b1a70ddee4d948abea041b9b805e4
m_Address: Assets/Resources_moved/Audio/Music/Half Life Original Soundtrack -
Track 8 - Diabolical Adrenaline Guitar.mp3
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 414d8dcca794556478c1a79e705e138e
m_Address: Assets/Resources_moved/Audio/Music/soft_music.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 803e40b883c823b89a91aa8b9d9fc483
m_Address: valve_sound
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8187ea542d6ed824d81230966a3b7499
m_Address: Assets/Resources_moved/Audio/Music/Bauhaus - Bela Lugosi's Dead (No
Vocals Remix).mp3
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 8f913b505c805c74da84e00a22ff5fc2
m_Address: Assets/Resources_moved/Audio/Music/bedlam_music.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 9ea414d55e6a0b94c944556ff0754c48
m_Address: Assets/Resources_moved/Audio/Music/order_music.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: ebe18293a5ef86704b23dad3a1786476
m_Address: Half-Life01
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: fc08098e6384c904aa0583859ee45ce5
m_Address: Assets/Resources_moved/Audio/Music/death_music.ogg
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2}
m_SchemaSet:
m_Schemas:
- {fileID: 11400000, guid: ad1eba3497492f54c8ca95e03d446775, type: 2}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: df8f8d52915542e49a11fbc177f3cf2c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -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: Audio_BundledAssetGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema
m_Group: {fileID: 11400000, guid: ba51c0b85beab267d8f41a72df4fb657, 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
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5a1eefed8456ba0479d7c04e6a5f4122
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: 6d6fed27b8c8a3eebb9bc5289b7a6956
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -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: Levels_BundledAssetGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema
m_Group: {fileID: 11400000, guid: 6334e9a905fd7634a8c646d57a23968d, 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
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 41705eee932aeb341b6921d8a793acc3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -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: Music_BundledAssetGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema
m_Group: {fileID: 11400000, guid: df8f8d52915542e49a11fbc177f3cf2c, 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
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ad1eba3497492f54c8ca95e03d446775
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -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: UI_BundledAssetGroupSchema
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.BundledAssetGroupSchema
m_Group: {fileID: 11400000, guid: 3eb9af1699b33ee4fa3ddeb0a1a9f793, 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
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5b0e1794b785fb54988037373b6bb1f3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,47 @@
%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: UI
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
m_GroupName: UI
m_GUID: 3f67261f611d8cd43a09d4d5cf638d8d
m_SerializeEntries:
- m_GUID: 23e11d2c8a4f12f4ea9a7a43d1118464
m_Address: Gameplay
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 48aebfe8826dc0df79d047b5afbf8f5b
m_Address: Canvas
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: b2e8dc2aeb0311cd8a826b51cf8e94dc
m_Address: GameOver
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: c566fc932edefbbee9e53271eac3c560
m_Address: MainMenu
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: f23b9fce9594618e5b75845f1cae50de
m_Address: LoadingScreen
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
m_ReadOnly: 0
m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2}
m_SchemaSet:
m_Schemas:
- {fileID: 11400000, guid: 5b0e1794b785fb54988037373b6bb1f3, type: 2}
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3eb9af1699b33ee4fa3ddeb0a1a9f793
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -65,7 +65,7 @@ namespace Code.App.AppStates
Context.UIService.AsyncSwitchPanelTo(UIPanel.Gameplay),
Context.AudioFactory.WarmGameplayMusic(),
Context.AudioFactory.WarmDeathMusic(),
Context.AudioFactory.WarmSFX(),
// Context.AudioFactory.WarmSFX(),
Context.AudioFactory.WarmDispatcher(),
Context.AudioFactory.WarmEnemies(),
Context.AudioFactory.WarmCourier()
@@ -217,7 +217,7 @@ namespace Code.App.AppStates
Context.AudioFactory.ReleaseCourier();
Context.AudioFactory.ReleaseDispatcher();
Context.AudioFactory.ReleaseEnemies();
Context.AudioFactory.ReleaseSFX();
// Context.AudioFactory.ReleaseSFX();
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, InstaKillDEBUG);
@@ -0,0 +1,42 @@
using UnityEngine;
namespace Code.App.Debug
{
public class Logger : MonoBehaviour
{
//#if !UNITY_EDITOR
static string myLog = "";
private string output;
private string stack;
void OnEnable()
{
Application.logMessageReceived += Log;
}
void OnDisable()
{
Application.logMessageReceived -= Log;
}
public void Log(string logString, string stackTrace, LogType type)
{
output = logString;
stack = stackTrace;
myLog = output + " " + myLog;
if (myLog.Length > 5000)
{
myLog = myLog.Substring(0, 4000);
}
}
void OnGUI()
{
//if (!Application.isEditor) //Do not display in editor ( or you can use the UNITY_EDITOR macro to also disable the rest)
{
myLog = GUI.TextArea(new Rect(10, 10, Screen.width - 10, Screen.height - 10), myLog);
}
}
//#endif
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: dc474668ede54a9aa1e0f29c59f067f5
timeCreated: 1764915992
@@ -46,9 +46,9 @@ namespace Code.App.SceneInstallers
private async UniTaskVoid LoadRooms(Container container, ILoadingManager loadingManager)
{
await container.Resolve<IRoomGeneratorFactory>().PreloadRooms(container.Resolve<IOrderService>());
// await container.Resolve<IRoomGeneratorFactory>().PreloadRooms(container.Resolve<IOrderService>());
container.Resolve<RoomGenerator>().Initialize();
// container.Resolve<RoomGenerator>().Initialize();
loadingManager.UnregisterLoading(LoadingWork.LoadModelResource);
}
@@ -1,20 +1,17 @@
namespace Code.Audio
{
public enum SFXSounds
{
Crowbar,
Shot357
{
}
public enum UISounds
{
Crowbar
{
}
public enum EnemiesSounds
{
GrandpaAttack,
GrandpaStep,
RoachAttack,
RoachStep,
GrandpaStep
RoachStep
}
public enum DispatcherSounds
{
@@ -120,6 +120,19 @@ namespace Code.Audio
// foreach (var assetReference in _menuSoundtrack) assetReference.ReleaseAsset();
_menuMusicHandle.Release();
}
public async UniTask WarmCourier()
{
// _courierHandle = Addressables.LoadAssetsAsync<AudioClip>(_courier, OnCourierLoaded, Addressables.MergeMode.Union);
foreach (var assetReference in _courier) CourierAudios.Add(await Addressables.LoadAssetAsync<AudioClip>(assetReference));
// await _courierHandle.ToUniTask();
}
public void ReleaseCourier()
{
foreach (var assetReference in CourierAudios) Addressables.Release(assetReference);
CourierAudios.Clear();
// _courierHandle.Release();
}
public async UniTask WarmDeathMusic()
{
_deathMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_deathSoundtrack, OnDeathTrackLoaded, Addressables.MergeMode.Union);
@@ -155,18 +168,6 @@ namespace Code.Audio
EnemiesAudios.Clear();
_enemiesHandle.Release();
}
public async UniTask WarmCourier()
{
_courierHandle = Addressables.LoadAssetsAsync<AudioClip>(_courier, OnCourierLoaded, Addressables.MergeMode.Union);
await _courierHandle.ToUniTask();
}
public void ReleaseCourier()
{
CourierAudios.Clear();
_courierHandle.Release();
}
public async UniTask WarmDispatcher( )
{
@@ -132,7 +132,7 @@ namespace Code.Audio
_musicAudioSources[musicType].spatialBlend = _settings[AudioSourceType.NoBlend].spatialBlend;
_musicAudioSources[musicType].outputAudioMixerGroup = _musicAudioGroups[musicType];
}
_musicAudioSources[musicType].resource =
_audioFactory.MusicDictionary[musicType][
Random.Range(0, _audioFactory.MusicDictionary[musicType].Count)];
@@ -5,31 +5,49 @@ namespace Code.Configs
[CreateAssetMenu(fileName = "CharacterConfig", menuName = "Config/CharacterConfig")]
public class CharacterConfig : ScriptableObject
{
// Основное движение по земле
public float
maxStableMoveSpeed = 8f, // Максимальная скорость движения по устойчивой поверхности
stableMovementSharpness = 15f, // Резкость изменения скорости движения (чем выше - тем резче)
orientationSharpness = 10f, // Резкость изменения вращения персонажа (чем выше - тем резче)
jumpSpeed = 10f; // Скорость прыжка
// Спринт
public float
sprintMoveSpeed = 12f, // Максимальная скорость спринта
sprintAngleThreshold = 90f; // Максимальный угол (в градусах) от направления вперёд, при котором разрешён спринт
// Слайд
public float
slideSpeed = 20f, // Скорость слайда
slideDuration = 0.8f, // Длительность слайда в секундах
slideCooldown = 1.5f; // Время перезарядки слайда в секундах
maxStableMoveSpeed = 12f,
stableMovementSharpness = 15f,
orientationSharpness = 10f;
// Наклон при залазании на стены
public float
jumpSpeed = 10f,
jumpCooldown = 0.4f;
public float
dashSpeed = 20f,
dashDuration = 0.35f,
dashCooldown = 1.2f;
public AnimationCurve slideVelocityCurve = new(
new Keyframe(0.0f, 1.0f),
new Keyframe(0.3f, 1.4f),
new Keyframe(1.0f, 0.2f)
);
public float
slideMinVelocityThreshold = 3f,
slideCooldown = 1.5f,
slideColliderHeightScale = 0.5f,
slideCameraOffsetY = -0.5f,
slideEnterDuration = 0.2f,
slideExitDuration = 0.25f;
public float
leanAngle = 25f,
leanThreshold = 0.3f,
leanSmoothSpeed = 10f;
// Гравитация
public Vector3 gravity = new(0f, -30f, 0f); // Вектор, отвечающий за применение гравитации
public Vector3 gravity = new(0f, -30f, 0f);
public float
maxAirSpeed = 10f,
airControlSharpness = 8f;
public float
wallRunMaxTime = 1.75f,
wallRunSpeed = 15f,
wallRunAcceleration = 25f,
wallRunGravityScale = 0.25f,
wallDetachImpulse = 7f,
wallContactAngleThreshold = 45f;
}
}
@@ -0,0 +1,82 @@
using UnityEngine;
using Code.Gameplay.Camera;
using KinematicCharacterController;
namespace Code.Gameplay.Character.Controller.Abilities
{
public class DashMechanic
{
private readonly float _dashSpeed;
private readonly float _dashDuration;
private readonly float _dashCooldown;
private float _dashTimer;
private float _dashCooldownTimer;
private Vector3 _dashDirection;
private bool _dashRequested;
public bool IsDashing { get; private set; }
public DashMechanic(float dashSpeed, float dashDuration, float dashCooldown)
{
_dashSpeed = dashSpeed;
_dashDuration = dashDuration;
_dashCooldown = dashCooldown;
}
public void TickCooldown(float deltaTime)
{
if (_dashCooldownTimer > 0f) _dashCooldownTimer -= deltaTime;
}
public void RequestDash(bool dashPressed)
{
if (dashPressed && !_dashRequested && _dashCooldownTimer <= 0f)
_dashRequested = true;
}
public void TryStartDash(KinematicCharacterMotor motor,
CameraMode currentCameraMode,
Quaternion firstPersonCameraRotation,
Vector3 lookInputVector)
{
if (!_dashRequested || !motor.GroundingStatus.IsStableOnGround || _dashCooldownTimer > 0f)
{
_dashRequested = false;
return;
}
IsDashing = true;
_dashTimer = _dashDuration;
var dir = currentCameraMode == CameraMode.FirstPerson
? firstPersonCameraRotation * Vector3.forward
: lookInputVector;
_dashDirection = Vector3.ProjectOnPlane(dir, motor.CharacterUp).normalized;
if (_dashDirection.sqrMagnitude < 0.01f) _dashDirection = motor.CharacterForward;
_dashCooldownTimer = _dashCooldown;
_dashRequested = false;
}
public void HandleDash(ref Vector3 currentVelocity, float deltaTime, KinematicCharacterMotor motor)
{
_dashTimer -= deltaTime;
if (_dashTimer <= 0f || !motor.GroundingStatus.IsStableOnGround)
{
EndDash();
return;
}
currentVelocity = _dashDirection * _dashSpeed;
currentVelocity += motor.CharacterUp * 1.5f;
}
public void EndDash()
{
IsDashing = false;
_dashTimer = 0f;
}
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6d62efb53e0c4d49be9fc658484e2575
timeCreated: 1764856437
@@ -1,122 +1,91 @@
using UnityEngine;
using Code.Gameplay.Camera;
using KinematicCharacterController;
using UnityEngine;
namespace Code.Gameplay.Character.Controller.Abilities
{
/*
* Механика слайда для персонажа
* Отвечает за управление состоянием, таймерами и скоростью слайда
*/
public class SlideMechanic
{
// Скорость слайда
private readonly float _slideSpeed;
// Длительность слайда в секундах
private readonly float _slideDuration;
// Время перезарядки слайда
private readonly float _slideCooldown;
private readonly AnimationCurve _velocityCurve;
private readonly float _minVelocityThreshold;
private readonly float _cooldown;
// Таймер слайда
private float _slideTimer;
// Таймер перезарядки слайда
private float _slideCooldownTimer;
// Направление слайда
private float _slideTime;
private float _cooldownTimer;
private Vector3 _slideDirection;
// Флаг запроса слайда
private bool _slideRequested;
// Свойство-флаг, активен ли слайд
private float _initialSpeed;
public bool IsSliding { get; private set; }
// Конструктор механики слайда
public SlideMechanic(float slideSpeed, float slideDuration, float slideCooldown)
public SlideMechanic(AnimationCurve velocityCurve, float minVelocityThreshold, float cooldown)
{
_slideSpeed = slideSpeed;
_slideDuration = slideDuration;
_slideCooldown = slideCooldown;
_velocityCurve = velocityCurve;
_minVelocityThreshold = minVelocityThreshold;
_cooldown = cooldown;
}
// Обновляем таймер перезарядки слайда
public void TickCooldown(float deltaTime)
{
if (_slideCooldownTimer > 0f)
{
_slideCooldownTimer -= deltaTime;
}
if (_cooldownTimer > 0f) _cooldownTimer -= deltaTime;
}
// Обработка слайда
public void RequestSlide(bool slidePressed)
{
if (slidePressed && !_slideRequested && _slideCooldownTimer <= 0f)
{
if (slidePressed && !_slideRequested && _cooldownTimer <= 0f)
_slideRequested = true;
}
}
// Начало слайда
public void TryStartSlide(KinematicCharacterMotor motor,
CameraMode currentCameraMode,
Quaternion firstPersonCameraRotation,
Vector3 lookInputVector)
{
// Проверяем условия для старта слайда
if (!_slideRequested || !motor.GroundingStatus.IsStableOnGround || _slideCooldownTimer > 0f)
if (!_slideRequested || !motor.GroundingStatus.IsStableOnGround || _cooldownTimer > 0f)
{
_slideRequested = false;
return;
}
IsSliding = true;
_slideTimer = _slideDuration;
// НАПРАВЛЕНИЕ СЛАЙДА - ВСЕГДА ВПЕРЕД ПО КАМЕРЕ
// Используем направление камеры, но проецируем на горизонтальную плоскость
var slideDir = currentCameraMode == CameraMode.FirstPerson ?
firstPersonCameraRotation * Vector3.forward :
lookInputVector;
// Проецируем на горизонтальную плоскость и нормализуем
_slideDirection = Vector3.ProjectOnPlane(slideDir, motor.CharacterUp).normalized;
// Если направление нулевое (персонаж стоит на месте), используем направление вперед
if (_slideDirection.sqrMagnitude < 0.01f)
{
_slideDirection = motor.CharacterForward;
}
_slideTime = 0f;
// Устанавливаем перезарядку
_slideCooldownTimer = _slideCooldown;
var dir = currentCameraMode == CameraMode.FirstPerson
? firstPersonCameraRotation * Vector3.forward
: lookInputVector;
_slideDirection = Vector3.ProjectOnPlane(dir, motor.CharacterUp).normalized;
if (_slideDirection.sqrMagnitude < 0.01f) _slideDirection = motor.CharacterForward;
_initialSpeed = motor.Velocity.magnitude;
if (_initialSpeed < 12f) _initialSpeed = 12f; // fallback
_cooldownTimer = _cooldown;
_slideRequested = false;
}
// Обработка слайда
public void HandleSlide(ref Vector3 currentVelocity, float deltaTime, KinematicCharacterMotor motor)
{
// Уменьшаем таймер слайда
_slideTimer -= deltaTime;
if (!IsSliding) return;
_slideTime += deltaTime;
// Если время слайда вышло, персонаж в воздухе - заканчиваем слайд
if (_slideTimer <= 0f || !motor.GroundingStatus.IsStableOnGround)
{
var t = Mathf.Clamp01(_slideTime / 2.5f);
var speedMult = _velocityCurve.Evaluate(t);
var targetSpeed = _initialSpeed * speedMult;
currentVelocity = _slideDirection * targetSpeed;
currentVelocity += motor.CharacterUp * 1f;
if (targetSpeed < _minVelocityThreshold || !motor.GroundingStatus.IsStableOnGround)
EndSlide();
return;
}
// Устанавливаем скорость слайда вперед
// Используем прямую установку скорости вместо сложных вычислений
currentVelocity = _slideDirection * _slideSpeed;
// Добавляем небольшую вертикальную компоненту для лучшего скольжения по неровностям
currentVelocity += motor.CharacterUp * 2f;
}
// Завершение слайда
public void EndSlide()
{
IsSliding = false;
_slideTimer = 0f;
_slideTime = 0f;
}
}
}
@@ -1,4 +1,3 @@
using Code.Gameplay.Character.Controller.Input;
using Code.Gameplay.Character.Core;
using KinematicCharacterController;
using UnityEngine;
@@ -7,14 +6,13 @@ namespace Code.Gameplay.Character.Controller.Abilities
{
public class WallRunningMechanic
{
public float MaxWallRunTime = 1.75f;
public float WallRunSpeed = 8.0f;
public float WallRunAcceleration = 25.0f;
public float WallRunGravityScale = 0.25f;
public float WallDetachImpulse = 7.0f;
public float WallContactAngleThreshold = 45.0f;
private readonly float _maxWallRunTime;
private readonly float _wallRunSpeed;
private readonly float _wallRunAcceleration;
private readonly float _wallRunGravityScale;
private readonly float _wallDetachImpulse;
private readonly float _wallContactAngleThreshold;
private bool _isWallRunning;
private float _wallRunTimer;
private Vector3 _wallNormal;
private Vector3 _wallTangentRight;
@@ -24,53 +22,56 @@ namespace Code.Gameplay.Character.Controller.Abilities
private float _surfaceAngleCos;
private bool _canWallRun;
public float WallContactHeight { get; private set; }
public Vector3 WallRunStartForward { get; private set; }
private KinematicCharacterMotor _motor;
private CharacterInputHandler _inputHandler;
public bool IsWallRunning => _isWallRunning;
public bool IsWallRunning { get; private set; }
public void Initialize(KinematicCharacterMotor motor, CharacterInputHandler inputHandler)
public WallRunningMechanic(
float maxWallRunTime,
float wallRunSpeed,
float wallRunAcceleration,
float wallRunGravityScale,
float wallDetachImpulse,
float wallContactAngleThreshold)
{
_motor = motor;
_inputHandler = inputHandler;
_surfaceAngleCos = Mathf.Cos(Mathf.Deg2Rad * WallContactAngleThreshold);
_maxWallRunTime = maxWallRunTime;
_wallRunSpeed = wallRunSpeed;
_wallRunAcceleration = wallRunAcceleration;
_wallRunGravityScale = wallRunGravityScale;
_wallDetachImpulse = wallDetachImpulse;
_wallContactAngleThreshold = wallContactAngleThreshold;
}
public void Reset()
public void Initialize(KinematicCharacterMotor motor)
{
_isWallRunning = false;
_wallRunTimer = 0f;
_wallNormal = Vector3.zero;
_motor = motor;
_surfaceAngleCos = Mathf.Cos(Mathf.Deg2Rad * _wallContactAngleThreshold);
}
public void Tick(float deltaTime)
{
if (_isWallRunning)
if (!IsWallRunning) return;
_wallRunTimer += deltaTime;
if (_wallRunTimer > _maxWallRunTime)
{
_wallRunTimer += deltaTime;
if (_wallRunTimer > MaxWallRunTime)
{
DetachFromWall(false);
}
DetachFromWall(false);
}
}
public bool TryStartWallRun(Vector3 hitNormal, Vector3 hitPoint)
{
if (_isWallRunning) return false;
if (IsWallRunning) return false;
float dotWithUp = Vector3.Dot(hitNormal, _motor.CharacterUp);
bool isWall = Mathf.Abs(dotWithUp) < _surfaceAngleCos;
var dotWithUp = Vector3.Dot(hitNormal, _motor.CharacterUp);
var isWall = Mathf.Abs(dotWithUp) < _surfaceAngleCos;
if (!isWall) return false;
if (_motor.GroundingStatus.IsStableOnGround) return false;
float velocityIntoWall = Vector3.Dot(_motor.Velocity, -hitNormal);
var velocityIntoWall = Vector3.Dot(_motor.Velocity, -hitNormal);
if (velocityIntoWall < 1f) return false;
StartWallRun(hitNormal, hitPoint);
@@ -79,57 +80,58 @@ namespace Code.Gameplay.Character.Controller.Abilities
private void StartWallRun(Vector3 wallNormal, Vector3 contactPoint)
{
_isWallRunning = true;
IsWallRunning = true;
_wallRunTimer = 0f;
_wallNormal = wallNormal.normalized;
_wallContactPoint = contactPoint;
WallContactHeight = contactPoint.y;
//_wallTangentUp = Vector3.ProjectOnPlane(_motor.CharacterUp, _wallNormal).normalized;
if (_wallTangentUp.sqrMagnitude < 0.01f) _wallTangentUp = Vector3.up;
var forwardInWallPlane = Vector3.ProjectOnPlane(_motor.CharacterForward, _wallNormal).normalized;
if (forwardInWallPlane.sqrMagnitude < 0.01f)
{
var candidateRight = Vector3.Cross(_wallNormal, _motor.CharacterUp);
candidateRight = Vector3.ProjectOnPlane(candidateRight, _wallNormal).normalized;
_wallTangentRight = Vector3.Cross(_wallNormal, _wallTangentUp).normalized;
if (candidateRight.sqrMagnitude < 0.01f)
{
candidateRight = Vector3.Cross(_wallNormal, Vector3.up);
candidateRight = Vector3.ProjectOnPlane(candidateRight, _wallNormal).normalized;
}
if (candidateRight.sqrMagnitude < 0.01f)
{
candidateRight = Vector3.Cross(_wallNormal, Vector3.right).normalized;
}
var dotWithRight = Vector3.Dot(_motor.CharacterRight, _wallNormal);
forwardInWallPlane = dotWithRight < 0 ? candidateRight : -candidateRight;
}
_wallTangentRight = forwardInWallPlane.normalized;
_wallTangentUp = Vector3.Cross(_wallTangentRight, -_wallNormal).normalized;
_wallTangentUp = Vector3.Cross(_wallTangentRight, _wallNormal).normalized;
if (Vector3.Dot(_wallTangentUp, Vector3.up) < 0)
_wallTangentUp = -_wallTangentUp;
WallRunStartForward = _motor.CharacterForward;
_motor.ForceUnground();
}
public void HandleWallRun(ref Vector3 currentVelocity, CharacterInputs inputs, float deltaTime)
{
if (!_isWallRunning) return;
if (!IsWallRunning) return;
if (!IsWallStillPresent()) { DetachFromWall(false); return; }
Vector3 moveInputWorld = _inputHandler.MoveInputVector;
Vector3 moveInWallPlane = Vector3.ProjectOnPlane(moveInputWorld, _wallNormal);
Vector3 wsMove = Vector3.Project(moveInWallPlane, _wallTangentRight);
var forwardInput = inputs.MoveAxisForward;
var moveDirection = _wallTangentRight * forwardInput;
float ad = inputs.MoveAxisRight;
float sideDot = Vector3.Dot(_wallNormal, _motor.CharacterRight);
if (sideDot < 0)
ad = -ad;
Vector3 adMove = _wallTangentUp * (-ad);
Vector3 finalMove = wsMove + adMove;
finalMove = finalMove.normalized * moveInputWorld.magnitude;
Vector3 targetVelocity = finalMove * WallRunSpeed;
var targetSpeed = moveDirection.sqrMagnitude > 0.01f ? _wallRunSpeed : currentVelocity.magnitude;
var targetVelocity = moveDirection.normalized * targetSpeed;
currentVelocity = Vector3.Lerp(
currentVelocity,
targetVelocity,
1f - Mathf.Exp(-WallRunAcceleration * deltaTime)
1f - Mathf.Exp(-_wallRunAcceleration * deltaTime)
);
currentVelocity += Physics.gravity * (WallRunGravityScale * deltaTime);
currentVelocity += Physics.gravity * (_wallRunGravityScale * deltaTime);
float distanceToWall = Vector3.Dot(_motor.TransientPosition - _wallContactPoint, _wallNormal);
var distanceToWall = Vector3.Dot(_motor.TransientPosition - _wallContactPoint, _wallNormal);
if (Mathf.Abs(distanceToWall) > 0.8f)
{
DetachFromWall(false);
@@ -144,16 +146,17 @@ namespace Code.Gameplay.Character.Controller.Abilities
private bool IsWallStillPresent()
{
if (_motor == null) return false;
if (!_motor) return false;
if (_motor.GroundingStatus.IsStableOnGround) return false;
Vector3 characterCenter = _motor.TransientPosition;
Vector3 characterForward = _motor.CharacterForward;
Vector3 characterRight = _motor.CharacterRight;
Vector3 characterUp = _motor.CharacterUp;
var characterCenter = _motor.TransientPosition;
var characterRight = _motor.CharacterRight;
var characterUp = _motor.CharacterUp;
float checkDistance = 0.45f;
Vector3 rayOrigin = characterCenter + characterUp * 0.2f;
Vector3 rayDir = -_wallNormal;
const float checkDistance = 0.45f;
var rayOrigin = characterCenter + characterUp * 0.2f;
var rayDir = -_wallNormal;
Vector3[] offsets = {
Vector3.zero,
@@ -165,92 +168,70 @@ namespace Code.Gameplay.Character.Controller.Abilities
foreach (var offset in offsets)
{
if (Physics.Raycast(rayOrigin + offset, rayDir, out RaycastHit hit, checkDistance,
_motor.CollidableLayers, QueryTriggerInteraction.Ignore))
{
float dotWithUp = Mathf.Abs(Vector3.Dot(hit.normal, characterUp));
if (dotWithUp < _surfaceAngleCos)
{
_wallNormal = hit.normal.normalized;
_wallContactPoint = hit.point;
if (!Physics.Raycast(rayOrigin + offset, rayDir, out var hit, checkDistance,
_motor.CollidableLayers, QueryTriggerInteraction.Ignore)) continue;
var dotWithUp = Mathf.Abs(Vector3.Dot(hit.normal, characterUp));
if (!(dotWithUp < _surfaceAngleCos)) continue;
_wallNormal = hit.normal.normalized;
_wallContactPoint = hit.point;
/*_wallTangentUp = Vector3.ProjectOnPlane(_motor.CharacterUp, _wallNormal).normalized;
if (_wallTangentUp.sqrMagnitude < 0.01f) _wallTangentUp = Vector3.up;
_wallTangentRight = Vector3.Cross(_wallNormal, _wallTangentUp).normalized;
*/
return true;
}
}
return true;
}
return false;
}
public void DetachFromWall(bool withImpulse)
private void DetachFromWall(bool withImpulse)
{
if (!_isWallRunning) return;
if (!IsWallRunning) return;
_isWallRunning = false;
IsWallRunning = false;
if (withImpulse && _motor != null)
{
Vector3 detachImpulse = -_wallNormal * WallDetachImpulse;
_motor.BaseVelocity += detachImpulse;
}
if (!withImpulse || !_motor) return;
var detachImpulse = -_wallNormal * _wallDetachImpulse;
_motor.BaseVelocity += detachImpulse;
}
public Vector3 GetWallNormal() => _wallNormal;
public bool TryGetWallTangents(out Vector3 up, out Vector3 right)
{
if (!_isWallRunning)
{
up = right = Vector3.zero;
return false;
}
up = _wallTangentUp;
right = _wallTangentRight;
return true;
}
public bool CanWallRun()
{
return !_isWallRunning && !_motor.GroundingStatus.IsStableOnGround;
}
public void PerformWallJump(CharacterInputs inputs, Quaternion cameraRotation)
{
if (!_isWallRunning || _motor == null) return;
if (!IsWallRunning || !_motor) return;
if (_motor.CharacterController is not CustomCharacterController { CanJump: true } controller)
return;
_isWallRunning = false;
IsWallRunning = false;
Vector3 wallAway = _wallNormal;
Vector3 wallUp = _wallTangentUp;
var wallAway = _wallNormal;
var wallUp = Vector3.ProjectOnPlane(_motor.CharacterUp, _wallNormal).normalized;
Vector3 playerForward = cameraRotation * Vector3.forward;
var playerForward = cameraRotation * Vector3.forward;
Vector3 forwardInWallPlane = Vector3.ProjectOnPlane(playerForward, _wallNormal).normalized;
var forwardInWallPlane = Vector3.ProjectOnPlane(playerForward, _wallNormal).normalized;
if (forwardInWallPlane.sqrMagnitude < 0.01f) forwardInWallPlane = _wallTangentRight;
Vector3 jumpDirection =
var jumpDirection =
forwardInWallPlane * 0.2f +
wallAway * 0.4f +
wallUp * 0.4f;
wallAway * 0.6f +
wallUp * 0.2f;
jumpDirection = jumpDirection.normalized;
float wallJumpForce = WallDetachImpulse * 2f;
var wallJumpForce = _wallDetachImpulse * 2f;
Vector3 jumpImpulse = jumpDirection * wallJumpForce;
var jumpImpulse = jumpDirection * wallJumpForce;
_motor.BaseVelocity += jumpImpulse;
_motor.SetPosition(_motor.TransientPosition + wallAway * 0.07f);
if (_motor.CharacterController is CustomCharacterController controller)
{
controller.BlockAbilities(0.12f);
}
controller.TriggerJump();
controller.BlockAbilities(0.12f);
}
}
}
@@ -15,7 +15,7 @@ namespace Code.Gameplay.Character.Controller
* Реализует физическое движение персонажа с использованием Kinematic Character Controller
* Обрабатывает ввод пользователя, применяет движение и вращение с учетом поверхности
*
* Источник: Tvtig, https://www.youtube.com/watch?v=9ibpY64wBYM
* Источник: Tvtig, https://www.youtube.com/watch?v=9ibpY64wBYM
*/
public class CustomCharacterController : MonoBehaviour, ICharacterController
{
@@ -25,8 +25,28 @@ namespace Code.Gameplay.Character.Controller
[SerializeField] private Transform characterTransform; // Трансформ персонажа (с точкой отслеживания камеры)
[SerializeField] private CapsuleCollider _capsuleCollider;
[SerializeField] private Transform _cameraFollowPoint;
private Vector3 _originalColliderCenter;
private float _originalColliderHeight;
private Vector3 _originalFollowPointLocalPosition;
private bool _isEnteringSlide;
private bool _isExitingSlide;
private float _slideTransitionTime;
private float _slideTransitionDuration;
private float _currentColliderHeight;
private Vector3 _currentColliderCenter;
private Vector3 _currentFollowPointLocalPosition;
private bool _wasSlidingLastFrame;
private float _jumpCooldownTimer;
private float _jumpCooldownDuration => _characterConfig.jumpCooldown;
public bool CanJump => !isAbilitiesBlocked && _jumpCooldownTimer <= 0f;
// Подсистемы
private CharacterInputHandler _inputHandler;
private DashMechanic _dashMechanic;
private SlideMechanic _slideMechanic;
// private WallClimbMechanic _wallClimbMechanic;
private WallRunningMechanic _wallRunningMechanic;
@@ -35,6 +55,7 @@ namespace Code.Gameplay.Character.Controller
private AirMovementSystem _airMovement;
public bool IsSliding => _slideMechanic.IsSliding;
public bool IsDashing => _dashMechanic.IsDashing;
public bool IsWallRunning => _wallRunningMechanic.IsWallRunning;
private float abilityBlockTimer;
@@ -50,28 +71,25 @@ namespace Code.Gameplay.Character.Controller
{
_characterConfig = characterConfig;
// Инициализация подсистем с параметрами из конфига
_inputHandler = new CharacterInputHandler(
_characterConfig.sprintAngleThreshold
_inputHandler = new CharacterInputHandler();
_dashMechanic = new DashMechanic(
_characterConfig.dashSpeed,
_characterConfig.dashDuration,
_characterConfig.dashCooldown
);
_slideMechanic = new SlideMechanic(
_characterConfig.slideSpeed,
_characterConfig.slideDuration,
_characterConfig.slideVelocityCurve,
_characterConfig.slideMinVelocityThreshold,
_characterConfig.slideCooldown
);
// _wallClimbMechanic = new WallClimbMechanic(
// _characterConfig.wallClimbSpeedFactor,
// _characterConfig.minWallClimbSpeed,
// _characterConfig.wallDetectionAngleThreshold
// );
_wallRunningMechanic = new WallRunningMechanic();
// Настройка параметров WallRunningMechanic (можно вынести в конфиг позже)
_wallRunningMechanic.MaxWallRunTime = 1.75f;
_wallRunningMechanic.WallRunSpeed = 15.0f;
_wallRunningMechanic.WallRunAcceleration = 25.0f;
_wallRunningMechanic.WallRunGravityScale = 0.25f;
_wallRunningMechanic.WallDetachImpulse = 7.0f;
_wallRunningMechanic.WallContactAngleThreshold = 45.0f;
_wallRunningMechanic = new WallRunningMechanic(
_characterConfig.wallRunMaxTime,
_characterConfig.wallRunSpeed,
_characterConfig.wallRunAcceleration,
_characterConfig.wallRunGravityScale,
_characterConfig.wallDetachImpulse,
_characterConfig.wallContactAngleThreshold
);
_wallLeanMechanic = new WallLeanMechanic(
_characterConfig.leanAngle,
_characterConfig.leanThreshold,
@@ -79,18 +97,28 @@ namespace Code.Gameplay.Character.Controller
);
_groundMovement = new GroundMovementSystem(
_characterConfig.maxStableMoveSpeed,
_characterConfig.sprintMoveSpeed,
_characterConfig.stableMovementSharpness,
_characterConfig.jumpSpeed
);
_airMovement = new AirMovementSystem(_characterConfig.gravity);
_airMovement = new AirMovementSystem(
_characterConfig.gravity,
_characterConfig.maxAirSpeed,
_characterConfig.airControlSharpness
);
motor.CharacterController = this; // Регистрация этого контроллера в движке
_inputHandler.FirstPersonCameraRotation =
motor.Transform.rotation; // Начальное вращение совпадает с персонажемс
_wallLeanMechanic.SetModel(characterTransform);
_wallRunningMechanic.Initialize(motor, _inputHandler);
_wallRunningMechanic.Initialize(motor);
_originalColliderCenter = _capsuleCollider.center;
_originalColliderHeight = _capsuleCollider.height;
_originalFollowPointLocalPosition = _cameraFollowPoint.localPosition;
_currentColliderHeight = _originalColliderHeight;
_currentColliderCenter = _originalColliderCenter;
_currentFollowPointLocalPosition = _originalFollowPointLocalPosition;
}
// Текущий режим камеры для адаптации поведения
@@ -99,17 +127,15 @@ namespace Code.Gameplay.Character.Controller
public void SetInputs(ref CharacterInputs inputs)
{
_lastInputs = inputs;
// Обновляем таймеры механик
_dashMechanic.TickCooldown(Time.deltaTime);
_slideMechanic.TickCooldown(Time.deltaTime);
// _wallClimbMechanic.TickCooldown(Time.deltaTime);
_wallRunningMechanic.Tick(Time.deltaTime);
// Если активен слайд - игнорируем весь остальной ввод
if (_slideMechanic.IsSliding)
if (_dashMechanic.IsDashing || _slideMechanic.IsSliding)
{
_inputHandler.MoveInputVector = Vector3.zero;
_inputHandler.LookInputVector = Vector3.one;
_inputHandler.IsSprinting = false;
_groundMovement.RequestJump(inputs.JumpPressed);
return;
}
@@ -125,19 +151,28 @@ namespace Code.Gameplay.Character.Controller
}
else
{
inputs.SprintPressed = false;
inputs.DashPressed = false;
inputs.SlidePressed = false;
}
}
// Обработка слайда
_dashMechanic.RequestDash(inputs.DashPressed);
_slideMechanic.RequestSlide(inputs.SlidePressed);
// Обработка остального ввода
_inputHandler.ProcessInputs(ref inputs, motor);
// Передаём запрос прыжка
_groundMovement.RequestJump(inputs.JumpPressed);
var jumpInput = inputs.JumpPressed;
if (jumpInput && CanJump)
{
_groundMovement.RequestJump(true);
}
else
{
_groundMovement.RequestJump(false);
}
}
public void UpdateRotation(ref Quaternion currentRotation, float deltaTime)
@@ -172,22 +207,45 @@ namespace Code.Gameplay.Character.Controller
public void UpdateVelocity(ref Vector3 currentVelocity, float deltaTime)
{
if (_dashMechanic.IsDashing && _groundMovement.JumpRequested)
_dashMechanic.EndDash();
if (_slideMechanic.IsSliding && _groundMovement.JumpRequested)
{
_slideMechanic.EndSlide();
}
if (!_slideMechanic.IsSliding)
{
_slideMechanic.TryStartSlide(motor, _currentCameraMode, _inputHandler.FirstPersonCameraRotation,
_inputHandler.LookInputVector);
}
if (!_dashMechanic.IsDashing)
_dashMechanic.TryStartDash(motor, _currentCameraMode, _inputHandler.FirstPersonCameraRotation, _inputHandler.LookInputVector);
else
{
_slideMechanic.HandleSlide(ref currentVelocity, deltaTime, motor);
_dashMechanic.HandleDash(ref currentVelocity, deltaTime, motor);
return;
}
var wasSliding = _wasSlidingLastFrame;
var isSlidingNow = _slideMechanic.IsSliding;
if (!isSlidingNow)
{
_slideMechanic.TryStartSlide(motor, _currentCameraMode, _inputHandler.FirstPersonCameraRotation, _inputHandler.LookInputVector);
isSlidingNow = _slideMechanic.IsSliding;
}
switch (isSlidingNow)
{
case true when !wasSliding:
EnterSlideState();
break;
case false when wasSliding:
ExitSlideState();
break;
}
if (isSlidingNow)
{
_slideMechanic.HandleSlide(ref currentVelocity, deltaTime, motor);
}
_wasSlidingLastFrame = isSlidingNow;
// === WALL RUNNING: обработка состояния ===
if (_wallRunningMechanic.IsWallRunning)
{
@@ -212,7 +270,7 @@ namespace Code.Gameplay.Character.Controller
// Если персонаж не на земле — стандартное воздушное движение
else
{
_airMovement.UpdateVelocity(ref currentVelocity, deltaTime);
_airMovement.UpdateVelocity(ref currentVelocity, _inputHandler, motor, deltaTime);
_groundMovement.CancelJumpRequest();
}
}
@@ -222,6 +280,108 @@ namespace Code.Gameplay.Character.Controller
isAbilitiesBlocked = true;
abilityBlockTimer = duration;
}
private void EnterSlideState()
{
_isEnteringSlide = true;
_isExitingSlide = false;
_slideTransitionTime = 0f;
_slideTransitionDuration = _characterConfig.slideEnterDuration;
}
private void ExitSlideState()
{
_isExitingSlide = true;
_isEnteringSlide = false;
_slideTransitionTime = 0f;
_slideTransitionDuration = _characterConfig.slideExitDuration;
}
private void UpdateSlideTransition(float deltaTime)
{
if (!_isEnteringSlide && !_isExitingSlide) return;
_slideTransitionTime += deltaTime;
var t = Mathf.Clamp01(_slideTransitionTime / _slideTransitionDuration);
t = Mathf.SmoothStep(0f, 1f, t);
if (_isEnteringSlide)
{
var targetHeight = _originalColliderHeight * _characterConfig.slideColliderHeightScale;
var targetCenterY = targetHeight * 0.5f - _originalColliderHeight * 0.5f;
var targetCenter = _originalColliderCenter + Vector3.up * targetCenterY;
var targetFollowPos = _originalFollowPointLocalPosition + Vector3.up * _characterConfig.slideCameraOffsetY;
_currentColliderHeight = Mathf.Lerp(_originalColliderHeight, targetHeight, t);
_currentColliderCenter = Vector3.Lerp(_originalColliderCenter, targetCenter, t);
_currentFollowPointLocalPosition = Vector3.Lerp(_originalFollowPointLocalPosition, targetFollowPos, t);
}
else if (_isExitingSlide)
{
_currentColliderHeight = Mathf.Lerp(_originalColliderHeight * _characterConfig.slideColliderHeightScale, _originalColliderHeight, t);
var prevHeight = _originalColliderHeight * _characterConfig.slideColliderHeightScale;
var prevCenterY = prevHeight * 0.5f - _originalColliderHeight * 0.5f;
var prevCenter = _originalColliderCenter + Vector3.up * prevCenterY;
var prevFollowPos = _originalFollowPointLocalPosition + Vector3.up * _characterConfig.slideCameraOffsetY;
_currentColliderCenter = Vector3.Lerp(prevCenter, _originalColliderCenter, t);
_currentFollowPointLocalPosition = Vector3.Lerp(prevFollowPos, _originalFollowPointLocalPosition, t);
}
if (_capsuleCollider)
{
_capsuleCollider.height = _currentColliderHeight;
_capsuleCollider.center = _currentColliderCenter;
}
if (_cameraFollowPoint)
{
_cameraFollowPoint.localPosition = _currentFollowPointLocalPosition;
}
if (!(t >= 1f)) return;
if (_isEnteringSlide)
{
_isEnteringSlide = false;
if (_capsuleCollider)
{
_capsuleCollider.height = _originalColliderHeight * _characterConfig.slideColliderHeightScale;
var h = _capsuleCollider.height;
_capsuleCollider.center = _originalColliderCenter + Vector3.up * (h * 0.5f - _originalColliderHeight * 0.5f);
}
if (_cameraFollowPoint)
{
_cameraFollowPoint.localPosition = _originalFollowPointLocalPosition + Vector3.up * _characterConfig.slideCameraOffsetY;
}
}
else if (_isExitingSlide)
{
_isExitingSlide = false;
if (_capsuleCollider)
{
_capsuleCollider.height = _originalColliderHeight;
_capsuleCollider.center = _originalColliderCenter;
}
if (_cameraFollowPoint)
{
_cameraFollowPoint.localPosition = _originalFollowPointLocalPosition;
}
}
_currentColliderHeight = _capsuleCollider ? _capsuleCollider.height : _originalColliderHeight;
_currentColliderCenter = _capsuleCollider ? _capsuleCollider.center : _originalColliderCenter;
_currentFollowPointLocalPosition = _cameraFollowPoint ? _cameraFollowPoint.localPosition : _originalFollowPointLocalPosition;
}
public void TriggerJump()
{
_jumpCooldownTimer = _jumpCooldownDuration;
}
public void BeforeCharacterUpdate(float deltaTime)
{
@@ -229,14 +389,19 @@ namespace Code.Gameplay.Character.Controller
public void PostGroundingUpdate(float deltaTime)
{
if (_dashMechanic.IsDashing && !motor.GroundingStatus.IsStableOnGround)
_dashMechanic.EndDash();
if (_slideMechanic.IsSliding && !motor.GroundingStatus.IsStableOnGround)
{
_slideMechanic.EndSlide();
}
}
public void AfterCharacterUpdate(float deltaTime)
{
UpdateSlideTransition(deltaTime);
_jumpCooldownTimer -= deltaTime;
if (_jumpCooldownTimer < 0f) _jumpCooldownTimer = 0f;
_wallLeanMechanic.Update(
_wallRunningMechanic.IsWallRunning,
_wallRunningMechanic.GetWallNormal(),
@@ -11,40 +11,23 @@ namespace Code.Gameplay.Character.Controller.Input
*/
public class CharacterInputHandler
{
// Косинус порогового угла для спринта (предвычислен)
private readonly float _sprintAngleThresholdCos;
// Векторы движения и направления взгляда
public Vector3 MoveInputVector { get; set; }
public Vector3 LookInputVector { get; set; }
// Флаг-свойство указывающий, что активен режим спринта
public bool IsSprinting { get; set; }
// Вращение камеры в FirstPerson режиме для синхронизации (только горизонтальная компонента)
public Quaternion FirstPersonCameraRotation { get; set; }
// Флаг-свойство указывающий, что нужно применить вращение камеры к персонажу
public bool ShouldApplyCameraRotation { get; private set; }
// Конструктор с пороговым углом
public CharacterInputHandler(float sprintAngleThreshold)
{
// Предвычисляем косинус порогового угла для эффективности
// Угол в градусах → радианы → косинус
// Чем меньше угол — тем строже условие
_sprintAngleThresholdCos = Mathf.Cos(Mathf.Deg2Rad * sprintAngleThreshold);
}
// Обработка и преобразование входных данных от персонажа
public void ProcessInputs(ref CharacterInputs inputs, KinematicCharacterMotor motor)
{
// Сохраняем текущий режим камеры
var currentCameraMode = inputs.CameraMode;
// Обработка спринта
IsSprinting = inputs.SprintPressed && inputs.MoveAxisForward > _sprintAngleThresholdCos; // Спринт только при движении на заданный в конфиге угол
// Нормализация вектора движения и ограничение его величины до 1
var moveInputVector =
Vector3.ClampMagnitude(new Vector3(inputs.MoveAxisRight, 0, inputs.MoveAxisForward), 1f);
@@ -1,26 +1,38 @@
using UnityEngine;
using Code.Gameplay.Character.Controller.Input;
using KinematicCharacterController;
namespace Code.Gameplay.Character.Controller.Movement
{
/*
* Система движения персонажа в воздухе
*/
public class AirMovementSystem
{
// Вектор, отвечающий за применение гравитации
private readonly Vector3 _gravity;
// Конструктор системы движения в воздухе
public AirMovementSystem(Vector3 gravity)
private readonly float _maxAirSpeed;
private readonly float _airControlSharpness;
public AirMovementSystem(Vector3 gravity, float maxAirSpeed, float airControlSharpness)
{
_gravity = gravity;
_maxAirSpeed = maxAirSpeed;
_airControlSharpness = airControlSharpness;
}
// Обновление скорости движения персонажа в воздухе
public void UpdateVelocity(ref Vector3 currentVelocity, float deltaTime)
public void UpdateVelocity(ref Vector3 currentVelocity, CharacterInputHandler inputHandler, KinematicCharacterMotor motor, float deltaTime)
{
// Применяем гравитацию
currentVelocity += _gravity * deltaTime;
var horizontalVelocity = Vector3.ProjectOnPlane(currentVelocity, motor.CharacterUp);
var verticalVelocity = Vector3.Dot(currentVelocity, motor.CharacterUp) * motor.CharacterUp;
var desiredHorizontalMovement = Vector3.ProjectOnPlane(inputHandler.MoveInputVector, motor.CharacterUp).normalized * _maxAirSpeed;
horizontalVelocity = Vector3.Lerp(
horizontalVelocity,
desiredHorizontalMovement,
1f - Mathf.Exp(-_airControlSharpness * deltaTime)
);
currentVelocity = horizontalVelocity + verticalVelocity;
}
}
}
@@ -11,8 +11,6 @@ namespace Code.Gameplay.Character.Controller.Movement
{
// Максимальная скорость движения по устойчивой поверхности
private readonly float _maxStableMoveSpeed;
// Максимальная скорость спринта
private readonly float _sprintMoveSpeed;
// Резкость изменения скорости движения (чем выше - тем резче)
private readonly float _stableMovementSharpness;
// Скорость прыжка
@@ -22,10 +20,9 @@ namespace Code.Gameplay.Character.Controller.Movement
public bool JumpRequested { get; private set; }
// Конструктор системы движения на земле
public GroundMovementSystem(float maxStableMoveSpeed, float sprintMoveSpeed, float stableMovementSharpness, float jumpSpeed)
public GroundMovementSystem(float maxStableMoveSpeed, float stableMovementSharpness, float jumpSpeed)
{
_maxStableMoveSpeed = maxStableMoveSpeed;
_sprintMoveSpeed = sprintMoveSpeed;
_stableMovementSharpness = stableMovementSharpness;
_jumpSpeed = jumpSpeed;
}
@@ -66,8 +63,7 @@ namespace Code.Gameplay.Character.Controller.Movement
inputHandler.MoveInputVector.magnitude;
// Расчет целевой скорости движения с учетом ограничения максимальной скорости и спринта
var targetSpeed = inputHandler.IsSprinting ? _sprintMoveSpeed : _maxStableMoveSpeed;
var targetMovementVelocity = reorientedInput * targetSpeed;
var targetMovementVelocity = reorientedInput * _maxStableMoveSpeed;
// Плавная интерполяция текущей скорости к целевой с экспоненциальным сглаживанием
currentVelocity = Vector3.Lerp(
@@ -80,8 +76,13 @@ namespace Code.Gameplay.Character.Controller.Movement
if (JumpRequested)
{
currentVelocity += motor.CharacterUp * _jumpSpeed - Vector3.Project(currentVelocity, motor.CharacterUp);
JumpRequested = false; // Сброс сразу после применения
JumpRequested = false;
motor.ForceUnground();
if (motor.CharacterController is CustomCharacterController controller)
{
controller.TriggerJump();
}
}
}
}
@@ -45,8 +45,8 @@ namespace Code.Gameplay.Character.Core
inputs.MoveAxisForward = moveInput.y; // Vertical ось (W/S или Up/Down)
inputs.MoveAxisRight = moveInput.x; // Horizontal ось (A/D или Left/Right)
inputs.JumpPressed = _inputService.JumpPressed; // Прыжки (Space)
inputs.SprintPressed = _inputService.SprintPressed; // Спринт (Shift)
inputs.SlidePressed = _inputService.SlidePressed; // Слайд (Ctrl)
inputs.DashPressed = _inputService.DashPressed; // Слайд (Ctrl)
inputs.CameraMode = ((ICameraState)_cameraStateMachine.CurrentBaseState).GetCameraMode();
// Передаем информацию о камере для адаптивного поведения
@@ -15,7 +15,7 @@ namespace Code.Gameplay.Character.Core
public CameraMode CameraMode; // Текущий режим камеры для адаптации поведения
public Vector3 CameraPlanarDirection; // Направление камеры в горизонтальной плоскости
public bool JumpPressed; // Флаг указывающий, нажата ли кнопка прыжка
public bool SprintPressed; // Флаг указывающий, нажата ли кнопка спринта
public bool DashPressed;
public bool SlidePressed; // Флаг указывающий, нажата ли кнопка слайда
}
}
@@ -38,7 +38,7 @@ namespace Code.Gameplay.Character.Core
inputs.MoveAxisForward = moveInput.y; // Vertical ось (W/S или Up/Down)
inputs.MoveAxisRight = moveInput.x; // Horizontal ось (A/D или Left/Right)
inputs.JumpPressed = _inputService.JumpPressed; // Прыжки (Space)
inputs.SprintPressed = true;//_inputService.SprintPressed; // Спринт (Shift)
inputs.DashPressed = _inputService.DashPressed;
inputs.SlidePressed = _inputService.SlidePressed; // Слайд (Ctrl)
inputs.CameraMode = ((ICameraState)_cameraStateMachine.CurrentBaseState).GetCameraMode();
@@ -52,7 +52,7 @@ namespace Code.Gameplay.Enemies
audioService.PlayEnemy(EnemiesSounds.GrandpaAttack,agent.transform.position);
if (Player.CustomCharacterController.IsSliding)
if (Player.CustomCharacterController.IsDashing || Player.CustomCharacterController.IsSliding)
ApplyStun();
else
DealDamage();
@@ -17,7 +17,7 @@ namespace Code.Gameplay.Enemies
_audioService = audioService;
_audioSource = audioService.GetSourceOfGroup(Audio.AudioType.Enemies);
_audioSource.transform.position = transform.position;
_audioSource.spatialBlend = 0;
_audioSource.spatialBlend = 1f;
_audioFactory = audioFactory;
}
@@ -16,8 +16,8 @@ namespace Code.Input
// Для управления движением персонажа
Vector2 MoveInput { get; }
bool JumpPressed { get; }
bool SprintPressed { get; }
bool SlidePressed { get; }
bool DashPressed { get; }
// Для переключения режима камеры
bool ToggleCameraModePressed { get; }
@@ -13,8 +13,8 @@ namespace Code.Input
public float ZoomInput { get; private set; }
public Vector2 MoveInput { get; private set; }
public bool JumpPressed { get; private set; }
public bool SprintPressed { get; private set; }
public bool SlidePressed { get; private set; }
public bool DashPressed { get; private set; }
public bool ToggleCameraModePressed { get; private set; }
public InputService(InputActionAsset inputActionAsset)
@@ -69,14 +69,6 @@ namespace Code.Input
jumpAction.canceled += OnJumpCanceled;
}
// Обработка спринта (персонаж)
var sprintAction = gameplayMap.FindAction("Sprint");
if (sprintAction != null)
{
sprintAction.performed += OnSprintPerformed;
sprintAction.canceled += OnSprintCanceled;
}
// Обработка слайда (персонаж)
var slideAction = gameplayMap.FindAction("Slide");
if (slideAction != null)
@@ -85,6 +77,14 @@ namespace Code.Input
slideAction.canceled += OnSlideCanceled;
}
// Обработка слайда (персонаж)
var dashAction = gameplayMap.FindAction("Dash");
if (dashAction != null)
{
dashAction.performed += OnDashPerformed;
dashAction.canceled += OnDashCanceled;
}
// Обработка переключения режима камеры
var toggleCameraModeAction = gameplayMap.FindAction("ToggleCameraMode");
if (toggleCameraModeAction != null)
@@ -134,16 +134,6 @@ namespace Code.Input
JumpPressed = false;
}
private void OnSprintPerformed(InputAction.CallbackContext context)
{
SprintPressed = true;
}
private void OnSprintCanceled(InputAction.CallbackContext context)
{
SprintPressed = false;
}
private void OnSlidePerformed(InputAction.CallbackContext context)
{
SlidePressed = true;
@@ -154,6 +144,16 @@ namespace Code.Input
SlidePressed = false;
}
private void OnDashPerformed(InputAction.CallbackContext context)
{
DashPressed = true;
}
private void OnDashCanceled(InputAction.CallbackContext context)
{
DashPressed = false;
}
private void OnToggleCameraModePerformed(InputAction.CallbackContext context)
{
ToggleCameraModePressed = true;
@@ -189,12 +189,12 @@ namespace Code.Input
gameplayMap.FindAction("Jump").performed -= OnJumpPerformed;
gameplayMap.FindAction("Jump").canceled -= OnJumpCanceled;
gameplayMap.FindAction("Sprint").performed -= OnSprintPerformed;
gameplayMap.FindAction("Sprint").canceled -= OnSprintCanceled;
gameplayMap.FindAction("Slide").performed -= OnSlidePerformed;
gameplayMap.FindAction("Slide").canceled -= OnSlideCanceled;
gameplayMap.FindAction("Dash").performed -= OnDashPerformed;
gameplayMap.FindAction("Dash").canceled -= OnDashCanceled;
gameplayMap.FindAction("ToggleCameraMode").performed -= OnToggleCameraModePerformed;
gameplayMap.FindAction("ToggleCameraMode").canceled -= OnToggleCameraModeCanceled;
}
@@ -8,6 +8,7 @@ namespace Code.UI.Panels
{
[SerializeField] private Image background;
[SerializeField] private Image loadingImage;
[SerializeField] private Image courierAnim;
// [SerializeField] private TMP_Text loadingTitle;
// [SerializeField] private TMP_Text vyapWatermark;
public override void Hide()
@@ -15,6 +16,7 @@ namespace Code.UI.Panels
Shown = false;
background.enabled = false;
loadingImage.enabled = false;
courierAnim.enabled = false;
// loadingTitle.enabled = false;
// vyapWatermark.enabled = false;
}
@@ -23,6 +25,7 @@ namespace Code.UI.Panels
Shown = true;
background.enabled = true;
loadingImage.enabled = true;
courierAnim.enabled = true;
// loadingTitle.enabled = true;
// vyapWatermark.enabled = true;
}
@@ -12,19 +12,62 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 10cfaf8e57f64eddb8c2eda147e4739a, type: 3}
m_Name: CharacterConfig
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CharacterConfig
maxStableMoveSpeed: 8
maxStableMoveSpeed: 12
stableMovementSharpness: 15
orientationSharpness: 10
jumpSpeed: 10
sprintMoveSpeed: 12
sprintAngleThreshold: 90
slideSpeed: 20
slideDuration: 0.8
jumpCooldown: 0.3
dashSpeed: 20
dashDuration: 0.35
dashCooldown: 1.2
slideVelocityCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 0.3
value: 1.4
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0.2
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
slideMinVelocityThreshold: 3
slideCooldown: 1.5
wallClimbSpeedFactor: 0.8
minWallClimbSpeed: 9
wallDetectionAngleThreshold: 80
maxWallLeanAngle: 90
wallLeanSharpness: 100
wallLeanHeightScale: 0.1
slideColliderHeightScale: 0.5
slideCameraOffsetY: -0.5
slideEnterDuration: 0.2
slideExitDuration: 0.25
leanAngle: 25
leanThreshold: 0.3
leanSmoothSpeed: 10
gravity: {x: 0, y: -30, z: 0}
maxAirSpeed: 10
airControlSharpness: 8
wallRunMaxTime: 1.75
wallRunSpeed: 15
wallRunAcceleration: 25
wallRunGravityScale: 0.25
wallDetachImpulse: 7
wallContactAngleThreshold: 45
@@ -18,17 +18,7 @@ MonoBehaviour:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 1d7110a045075b22fa27d62bd5f2784e
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 2f6134357dc2a5641a846a7478ce4c2c
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 82c71411174bfa86ca1f676b9d389f94
- m_AssetGUID: 144ab5188f8ad7a0a92c75703bd12e60
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
@@ -38,12 +28,22 @@ MonoBehaviour:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 3831a36e0c8e48f659517a6bb99378b6
- m_AssetGUID: aa138b2e21adfbf4bbbfa5bf9d54b8f2
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 1
- m_AssetGUID: 144ab5188f8ad7a0a92c75703bd12e60
m_EditorAssetChanged: 0
- m_AssetGUID: 21c2eaf85c31d604395153b364970a7d
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: beea6ce1de81706478a700993b273000
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 7accc805b4e5f404d9e777c0a662ede4
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
@@ -13,17 +13,17 @@ MonoBehaviour:
m_Name: CourierSoundListConfig
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CourierSoundListConfig
courierSounds:
- m_AssetGUID: bf87bc9ac43df86be8c818de81d44a54
- m_AssetGUID: e54541120fe1c5a4799a4698a689bb5c
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 4b279429428a13040b6d1713122cd0de
- m_AssetGUID: 21c2eaf85c31d604395153b364970a7d
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 1
- m_AssetGUID: c5a0ad8a615841547ac2ee613af526d8
m_EditorAssetChanged: 0
- m_AssetGUID: fb8972b33f4c43749add9d98b439b447
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
@@ -13,22 +13,22 @@ MonoBehaviour:
m_Name: EnemiesSoundListConfig
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.EnemiesSoundListConfig
enemies:
- m_AssetGUID: b37ea8c61cc322afdad529d678612d22
- m_AssetGUID: fb8972b33f4c43749add9d98b439b447
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 26d4e4c556527924490b8018cd510eda
- m_AssetGUID: 087d498be2e5a044f97f313a3fc0ae05
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: e84e3a3c26ccbd50d92f13627403f148
- m_AssetGUID: beea6ce1de81706478a700993b273000
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 1cc66c0b13a946e1c9ec37026268e144
- m_AssetGUID: 2ef564b38a3c6fb4a85c16adb33d095c
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
@@ -12,14 +12,4 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: be49de18297645009c1e2092f382a670, type: 3}
m_Name: SFXListConfig
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.SFXListConfig
SFX:
- m_AssetGUID: 1d7110a045075b22fa27d62bd5f2784e
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 3831a36e0c8e48f659517a6bb99378b6
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
SFX: []
@@ -18,23 +18,28 @@ MonoBehaviour:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
actionSoundtrack:
- m_AssetGUID: ebe18293a5ef86704b23dad3a1786476
- m_AssetGUID: 9ea414d55e6a0b94c944556ff0754c48
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
- m_AssetGUID: 170b1a70ddee4d948abea041b9b805e4
- m_AssetGUID: 414d8dcca794556478c1a79e705e138e
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
actionSoundtrack:
- m_AssetGUID: 8f913b505c805c74da84e00a22ff5fc2
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
deathSoundtrack:
- m_AssetGUID: ae6ab2c88ae248ce1b6efca892f17659
- m_AssetGUID: fc08098e6384c904aa0583859ee45ce5
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 1
m_EditorAssetChanged: 0
menuSoundtrack:
- m_AssetGUID: 16562a5c87213914cad415f10c65a3b0
m_SubObjectName:
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: aa24c0d8a11438d4fb57332c144beab6
guid: 4b3f57da60db4444799ca8c7465d471c
folderAsset: yes
DefaultImporter:
externalObjects: {}
@@ -0,0 +1,139 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Box
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _METALLICSPECGLOSSMAP
- _NORMALMAP
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: 2800000, guid: f90a581faf2125c499a63b93597653f3, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: 1eb938e007c23524fa145a6b635bedcc, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
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: 2800000, guid: f90a581faf2125c499a63b93597653f3, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: cd6e592d6b2b18546bf8965713f71df3, type: 3}
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
- _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
--- !u!114 &9055732877677571783
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
@@ -1,8 +1,8 @@
fileFormatVersion: 2
guid: c30bba7f8c9df71fc96b4c0014e9c681
guid: c988417585b3ef04ca830cffa85a86bd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: f90a581faf2125c499a63b93597653f3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
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
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:
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 1eb938e007c23524fa145a6b635bedcc
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: 1
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
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:
@@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: cd6e592d6b2b18546bf8965713f71df3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
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
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:
@@ -31,7 +31,7 @@ Material:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
m_CustomRenderQueue: 2050
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
@@ -119,7 +119,7 @@ Material:
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _QueueOffset: 50
- _ReceiveShadows: 1
- _Smoothness: 0.024
- _SmoothnessTextureChannel: 0
@@ -31,7 +31,7 @@ Material:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
m_CustomRenderQueue: 2050
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
@@ -119,7 +119,7 @@ Material:
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _QueueOffset: 50
- _ReceiveShadows: 1
- _Smoothness: 0.024
- _SmoothnessTextureChannel: 0
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: bc9a23cef60c78e46924e5d40b0c2a16
guid: 50c614559db2c0f46a7d62cbb05ca499
folderAsset: yes
DefaultImporter:
externalObjects: {}
@@ -0,0 +1,137 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ded_idle_last-No Name
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
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: 0}
m_Scale: {x: 1, y: 1}
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
--- !u!114 &4648706784004926851
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
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fcab4c0364c17a346bdcb2225aa2593f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:
@@ -1,5 +1,9 @@
fileFormatVersion: 2
<<<<<<<< HEAD:Game/CourierOld/Assets/Resources/Models/Levels/Level1_1.fbx.meta
guid: 502e1b73e61bd4e44aa368c5f98f4217
========
guid: 832c2ca81687522d1be9fd0ff1582b82
>>>>>>>> a5ce6e31653c95b7788f4a9d3967d0c270de8b30:Game/CourierOld/Assets/Resources/Models/Enemies/Grandpa/New/ded_idle_last.fbx.meta
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
@@ -41,8 +45,8 @@ ModelImporter:
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
@@ -1,139 +0,0 @@
fileFormatVersion: 2
guid: 568a9946a98a231449731a752331e015
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: ded_drunk_running
takeName: ded_drunk_running
internalID: -2048397514134812215
firstFrame: 0
lastFrame: 55
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 1.833
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 5980bf2db4921204b9dbc03ca40c60a9, type: 3}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 2
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -1,139 +0,0 @@
fileFormatVersion: 2
guid: 73411fc2c848c214c8019eebabba2703
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: ded_drunk_walk
takeName: ded_drunk_walk
internalID: 2702294549053568716
firstFrame: 0
lastFrame: 90
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 3
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 5980bf2db4921204b9dbc03ca40c60a9, type: 3}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 2
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -1,139 +0,0 @@
fileFormatVersion: 2
guid: 5980bf2db4921204b9dbc03ca40c60a9
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: ded_idle
takeName: ded_idle
internalID: -3471636723063426380
firstFrame: 0
lastFrame: 249
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 8.3
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -94,7 +94,7 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
@@ -94,7 +94,7 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
@@ -94,7 +94,7 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
@@ -94,7 +94,7 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 0ae7114330d4be349bb578ed0c2be840
guid: b7a107b007a6ce841bcb2536692830a0
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
@@ -94,7 +94,7 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
@@ -94,7 +94,7 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
@@ -94,7 +94,7 @@ ModelImporter:
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
Binary file not shown.
@@ -1,5 +1,9 @@
fileFormatVersion: 2
guid: 89b8ea3befbb7ac3d9998f40fc1bb119
<<<<<<<< HEAD:Game/CourierOld/Assets/Resources/Models/Levels/Level1_1.fbx.meta
guid: 502e1b73e61bd4e44aa368c5f98f4217
========
guid: 832c2ca81687522d1be9fd0ff1582b82
>>>>>>>> a5ce6e31653c95b7788f4a9d3967d0c270de8b30:Game/CourierOld/Assets/Resources/Models/Enemies/Grandpa/New/ded_idle_last.fbx.meta
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
@@ -100,7 +104,7 @@ ModelImporter:
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
avatarSetup: 1
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
Binary file not shown.
Binary file not shown.
@@ -1,125 +0,0 @@
fileFormatVersion: 2
guid: 74548c815db11644cbf9a1141af9d149
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: '{concretefloor0.002'
second: {fileID: 2100000, guid: f8c8c9015cc4df84fbbbe32a4f003660, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: '{plasterwall01a.002'
second: {fileID: 2100000, guid: 46c32c803fa6b354e927b3c37077003f, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: '{plasterwall01b.002'
second: {fileID: 2100000, guid: 826e07efb851b074080835cf3caee1fa, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -1,125 +0,0 @@
fileFormatVersion: 2
guid: 5bb08b8ca1ff8fd4ba5a49dc457faa4a
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: concretefloor01a
second: {fileID: 2100000, guid: f8c8c9015cc4df84fbbbe32a4f003660, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: plasterwall01a
second: {fileID: 2100000, guid: 46c32c803fa6b354e927b3c37077003f, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: plasterwall01b
second: {fileID: 2100000, guid: 826e07efb851b074080835cf3caee1fa, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -1,125 +0,0 @@
fileFormatVersion: 2
guid: 0b19932df4a705040a78a92607c25da7
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: concretefloor01a
second: {fileID: 2100000, guid: f8c8c9015cc4df84fbbbe32a4f003660, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: plasterwall01a
second: {fileID: 2100000, guid: 46c32c803fa6b354e927b3c37077003f, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: plasterwall01b
second: {fileID: 2100000, guid: 826e07efb851b074080835cf3caee1fa, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -1,110 +0,0 @@
fileFormatVersion: 2
guid: 070adc3f99065ec4aaa3811db19fbb34
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Binary file not shown.
@@ -1,110 +0,0 @@
fileFormatVersion: 2
guid: 7fdf12fd5023ecb408a5495c9607cc97
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -1,110 +0,0 @@
fileFormatVersion: 2
guid: 570c5c1273b67394d9e88e2229e4ce88
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 0
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 0
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
@@ -1,139 +0,0 @@
fileFormatVersion: 2
guid: 02296f680a0e6ed48a92d690d2d82b6e
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: Running
takeName: root|root|root|Armature.002|mixamo.com|Layer0_remap
internalID: -4320063115943924929
firstFrame: 0
lastFrame: 17
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0.567
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 0
importLights: 0
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName: root
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 6dd32929f788d35afba7c6c6c124a92d, type: 3}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 2
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
Loaded 100 of 241 files, more files were not shown because too many files have changed in this diff. Show more