Compare commits
5
Commits
6148889fc1
...
665114b7dc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
665114b7dc | ||
|
|
4549617275 | ||
|
|
db541fed8a | ||
|
|
085429d5ca | ||
|
|
981d081bed |
No files matched your search
Generated
+13
@@ -0,0 +1,13 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Rider ignored files
|
||||
/contentModel.xml
|
||||
/projectSettingsUpdater.xml
|
||||
/modules.xml
|
||||
/.idea.CourierOldRe.iml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
||||
Generated
+6
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -1,21 +1,24 @@
|
||||
using Code.App.StateMachine;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Input;
|
||||
using Code.Scenes;
|
||||
using Code.StateMachine;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.App.AppStates
|
||||
{
|
||||
public class GameplayState : BaseState<AppStateMachineContext>
|
||||
{
|
||||
|
||||
public GameplayState(AppStateMachineContext context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
public override void EnterState()
|
||||
{
|
||||
Context.SceneLoaderService.LoadScene((int)SceneIds.Gameplay, SceneLoaded);
|
||||
Context.SceneLoaderService.LoadScene((int)SceneIds.MovementDev, SceneLoaded);
|
||||
Context.InputService.EnableMap(ActionMappings.Gameplay);
|
||||
|
||||
Context.CameraStateMachine.SwitchState(CameraMode.FirstPerson);
|
||||
}
|
||||
|
||||
private void SceneLoaded()
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Code.App.StateMachine;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Input;
|
||||
using Code.Scenes;
|
||||
using Code.StateMachine;
|
||||
@@ -14,12 +15,13 @@ namespace Code.App.AppStates
|
||||
{
|
||||
Context.SceneLoaderService.LoadScene((int)SceneIds.MainMenu, SceneLoaded);
|
||||
Context.InputService.EnableMap(ActionMappings.MainMenu);
|
||||
|
||||
Context.CameraStateMachine.SwitchState(CameraMode.Static);
|
||||
}
|
||||
|
||||
private void SceneLoaded()
|
||||
{
|
||||
|
||||
|
||||
base.EnterState();
|
||||
}
|
||||
public override void Tick()
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Code.App.StateMachine;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Input;
|
||||
using Code.Scenes;
|
||||
using Code.StateMachine;
|
||||
@@ -16,6 +17,8 @@ namespace Code.App.AppStates
|
||||
{
|
||||
Context.SceneLoaderService.LoadScene((int)SceneIds.MovementDev, SceneLoaded);
|
||||
Context.InputService.EnableMap(ActionMappings.Gameplay);
|
||||
|
||||
Context.CameraStateMachine.SwitchState(CameraMode.FirstPerson);
|
||||
}
|
||||
|
||||
private void SceneLoaded()
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Code.App.StateMachine;
|
||||
using Code.Configs;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Input;
|
||||
using Code.Scenes;
|
||||
using Code.StaticData;
|
||||
@@ -20,11 +21,25 @@ namespace Code.App
|
||||
InstallInfrastructureUnit(containerBuilder, staticDataService);
|
||||
|
||||
containerBuilder.AddSingleton(typeof(InputService), typeof(IInputService));
|
||||
|
||||
InitializeCamera(containerBuilder, staticDataService);
|
||||
|
||||
containerBuilder.AddSingleton(typeof(SceneLoaderService), typeof(ISceneLoaderService));
|
||||
|
||||
containerBuilder.OnContainerBuilt += Bootstrap;
|
||||
}
|
||||
|
||||
private void InitializeCamera(ContainerBuilder containerBuilder, IStaticDataService staticDataService)
|
||||
{
|
||||
// CameraService cameraService = Instantiate(staticDataService.CameraConfig.cameraPrefab);
|
||||
// containerBuilder.AddSingleton(cameraService);
|
||||
// DontDestroyOnLoad(cameraService);
|
||||
|
||||
Camera camera = Instantiate(staticDataService.CameraConfig.cameraPrefab);
|
||||
DontDestroyOnLoad(camera);
|
||||
containerBuilder.AddSingleton(camera);
|
||||
}
|
||||
|
||||
private void InstallInfrastructureUnit(ContainerBuilder containerBuilder, IStaticDataService staticDataService)
|
||||
{
|
||||
GameObject infrastructureUnit = Instantiate(staticDataService.AppConfig.infrastructureUnitPrefab);
|
||||
@@ -34,6 +49,7 @@ namespace Code.App
|
||||
containerBuilder.AddSingleton(infrastructureUnit.GetComponent<ICoroutineRunner>(),
|
||||
typeof(ICoroutineRunner));
|
||||
containerBuilder.AddSingleton(infrastructureUnit.AddComponent<AppStateMachine>());
|
||||
containerBuilder.AddSingleton(infrastructureUnit.AddComponent<CameraStateMachine>());
|
||||
}
|
||||
|
||||
private void InstallStaticData(ContainerBuilder containerBuilder, out IStaticDataService staticDataService)
|
||||
@@ -43,6 +59,7 @@ namespace Code.App
|
||||
|
||||
containerBuilder.AddSingleton(staticDataService, typeof(IStaticDataService));
|
||||
containerBuilder.AddSingleton(staticDataService.InputConfig.inputActionAsset, typeof(InputActionAsset));
|
||||
containerBuilder.AddSingleton(staticDataService.CameraConfig, typeof(CameraConfig));
|
||||
}
|
||||
|
||||
private void Bootstrap(Container container)
|
||||
@@ -52,6 +69,11 @@ namespace Code.App
|
||||
|
||||
AttributeInjector.Inject(appStateMachine.StateMachineContext, container);
|
||||
|
||||
CameraStateMachine cameraStateMachine = container.Resolve<CameraStateMachine>();
|
||||
AttributeInjector.Inject(cameraStateMachine.StateMachineContext, container);
|
||||
|
||||
cameraStateMachine.Initialize();
|
||||
|
||||
// TODO: поменяно для теста
|
||||
appStateMachine
|
||||
.SwitchState(AppState.MovementDev);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Input;
|
||||
using Code.Scenes;
|
||||
using Reflex.Attributes;
|
||||
@@ -8,5 +9,7 @@ namespace Code.App.StateMachine
|
||||
{
|
||||
[Inject] public ISceneLoaderService SceneLoaderService;
|
||||
[Inject] public IInputService InputService;
|
||||
[Inject] public AppStateMachine StateMachine;
|
||||
[Inject] public CameraStateMachine CameraStateMachine;
|
||||
}
|
||||
}
|
||||
+6
-7
@@ -1,10 +1,9 @@
|
||||
using Code.Gameplay.Character.Core;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(fileName = "CharacterCameraConfig", menuName = "Config/CharacterCameraConfig")]
|
||||
public class CharacterCameraConfig : ScriptableObject
|
||||
[CreateAssetMenu(fileName = "CameraConfig", menuName = "Config/CameraConfig")]
|
||||
public class CameraConfig : ScriptableObject
|
||||
{
|
||||
public float
|
||||
// Расстояния от персонажа до камеры
|
||||
@@ -29,10 +28,10 @@ namespace Code.Configs
|
||||
maxVerticalAngle = 70f, // Максимальный угол наклона камеры (вверх)
|
||||
defaultVerticalAngle = 10f; // Стандартный угол наклона камеры
|
||||
|
||||
// Текущий режим камеры
|
||||
public CameraMode defaultCameraMode = CameraMode.MainMenu;
|
||||
|
||||
// Позиция следования по умолчанию (для меню)
|
||||
// Позиция следования по умолчанию
|
||||
public Vector3 defaultFollowPosition = Vector3.zero;
|
||||
|
||||
// Префаб камеры
|
||||
public Camera cameraPrefab;
|
||||
}
|
||||
}
|
||||
File renamed without changes.
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0fae52abe6b44ad5bdd6e67876fe940a
|
||||
timeCreated: 1761671702
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
namespace Code.Gameplay.Character.Core
|
||||
namespace Code.Gameplay.Camera
|
||||
{
|
||||
/*
|
||||
* Перечисление режимов работы камеры
|
||||
@@ -10,7 +10,7 @@ namespace Code.Gameplay.Character.Core
|
||||
*/
|
||||
public enum CameraMode
|
||||
{
|
||||
MainMenu,
|
||||
Bogdan,
|
||||
Static,
|
||||
FirstPerson,
|
||||
ThirdPerson,
|
||||
File renamed without changes.
@@ -0,0 +1,23 @@
|
||||
using Code.Configs;
|
||||
using Code.Gameplay.Camera.CameraStates;
|
||||
using Code.StateMachine;
|
||||
|
||||
namespace Code.Gameplay.Camera
|
||||
{
|
||||
public class CameraStateMachine : AbstractStateMachine<CameraMode, CameraStateMachineContext>
|
||||
{
|
||||
// Текущий режим работы камеры
|
||||
public override void Initialize()
|
||||
{
|
||||
States.Add(CameraMode.Static, new StaticState(StateMachineContext));
|
||||
States.Add(CameraMode.FirstPerson, new FirstPersonState(StateMachineContext));
|
||||
States.Add(CameraMode.ThirdPerson, new ThirdPersonState(StateMachineContext));
|
||||
}
|
||||
|
||||
|
||||
protected override bool CheckTransitionAllowed(CameraMode nextState) => true;
|
||||
|
||||
protected override void ResetAllowedTransitions()
|
||||
{ }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b220b02510c34ea08257cc951d949fd7
|
||||
timeCreated: 1761671720
|
||||
@@ -0,0 +1,13 @@
|
||||
using Code.Configs;
|
||||
using Code.Input;
|
||||
using Reflex.Attributes;
|
||||
|
||||
namespace Code.Gameplay.Camera
|
||||
{
|
||||
public class CameraStateMachineContext
|
||||
{
|
||||
[Inject] public UnityEngine.Camera Camera;
|
||||
[Inject] public CameraConfig Config;
|
||||
[Inject] public IInputService InputService;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f18a74bdb8947bebec56115659e5af3
|
||||
timeCreated: 1761671752
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d7399e433dff42a185f62d79b546b059
|
||||
timeCreated: 1761671908
|
||||
@@ -0,0 +1,151 @@
|
||||
using Code.Configs;
|
||||
using Code.Input;
|
||||
using Code.StateMachine;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Camera.CameraStates
|
||||
{
|
||||
public abstract class BaseCameraState : BaseState<CameraStateMachineContext>
|
||||
{
|
||||
// DI сервиса ввода
|
||||
private readonly IInputService _inputService;
|
||||
|
||||
// Конфиг камеры
|
||||
private readonly CameraConfig _config;
|
||||
|
||||
// Используемая камера
|
||||
protected UnityEngine.Camera Camera { get; private set; }
|
||||
|
||||
// Трансформ объекта, за которым следует камера
|
||||
protected Transform FollowTransform;
|
||||
|
||||
// Позиция следования: текущая сглаженная позиция и горизонтальное направление камеры
|
||||
protected Vector3 CurrentFollowPosition;
|
||||
|
||||
// Fallback-позиция для режимов без цели
|
||||
private Vector3 _defaultFollowPosition;
|
||||
|
||||
// Целевой вертикальный угол камеры (наклон вверх/вниз)
|
||||
private float _targetVerticalAngle;
|
||||
|
||||
// Текущая и целевая дистанция камеры от цели
|
||||
protected float CurrentDistance, TargetDistance;
|
||||
|
||||
// Исходные значения дистанции для восстановления
|
||||
protected float OriginalDefaultDistance, OriginalMinDistance, OriginalMaxDistance;
|
||||
|
||||
// Горизонтальное направление камеры (проекция forward на плоскость)
|
||||
private Vector3 PlanarDirection { get; set; }
|
||||
|
||||
// Параметры загружаются из CameraConfig
|
||||
protected float
|
||||
DefaultDistance,
|
||||
MinDistance,
|
||||
MaxDistance,
|
||||
DistanceMovementSpeed,
|
||||
RotationSpeed,
|
||||
RotationSharpness,
|
||||
FollowSharpness,
|
||||
MinVerticalAngle,
|
||||
MaxVerticalAngle,
|
||||
DefaultVerticalAngle;
|
||||
|
||||
// Свойства для доступа к важным данным камеры извне
|
||||
public Vector3 GetPlanarDirection() => PlanarDirection; // Горизонтальное направление камеры
|
||||
public Quaternion GetCameraRotation() => Camera.transform.rotation; // Текущее вращение камеры
|
||||
|
||||
// Конструктор базового состояния
|
||||
protected BaseCameraState(CameraStateMachineContext context) : base(context)
|
||||
{
|
||||
_inputService = context.InputService;
|
||||
_config = context.Config;
|
||||
LoadConfig();
|
||||
}
|
||||
|
||||
// Загрузка конфига для камеры
|
||||
private void LoadConfig()
|
||||
{
|
||||
// Загрузка значений из конфигов
|
||||
DefaultDistance = _config.defaultDistance;
|
||||
MinDistance = _config.minDistance;
|
||||
MaxDistance = _config.maxDistance;
|
||||
DistanceMovementSpeed = _config.distanceMovementSpeed;
|
||||
RotationSpeed = _config.rotationSpeed;
|
||||
RotationSharpness = _config.rotationSharpness;
|
||||
FollowSharpness = _config.followSharpness;
|
||||
MinVerticalAngle = _config.minVerticalAngle;
|
||||
MaxVerticalAngle = _config.maxVerticalAngle;
|
||||
DefaultVerticalAngle = _config.defaultVerticalAngle;
|
||||
_defaultFollowPosition = _config.defaultFollowPosition;
|
||||
|
||||
// Обеспечиваем корректные значения дистанции и угла
|
||||
DefaultDistance = Mathf.Clamp(DefaultDistance, MinDistance, MaxDistance);
|
||||
DefaultVerticalAngle = Mathf.Clamp(DefaultVerticalAngle, MinVerticalAngle, MaxVerticalAngle);
|
||||
|
||||
// Сохраняем оригинальные значения для восстановления
|
||||
OriginalDefaultDistance = DefaultDistance;
|
||||
OriginalMinDistance = MinDistance;
|
||||
OriginalMaxDistance = MaxDistance;
|
||||
|
||||
CurrentDistance = DefaultDistance;
|
||||
TargetDistance = CurrentDistance;
|
||||
_targetVerticalAngle = DefaultVerticalAngle;
|
||||
PlanarDirection = Vector3.forward; // Начальное направление - вперед по оси Z
|
||||
CurrentFollowPosition = _defaultFollowPosition;
|
||||
}
|
||||
|
||||
// Переход в состояние
|
||||
public override void EnterState()
|
||||
{
|
||||
Camera = Context.Camera;
|
||||
}
|
||||
|
||||
public override void LateTick()
|
||||
{
|
||||
// Обновляем камеру только если есть цель для следования
|
||||
if (FollowTransform)
|
||||
{
|
||||
UpdateWithInput(Time.deltaTime, _inputService.ZoomInput, _inputService.LookInput);
|
||||
}
|
||||
}
|
||||
|
||||
// Абстрактные методы для специфики режима
|
||||
protected abstract void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation);
|
||||
|
||||
// Обработка вращения камеры на основе пользовательского ввода
|
||||
protected void HandleRotationInput(float deltaTime, Vector3 rotationInput, out Quaternion targetRotation)
|
||||
{
|
||||
// Вращение вокруг вертикальной оси (горизонтальный поворот)
|
||||
var rotationFromInput = Quaternion.Euler(FollowTransform.up * (rotationInput.x * RotationSpeed));
|
||||
PlanarDirection = rotationFromInput * PlanarDirection;
|
||||
var planarRotation = Quaternion.LookRotation(PlanarDirection, FollowTransform.up);
|
||||
|
||||
// Вращение вокруг горизонтальной оси (вертикальный наклон)
|
||||
_targetVerticalAngle -= rotationInput.y * RotationSpeed;
|
||||
_targetVerticalAngle = Mathf.Clamp(_targetVerticalAngle, MinVerticalAngle, MaxVerticalAngle);
|
||||
var verticalRotation = Quaternion.Euler(_targetVerticalAngle, 0, 0);
|
||||
|
||||
// Интерполяция к целевому вращению для плавности
|
||||
targetRotation = Quaternion.Slerp(Camera.transform.rotation, planarRotation * verticalRotation, deltaTime * RotationSharpness);
|
||||
|
||||
// Применение финального вращения
|
||||
Camera.transform.rotation = targetRotation;
|
||||
}
|
||||
|
||||
// Основной метод обновления камеры, вызываемый извне каждый кадр
|
||||
private void UpdateWithInput(float deltaTime, float zoomInput, Vector3 rotationInput)
|
||||
{
|
||||
// Обработка ввода и позиционирования
|
||||
HandleRotationInput(deltaTime, rotationInput, out var targetRotation);
|
||||
HandlePosition(deltaTime, zoomInput, targetRotation);
|
||||
}
|
||||
|
||||
// Установка цели для следования камеры
|
||||
public void SetFollowTransform(Transform t)
|
||||
{
|
||||
FollowTransform = t;
|
||||
CurrentFollowPosition = t ? t.position : _defaultFollowPosition;
|
||||
if (t) PlanarDirection = t.forward; // Начальное направление совпадает с направлением цели
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 92ff312b40a647b392af24877e699bd5
|
||||
timeCreated: 1761685916
|
||||
@@ -0,0 +1,43 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Camera.CameraStates
|
||||
{
|
||||
/*
|
||||
* Состояние камеры от первого лица
|
||||
* Камера размещается непосредственно на позиции цели (например, на уровне глаз персонажа)
|
||||
* Дистанция до цели принудительно устанавливается в 0
|
||||
* Вращение управляется мышью, позиция следует за целью без отступа
|
||||
*/
|
||||
public class FirstPersonState : BaseCameraState, ICameraState
|
||||
{
|
||||
public FirstPersonState(CameraStateMachineContext context) : base(context) { }
|
||||
|
||||
public override void EnterState()
|
||||
{
|
||||
// В FirstPerson режиме дистанция всегда равна 0
|
||||
MinDistance = 0f;
|
||||
MaxDistance = 0f;
|
||||
DefaultDistance = 0f;
|
||||
TargetDistance = 0f;
|
||||
CurrentDistance = 0f;
|
||||
|
||||
base.EnterState();
|
||||
}
|
||||
|
||||
protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
|
||||
{
|
||||
// Плавное следование за целью с использованием экспоненциального сглаживания
|
||||
CurrentFollowPosition = Vector3.Lerp(CurrentFollowPosition, FollowTransform.position, 1f - Mathf.Exp(-FollowSharpness * deltaTime));
|
||||
|
||||
// В FirstPerson режиме камера находится прямо на позиции цели
|
||||
var targetPosition = CurrentFollowPosition;
|
||||
|
||||
// Установка финальной позиции камеры
|
||||
Camera.transform.position = targetPosition;
|
||||
}
|
||||
public CameraMode GetCameraMode()
|
||||
{
|
||||
return CameraMode.FirstPerson;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8bd4b9c56b1e435d8699160bc950994c
|
||||
timeCreated: 1761672032
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Code.Gameplay.Camera.CameraStates
|
||||
{
|
||||
public interface ICameraState
|
||||
{
|
||||
CameraMode GetCameraMode();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f25670e547242e8a91e19894cf6889c
|
||||
timeCreated: 1761687204
|
||||
@@ -0,0 +1,27 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Camera.CameraStates
|
||||
{
|
||||
public class StaticState : BaseCameraState, ICameraState
|
||||
{
|
||||
private Transform _target;
|
||||
private Transform _position;
|
||||
public StaticState(CameraStateMachineContext context) : base(context) { }
|
||||
|
||||
public override void EnterState()
|
||||
{
|
||||
Debug.Log("Static State Enter");
|
||||
base.EnterState();
|
||||
}
|
||||
|
||||
protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public CameraMode GetCameraMode()
|
||||
{
|
||||
return CameraMode.Static;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ddbcc6a073b744a08ce31c0607c1e9e9
|
||||
timeCreated: 1761671944
|
||||
@@ -0,0 +1,58 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Camera.CameraStates
|
||||
{
|
||||
/*
|
||||
* Состояние камеры от третьего лица
|
||||
* Камера следует за персонажем на заданном расстоянии
|
||||
* Поддерживает зум, плавное следование и вращение с учётом угла наклона
|
||||
* Дистанция и углы настраиваются через конфигурацию
|
||||
*/
|
||||
public class ThirdPersonState : BaseCameraState, ICameraState
|
||||
{
|
||||
public ThirdPersonState(CameraStateMachineContext context) : base(context) { }
|
||||
|
||||
public override void EnterState()
|
||||
{
|
||||
// Восстанавливаем исходные значения дистанции
|
||||
MinDistance = OriginalMinDistance;
|
||||
MaxDistance = OriginalMaxDistance;
|
||||
DefaultDistance = OriginalDefaultDistance;
|
||||
TargetDistance = DefaultDistance;
|
||||
|
||||
base.EnterState();
|
||||
}
|
||||
|
||||
protected override void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
|
||||
{
|
||||
// Обновление целевой дистанции на основе ввода зума
|
||||
TargetDistance += zoomInput * DistanceMovementSpeed;
|
||||
TargetDistance = Mathf.Clamp(TargetDistance, MinDistance, MaxDistance);
|
||||
|
||||
// Плавное следование за целью с использованием экспоненциального сглаживания
|
||||
CurrentFollowPosition = Vector3.Lerp(
|
||||
CurrentFollowPosition,
|
||||
FollowTransform.position,
|
||||
1f - Mathf.Exp(-FollowSharpness * deltaTime)
|
||||
);
|
||||
|
||||
// В ThirdPerson режиме камера отодвинута на расстояние от цели
|
||||
var targetPosition = CurrentFollowPosition - targetRotation * Vector3.forward * CurrentDistance;
|
||||
|
||||
// Плавное изменение текущей дистанции к целевой
|
||||
CurrentDistance = Mathf.Lerp(
|
||||
CurrentDistance,
|
||||
TargetDistance,
|
||||
1f - Mathf.Exp(-DistanceMovementSpeed * deltaTime)
|
||||
);
|
||||
|
||||
// Установка финальной позиции камеры
|
||||
Camera.transform.position = targetPosition;
|
||||
}
|
||||
|
||||
public CameraMode GetCameraMode()
|
||||
{
|
||||
return CameraMode.ThirdPerson;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec6778ceb9854ff8af7cba4f6285c370
|
||||
timeCreated: 1761672071
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b36ec6a31fb74d608232394fd5df657c
|
||||
timeCreated: 1761570832
|
||||
@@ -1,215 +0,0 @@
|
||||
using System;
|
||||
using Code.Gameplay.Character.Core;
|
||||
using Code.StaticData;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Character.Camera
|
||||
{
|
||||
/*
|
||||
* Скрипт, отвечающий за поведение камеры при передвижении
|
||||
* Поддерживает как 3rd-person, так и 1st-person режимы камеры
|
||||
* Реализует плавное следование за персонажем, вращение и зум камеры
|
||||
*
|
||||
* Источник: Tvtig, https://www.youtube.com/watch?v=9ibpY64wBYM
|
||||
*/
|
||||
public class CharacterCamera : MonoBehaviour
|
||||
{
|
||||
// Параметры загружаются из CharacterCameraConfig
|
||||
private float
|
||||
_defaultDistance,
|
||||
_minDistance,
|
||||
_maxDistance,
|
||||
_distanceMovementSpeed,
|
||||
_rotationSpeed,
|
||||
_rotationSharpness,
|
||||
_followSharpness,
|
||||
_minVerticalAngle,
|
||||
_maxVerticalAngle,
|
||||
_defaultVerticalAngle;
|
||||
|
||||
// Трансформ объекта, за которым следует камера (для 1st-person: уровень глаз)
|
||||
private Transform _followTransform;
|
||||
|
||||
// Позиция следования: текущая сглаженная позиция и горизонтальное направление камеры
|
||||
private Vector3 _currentFollowPosition;
|
||||
|
||||
// Fallback-позиция для режимов без цели (например, MainMenu)
|
||||
private Vector3 _defaultFollowPosition;
|
||||
|
||||
// Целевой вертикальный угол камеры (наклон вверх/вниз)
|
||||
private float _targetVerticalAngle;
|
||||
|
||||
// Текущая и целевая дистанция камеры от цели
|
||||
private float _currentDistance, _targetDistance;
|
||||
|
||||
// Исходные значения дистанции для восстановления после FirstPerson режима
|
||||
private float _originalDefaultDistance, _originalMinDistance, _originalMaxDistance;
|
||||
|
||||
// Горизонтальное направление камеры (проекция forward на плоскость)
|
||||
public Vector3 PlanarDirection { get; private set; }
|
||||
|
||||
// Текущий режим работы камеры
|
||||
public CameraMode CurrentMode { get; private set; }
|
||||
|
||||
// DI для загрузки конфига
|
||||
[Inject] private IStaticDataService _staticDataService;
|
||||
|
||||
// Загрузка конфига для камеры
|
||||
private void LoadConfig()
|
||||
{
|
||||
// Загрузка значений из конфигов
|
||||
var config = _staticDataService.CharacterCameraConfig;
|
||||
|
||||
_defaultDistance = config.defaultDistance;
|
||||
_minDistance = config.minDistance;
|
||||
_maxDistance = config.maxDistance;
|
||||
_distanceMovementSpeed = config.distanceMovementSpeed;
|
||||
_rotationSpeed = config.rotationSpeed;
|
||||
_rotationSharpness = config.rotationSharpness;
|
||||
_followSharpness = config.followSharpness;
|
||||
_minVerticalAngle = config.minVerticalAngle;
|
||||
_maxVerticalAngle = config.maxVerticalAngle;
|
||||
_defaultVerticalAngle = config.defaultVerticalAngle;
|
||||
CurrentMode = config.defaultCameraMode;
|
||||
_defaultFollowPosition = config.defaultFollowPosition;
|
||||
|
||||
// Валидация значений (на случай ручного редактирования конфига)
|
||||
_defaultDistance = Mathf.Clamp(_defaultDistance, _minDistance, _maxDistance);
|
||||
_defaultVerticalAngle = Mathf.Clamp(_defaultVerticalAngle, _minVerticalAngle, _maxVerticalAngle);
|
||||
|
||||
// Сохраняем оригинальные значения для восстановления
|
||||
_originalDefaultDistance = _defaultDistance;
|
||||
_originalMinDistance = _minDistance;
|
||||
_originalMaxDistance = _maxDistance;
|
||||
|
||||
// Инициализация состояния камеры
|
||||
_currentDistance = _defaultDistance;
|
||||
_targetDistance = _currentDistance;
|
||||
_targetVerticalAngle = _defaultVerticalAngle;
|
||||
PlanarDirection = Vector3.forward; // Начальное направление - вперед по оси Z
|
||||
_currentFollowPosition = _defaultFollowPosition;
|
||||
}
|
||||
|
||||
// Инициализация камеры при создании
|
||||
private void Awake()
|
||||
{
|
||||
LoadConfig();
|
||||
}
|
||||
|
||||
// Установка цели для следования камеры
|
||||
public void SetFollowTransform(Transform t)
|
||||
{
|
||||
_followTransform = t;
|
||||
_currentFollowPosition = t.position;
|
||||
PlanarDirection = t.forward; // Начальное направление совпадает с направлением цели
|
||||
}
|
||||
|
||||
// Обработка вращения камеры на основе пользовательского ввода
|
||||
private void HandleRotationInput(float deltaTime, Vector3 rotationInput, out Quaternion targetRotation)
|
||||
{
|
||||
// Вращение вокруг вертикальной оси (горизонтальный поворот)
|
||||
var rotationFromInput = Quaternion.Euler(_followTransform.up * (rotationInput.x * _rotationSpeed));
|
||||
PlanarDirection = rotationFromInput * PlanarDirection;
|
||||
var planarRotation = Quaternion.LookRotation(PlanarDirection, _followTransform.up);
|
||||
|
||||
// Вращение вокруг горизонтальной оси (вертикальный наклон)
|
||||
_targetVerticalAngle -= rotationInput.y * _rotationSpeed;
|
||||
_targetVerticalAngle = Math.Clamp(_targetVerticalAngle, _minVerticalAngle, _maxVerticalAngle);
|
||||
var verticalRotation = Quaternion.Euler(_targetVerticalAngle, 0, 0);
|
||||
|
||||
// Интерполяция к целевому вращению для плавности
|
||||
targetRotation = Quaternion.Slerp(transform.rotation, planarRotation * verticalRotation, deltaTime * _rotationSharpness);
|
||||
|
||||
// Применение финального вращения
|
||||
transform.rotation = targetRotation;
|
||||
}
|
||||
|
||||
// Обработка позиционирования камеры и зума с учетом текущего режима
|
||||
private void HandlePosition(float deltaTime, float zoomInput, Quaternion targetRotation)
|
||||
{
|
||||
// В FirstPerson режиме зум отключается
|
||||
if (CurrentMode != CameraMode.FirstPerson)
|
||||
{
|
||||
// Обновление целевой дистанции на основе ввода зума
|
||||
_targetDistance += zoomInput * _distanceMovementSpeed;
|
||||
_targetDistance = Mathf.Clamp(_targetDistance, _minDistance, _maxDistance);
|
||||
}
|
||||
|
||||
// Плавное следование за целью с использованием экспоненциального сглаживания
|
||||
_currentFollowPosition = Vector3.Lerp(_currentFollowPosition, _followTransform.position, 1f - Mathf.Exp(-_followSharpness * deltaTime));
|
||||
|
||||
// Вычисление целевой позиции камеры с учетом текущего режима
|
||||
Vector3 targetPosition;
|
||||
if (CurrentMode == CameraMode.FirstPerson)
|
||||
{
|
||||
// В FirstPerson режиме камера находится прямо на позиции цели
|
||||
targetPosition = _currentFollowPosition;
|
||||
}
|
||||
else
|
||||
{
|
||||
// В ThirdPerson режиме камера отодвинута на расстояние от цели
|
||||
targetPosition = _currentFollowPosition - targetRotation * Vector3.forward * _currentDistance;
|
||||
}
|
||||
|
||||
// Плавное изменение текущей дистанции к целевой (только для ThirdPerson)
|
||||
if (CurrentMode != CameraMode.FirstPerson)
|
||||
{
|
||||
_currentDistance = Mathf.Lerp(_currentDistance, _targetDistance, 1f - Mathf.Exp(-_distanceMovementSpeed * deltaTime));
|
||||
}
|
||||
|
||||
// Установка финальной позиции камеры
|
||||
transform.position = targetPosition;
|
||||
}
|
||||
|
||||
// Основной метод обновления камеры, вызываемый извне каждый кадр
|
||||
public void UpdateWithInput(float deltaTime, float zoomInput, Vector3 rotationInput)
|
||||
{
|
||||
// Проверка наличия цели для следования и проверка на режим главного меню
|
||||
if (!_followTransform || CurrentMode == CameraMode.MainMenu) return;
|
||||
|
||||
// Обработка ввода и позиционирования
|
||||
HandleRotationInput(deltaTime, rotationInput, out var targetRotation);
|
||||
HandlePosition(deltaTime, zoomInput, targetRotation);
|
||||
}
|
||||
|
||||
// Смена режима камеры
|
||||
public void SetCameraMode(CameraMode newMode)
|
||||
{
|
||||
if (CurrentMode == newMode) return;
|
||||
CurrentMode = newMode;
|
||||
|
||||
// Применяем настройки специфичные для режима
|
||||
ApplyModeSpecificSettings();
|
||||
}
|
||||
|
||||
// Применение настроек специфичных для текущего режима
|
||||
private void ApplyModeSpecificSettings()
|
||||
{
|
||||
switch (CurrentMode)
|
||||
{
|
||||
case CameraMode.FirstPerson:
|
||||
// В FirstPerson режиме дистанция всегда равна 0
|
||||
_minDistance = 0f;
|
||||
_maxDistance = 0f;
|
||||
_defaultDistance = 0f;
|
||||
_targetDistance = 0f;
|
||||
_currentDistance = 0f;
|
||||
break;
|
||||
case CameraMode.ThirdPerson:
|
||||
// Восстанавливаем исходные значения дистанции
|
||||
_minDistance = _originalMinDistance;
|
||||
_maxDistance = _originalMaxDistance;
|
||||
_defaultDistance = _originalDefaultDistance;
|
||||
_targetDistance = _defaultDistance;
|
||||
break;
|
||||
// Заготовка на будущее (если понадобится)
|
||||
case CameraMode.MainMenu:
|
||||
case CameraMode.Static:
|
||||
case CameraMode.Cinematic:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f1d98e6c5419411098391c07861e627e
|
||||
timeCreated: 1760627986
|
||||
@@ -1,3 +1,4 @@
|
||||
using Code.Gameplay.Camera;
|
||||
using KinematicCharacterController;
|
||||
using UnityEngine;
|
||||
using Code.Gameplay.Character.Core;
|
||||
|
||||
+3
-2
@@ -1,3 +1,4 @@
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Gameplay.Character.Controller.Abilities;
|
||||
using Code.Gameplay.Character.Controller.Input;
|
||||
using Code.Gameplay.Character.Controller.Movement;
|
||||
@@ -53,7 +54,7 @@ namespace Code.Gameplay.Character.Controller
|
||||
}
|
||||
|
||||
// Текущий режим камеры для адаптации поведения
|
||||
private CameraMode _currentCameraMode = CameraMode.ThirdPerson;
|
||||
private CameraMode _currentCameraMode = CameraMode.FirstPerson;
|
||||
|
||||
// Инициализация контроллера
|
||||
private void Start()
|
||||
@@ -127,7 +128,7 @@ namespace Code.Gameplay.Character.Controller
|
||||
// Заготовка на будущее (если понадобится)
|
||||
case CameraMode.Static:
|
||||
case CameraMode.Cinematic:
|
||||
case CameraMode.MainMenu: // Скорее всего юзлес, но пускай будет
|
||||
case CameraMode.Bogdan: // Скорее всего юзлес, но пускай будет
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
using Code.Gameplay.Camera;
|
||||
using UnityEngine;
|
||||
using Code.Gameplay.Character.Core;
|
||||
using KinematicCharacterController;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Code.Gameplay.Character.Camera;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Gameplay.Camera.CameraStates;
|
||||
using Code.Gameplay.Character.Controller;
|
||||
using Code.Input;
|
||||
using Reflex.Attributes;
|
||||
@@ -14,7 +15,7 @@ namespace Code.Gameplay.Character.Core
|
||||
*/
|
||||
public class Character : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private CharacterCamera characterCamera; // Компонент камеры персонажа
|
||||
[Inject] private CameraStateMachine _cameraStateMachine; // Стейт-машина камеры (нужна для транзакций и т.п.)
|
||||
[SerializeField] private CustomCharacterController customCharacterController; // Компонент управления персонажем
|
||||
[SerializeField] private Transform cameraFollowPoint; // Точка следования камеры (уровень глаз для FirstPerson)
|
||||
|
||||
@@ -27,25 +28,12 @@ namespace Code.Gameplay.Character.Core
|
||||
private void Start()
|
||||
{
|
||||
// Настройка камеры для следования за точкой камеры
|
||||
characterCamera.SetFollowTransform(cameraFollowPoint);
|
||||
characterCamera.SetCameraMode(CameraMode.FirstPerson);
|
||||
((BaseCameraState)_cameraStateMachine.CurrentBaseState).SetFollowTransform(cameraFollowPoint);
|
||||
|
||||
// Включение Gameplay мапа ввода
|
||||
_inputService.EnableMap(ActionMappings.Gameplay);
|
||||
}
|
||||
|
||||
// Обработка ввода для камеры (вращение и зум)
|
||||
private void HandleCameraInput()
|
||||
{
|
||||
// Получаем данные ввода из Input System
|
||||
var lookInput = _inputService.LookInput;
|
||||
var scrollInput = _inputService.ZoomInput;
|
||||
|
||||
// Передаем данные в камеру
|
||||
characterCamera.UpdateWithInput(Time.deltaTime, scrollInput,
|
||||
new Vector3(lookInput.x, lookInput.y, 0));
|
||||
}
|
||||
|
||||
// Обработка ввода для движения персонажа
|
||||
private void HandleCharacterInput()
|
||||
{
|
||||
@@ -59,11 +47,11 @@ namespace Code.Gameplay.Character.Core
|
||||
inputs.JumpPressed = _inputService.JumpPressed; // Прыжки (Space)
|
||||
inputs.SprintPressed = _inputService.SprintPressed; // Спринт (Shift)
|
||||
inputs.SlidePressed = _inputService.SlidePressed; // Слайд (Ctrl)
|
||||
inputs.CameraMode = ((ICameraState)_cameraStateMachine.CurrentBaseState).GetCameraMode();
|
||||
|
||||
// Передаем информацию о камере для адаптивного поведения
|
||||
inputs.CameraRotation = characterCamera.transform.rotation;
|
||||
inputs.CameraMode = characterCamera.CurrentMode;
|
||||
inputs.CameraPlanarDirection = characterCamera.PlanarDirection;
|
||||
inputs.CameraRotation = ((BaseCameraState)_cameraStateMachine.CurrentBaseState).GetCameraRotation();
|
||||
inputs.CameraPlanarDirection = ((BaseCameraState)_cameraStateMachine.CurrentBaseState).GetPlanarDirection();
|
||||
|
||||
// Передаем ввод в контроллер персонажа
|
||||
customCharacterController.SetInputs(ref inputs);
|
||||
@@ -92,12 +80,14 @@ namespace Code.Gameplay.Character.Core
|
||||
// Метод для переключения режимов камеры
|
||||
private void ToggleCameraMode()
|
||||
{
|
||||
var currentMode = characterCamera.CurrentMode;
|
||||
var currentMode = ((ICameraState)_cameraStateMachine.CurrentBaseState).GetCameraMode();
|
||||
var newMode = currentMode == CameraMode.FirstPerson ? CameraMode.ThirdPerson : CameraMode.FirstPerson;
|
||||
|
||||
characterCamera.SetCameraMode(newMode);
|
||||
_cameraStateMachine.SwitchState(newMode);
|
||||
((BaseCameraState)_cameraStateMachine.CurrentBaseState).SetFollowTransform(cameraFollowPoint);
|
||||
}
|
||||
|
||||
|
||||
// Обновление логики каждый кадр
|
||||
private void Update()
|
||||
{
|
||||
@@ -107,12 +97,5 @@ namespace Code.Gameplay.Character.Core
|
||||
// Обработка переключения режима камеры
|
||||
HandleCameraModeInput();
|
||||
}
|
||||
|
||||
// Обновление после всех вычислений (идеально для камеры)
|
||||
private void LateUpdate()
|
||||
{
|
||||
// Обработка ввода для камеры в LateUpdate (после движения персонажа)
|
||||
HandleCameraInput();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
using Code.Gameplay.Camera;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Gameplay.Character.Core
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -7,6 +8,7 @@ namespace Code.StateMachine
|
||||
: MonoBehaviour
|
||||
where TStateMachineContext : new()
|
||||
{
|
||||
public TStateEnum CurrentState { get; private set; }
|
||||
public BaseState<TStateMachineContext> CurrentBaseState { get; private set; }
|
||||
private BaseState<TStateMachineContext> _previousBaseState;
|
||||
|
||||
@@ -20,6 +22,10 @@ namespace Code.StateMachine
|
||||
CurrentBaseState.Tick();
|
||||
}
|
||||
|
||||
protected void LateUpdate()
|
||||
{
|
||||
CurrentBaseState.LateTick();
|
||||
}
|
||||
public abstract void Initialize();
|
||||
|
||||
// Костыли 2 шт. для флагового енама в шаблонах
|
||||
@@ -53,6 +59,8 @@ namespace Code.StateMachine
|
||||
CurrentBaseState.EnterState();
|
||||
}
|
||||
|
||||
CurrentState = nextState;
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace Code.StateMachine
|
||||
public virtual void EnterState() => OnEntered?.Invoke();
|
||||
|
||||
public virtual void Tick(){}
|
||||
public virtual void LateTick(){}
|
||||
|
||||
public virtual void ExitState() => OnExited?.Invoke();
|
||||
}
|
||||
|
||||
@@ -8,6 +8,6 @@ namespace Code.StaticData
|
||||
void Load();
|
||||
InputConfig InputConfig { get; }
|
||||
AppConfig AppConfig { get; }
|
||||
CharacterCameraConfig CharacterCameraConfig { get; }
|
||||
CameraConfig CameraConfig { get; }
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,13 @@ namespace Code.StaticData
|
||||
{
|
||||
public AppConfig AppConfig { get; private set; }
|
||||
public InputConfig InputConfig { get; private set; }
|
||||
public CharacterCameraConfig CharacterCameraConfig { get; private set; }
|
||||
public CameraConfig CameraConfig { get; private set; }
|
||||
|
||||
public void Load()
|
||||
{
|
||||
InputConfig = Resources.Load<InputConfig>(string.Format(StringPaths.ConfigSingle, "App", "InputConfig"));
|
||||
AppConfig = Resources.Load<AppConfig>(string.Format(StringPaths.ConfigSingle, "App", "AppConfig"));
|
||||
CharacterCameraConfig = Resources.Load<CharacterCameraConfig>(string.Format(StringPaths.ConfigSingle, "App", "CharacterCameraConfig"));
|
||||
CameraConfig = Resources.Load<CameraConfig>(string.Format(StringPaths.ConfigSingle, "App", "CameraConfig"));
|
||||
}
|
||||
}
|
||||
}
|
||||
+4
-2
@@ -10,8 +10,8 @@ MonoBehaviour:
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 72fbf590e5fd4747acfdd32eb26bba3a, type: 3}
|
||||
m_Name: CharacterCameraConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CharacterCameraConfig
|
||||
m_Name: CameraConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CameraConfig
|
||||
defaultDistance: 6
|
||||
minDistance: 3
|
||||
maxDistance: 10
|
||||
@@ -23,3 +23,5 @@ MonoBehaviour:
|
||||
maxVerticalAngle: 70
|
||||
defaultVerticalAngle: 10
|
||||
defaultCameraMode: 0
|
||||
defaultFollowPosition: {x: 0, y: 0, z: 0}
|
||||
cameraPrefab: {fileID: 374984699890489845, guid: 8b8bf5712dc5a42c7bd8e22cddb884c3, type: 3}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6938984fc7d25285abb4922dd46d9272
|
||||
guid: d63c98162aec4c9f9b55578df6aee277
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 608c7bc920473dfe5a28da884a28fa9d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 32ef2c05fcde7cfff8a0f3cb8aef19dd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,219 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4020116641700429774
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8446312744501130134}
|
||||
- component: {fileID: 2909726676418717939}
|
||||
- component: {fileID: 2501524445164724345}
|
||||
m_Layer: 0
|
||||
m_Name: EventSystem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8446312744501130134
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4020116641700429774}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8978384765604412142}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2909726676418717939
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4020116641700429774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.EventSystems.EventSystem
|
||||
m_FirstSelected: {fileID: 0}
|
||||
m_sendNavigationEvents: 1
|
||||
m_DragThreshold: 10
|
||||
--- !u!114 &2501524445164724345
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4020116641700429774}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.UI.InputSystemUIInputModule
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_MoveRepeatDelay: 0.5
|
||||
m_MoveRepeatRate: 0.1
|
||||
m_XRTrackingOrigin: {fileID: 0}
|
||||
m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_DeselectOnBackgroundClick: 1
|
||||
m_PointerBehavior: 0
|
||||
m_CursorLockBehavior: 0
|
||||
m_ScrollDeltaPerTick: 6
|
||||
--- !u!1 &6099115053225634464
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8978384765604412142}
|
||||
- component: {fileID: 374984699890489845}
|
||||
- component: {fileID: 4075496901397588323}
|
||||
- component: {fileID: 7468744325105696788}
|
||||
m_Layer: 0
|
||||
m_Name: Camera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8978384765604412142
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6099115053225634464}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.19427353, y: 0.44825727, z: -0.100474596, w: 0.8667341}
|
||||
m_LocalPosition: {x: -223.01709, y: 389.89224, z: -363.3137}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8446312744501130134}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!20 &374984699890489845
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6099115053225634464}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!81 &4075496901397588323
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6099115053225634464}
|
||||
m_Enabled: 1
|
||||
--- !u!114 &7468744325105696788
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6099115053225634464}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_AllowHDROutput: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
m_JitterScale: 1
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
m_Version: 2
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b8bf5712dc5a42c7bd8e22cddb884c3
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -119,52 +119,6 @@ NavMeshSettings:
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &828922429
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 828922431}
|
||||
- component: {fileID: 828922430}
|
||||
m_Layer: 0
|
||||
m_Name: SkipToGameplay
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &828922430
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 828922429}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: affd42e82c2547a5af4604b574a24f59, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.App.Debug.GoToState
|
||||
gotoState: 4
|
||||
allowedState: -1
|
||||
--- !u!4 &828922431
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 828922429}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1253837927
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -214,4 +168,3 @@ SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 1253837929}
|
||||
- {fileID: 828922431}
|
||||
@@ -208,166 +208,6 @@ MeshFilter:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 55880351}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!1 &338454659
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 338454662}
|
||||
- component: {fileID: 338454661}
|
||||
- component: {fileID: 338454660}
|
||||
- component: {fileID: 338454663}
|
||||
- component: {fileID: 338454664}
|
||||
m_Layer: 0
|
||||
m_Name: CharacterCamera
|
||||
m_TagString: MainCamera
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!81 &338454660
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 338454659}
|
||||
m_Enabled: 1
|
||||
--- !u!20 &338454661
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 338454659}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: -1
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!4 &338454662
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 338454659}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 1, z: -10}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &338454663
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 338454659}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalCameraData
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_AllowHDROutput: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
m_JitterScale: 1
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
m_Version: 2
|
||||
--- !u!114 &338454664
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 338454659}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f1d98e6c5419411098391c07861e627e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Player.PlayerCamera
|
||||
defaultDistance: 6
|
||||
minDistance: 3
|
||||
maxDistance: 10
|
||||
distanceMovementSpeed: 5
|
||||
rotationSpeed: 0.3
|
||||
rotationSharpness: 100
|
||||
followSharpness: 100
|
||||
minVerticalAngle: -70
|
||||
maxVerticalAngle: 70
|
||||
defaultVerticalAngle: 10
|
||||
--- !u!1 &453575297
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -904,7 +744,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 9f2cdbe59523ace7ab0d8dfc36b4eb02, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Player
|
||||
characterCamera: {fileID: 338454664}
|
||||
customCharacterController: {fileID: 1696686258}
|
||||
cameraFollowPoint: {fileID: 453575298}
|
||||
--- !u!114 &1696686256
|
||||
@@ -1044,7 +883,6 @@ Transform:
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 338454662}
|
||||
- {fileID: 1959874991}
|
||||
- {fileID: 1696686254}
|
||||
- {fileID: 481156070}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f669a7bf66e9d7f868d912b64e88e3ec
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a6b8d1e15a85328cbaff95e3c73cdfd
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,690 @@
|
||||
%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: 71c1514a6bd24e1e882cebbe1904ce04, type: 3}
|
||||
m_Name: SOUTHGHETTO SDF
|
||||
m_EditorClassIdentifier: Unity.TextMeshPro::TMPro.TMP_FontAsset
|
||||
m_Version: 1.1.0
|
||||
m_FaceInfo:
|
||||
m_FaceIndex: 0
|
||||
m_FamilyName: SouthGhetto
|
||||
m_StyleName: Regular
|
||||
m_PointSize: 90
|
||||
m_Scale: 1
|
||||
m_UnitsPerEM: 1000
|
||||
m_LineHeight: 99
|
||||
m_AscentLine: 67.5
|
||||
m_CapLine: 63
|
||||
m_MeanLine: 63
|
||||
m_Baseline: 0
|
||||
m_DescentLine: -22.5
|
||||
m_SuperscriptOffset: 67.5
|
||||
m_SuperscriptSize: 0.5
|
||||
m_SubscriptOffset: -22.5
|
||||
m_SubscriptSize: 0.5
|
||||
m_UnderlineOffset: -11.25
|
||||
m_UnderlineThickness: 4.5
|
||||
m_StrikethroughOffset: 25.2
|
||||
m_StrikethroughThickness: 4.5
|
||||
m_TabWidth: 23
|
||||
m_Material: {fileID: 1091306912205572362}
|
||||
m_SourceFontFileGUID: 4c18ae64a0f1d59239a927890bc9aa3f
|
||||
m_CreationSettings:
|
||||
sourceFontFileName:
|
||||
sourceFontFileGUID: 4c18ae64a0f1d59239a927890bc9aa3f
|
||||
faceIndex: 0
|
||||
pointSizeSamplingMode: 0
|
||||
pointSize: 90
|
||||
padding: 9
|
||||
paddingMode: 2
|
||||
packingMode: 0
|
||||
atlasWidth: 1024
|
||||
atlasHeight: 1024
|
||||
characterSetSelectionMode: 7
|
||||
characterSequence:
|
||||
referencedFontAssetGUID:
|
||||
referencedTextAssetGUID:
|
||||
fontStyle: 0
|
||||
fontStyleModifier: 0
|
||||
renderMode: 4165
|
||||
includeFontFeatures: 0
|
||||
m_SourceFontFile: {fileID: 12800000, guid: 4c18ae64a0f1d59239a927890bc9aa3f, type: 3}
|
||||
m_SourceFontFilePath:
|
||||
m_AtlasPopulationMode: 1
|
||||
InternalDynamicOS: 0
|
||||
m_GlyphTable:
|
||||
- m_Index: 30
|
||||
m_Metrics:
|
||||
m_Width: 51.296875
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 56.703125
|
||||
m_GlyphRect:
|
||||
m_X: 10
|
||||
m_Y: 10
|
||||
m_Width: 52
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 60
|
||||
m_Metrics:
|
||||
m_Width: 49.234375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 54.625
|
||||
m_GlyphRect:
|
||||
m_X: 10
|
||||
m_Y: 92
|
||||
m_Width: 50
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 67
|
||||
m_Metrics:
|
||||
m_Width: 49.234375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 54.625
|
||||
m_GlyphRect:
|
||||
m_X: 10
|
||||
m_Y: 174
|
||||
m_Width: 50
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 64
|
||||
m_Metrics:
|
||||
m_Width: 31.40625
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 36.8125
|
||||
m_GlyphRect:
|
||||
m_X: 10
|
||||
m_Y: 256
|
||||
m_Width: 33
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 77
|
||||
m_Metrics:
|
||||
m_Width: 53.09375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 58.5
|
||||
m_GlyphRect:
|
||||
m_X: 10
|
||||
m_Y: 338
|
||||
m_Width: 54
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 73
|
||||
m_Metrics:
|
||||
m_Width: 52.203125
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 55.984375
|
||||
m_GlyphRect:
|
||||
m_X: 62
|
||||
m_Y: 256
|
||||
m_Width: 53
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 94
|
||||
m_Metrics:
|
||||
m_Width: 51.296875
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 56.703125
|
||||
m_GlyphRect:
|
||||
m_X: 79
|
||||
m_Y: 92
|
||||
m_Width: 52
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 121
|
||||
m_Metrics:
|
||||
m_Width: 49.234375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 54.625
|
||||
m_GlyphRect:
|
||||
m_X: 81
|
||||
m_Y: 10
|
||||
m_Width: 50
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 134
|
||||
m_Metrics:
|
||||
m_Width: 49.234375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 54.625
|
||||
m_GlyphRect:
|
||||
m_X: 79
|
||||
m_Y: 174
|
||||
m_Width: 50
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 118
|
||||
m_Metrics:
|
||||
m_Width: 49.234375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 54.625
|
||||
m_GlyphRect:
|
||||
m_X: 10
|
||||
m_Y: 420
|
||||
m_Width: 50
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 136
|
||||
m_Metrics:
|
||||
m_Width: 51.296875
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 56.703125
|
||||
m_GlyphRect:
|
||||
m_X: 10
|
||||
m_Y: 502
|
||||
m_Width: 52
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 146
|
||||
m_Metrics:
|
||||
m_Width: 49.234375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 54.625
|
||||
m_GlyphRect:
|
||||
m_X: 79
|
||||
m_Y: 420
|
||||
m_Width: 50
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 88
|
||||
m_Metrics:
|
||||
m_Width: 49.234375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 54.625
|
||||
m_GlyphRect:
|
||||
m_X: 83
|
||||
m_Y: 338
|
||||
m_Width: 50
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 145
|
||||
m_Metrics:
|
||||
m_Width: 66.59375
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 72
|
||||
m_GlyphRect:
|
||||
m_X: 134
|
||||
m_Y: 256
|
||||
m_Width: 68
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 127
|
||||
m_Metrics:
|
||||
m_Width: 51.296875
|
||||
m_Height: 81.359375
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 81.359375
|
||||
m_HorizontalAdvance: 56.703125
|
||||
m_GlyphRect:
|
||||
m_X: 150
|
||||
m_Y: 10
|
||||
m_Width: 52
|
||||
m_Height: 82
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
- m_Index: 126
|
||||
m_Metrics:
|
||||
m_Width: 51.296875
|
||||
m_Height: 63
|
||||
m_HorizontalBearingX: 2.703125
|
||||
m_HorizontalBearingY: 63
|
||||
m_HorizontalAdvance: 56.703125
|
||||
m_GlyphRect:
|
||||
m_X: 148
|
||||
m_Y: 174
|
||||
m_Width: 52
|
||||
m_Height: 63
|
||||
m_Scale: 1
|
||||
m_AtlasIndex: 0
|
||||
m_ClassDefinitionType: 0
|
||||
m_CharacterTable:
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 68
|
||||
m_GlyphIndex: 30
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 101
|
||||
m_GlyphIndex: 60
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 108
|
||||
m_GlyphIndex: 67
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 105
|
||||
m_GlyphIndex: 64
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 118
|
||||
m_GlyphIndex: 77
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 114
|
||||
m_GlyphIndex: 73
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1048
|
||||
m_GlyphIndex: 94
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1075
|
||||
m_GlyphIndex: 121
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1088
|
||||
m_GlyphIndex: 134
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1072
|
||||
m_GlyphIndex: 118
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1090
|
||||
m_GlyphIndex: 136
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1100
|
||||
m_GlyphIndex: 146
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1042
|
||||
m_GlyphIndex: 88
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1099
|
||||
m_GlyphIndex: 145
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1081
|
||||
m_GlyphIndex: 127
|
||||
m_Scale: 1
|
||||
- m_ElementType: 1
|
||||
m_Unicode: 1080
|
||||
m_GlyphIndex: 126
|
||||
m_Scale: 1
|
||||
m_AtlasTextures:
|
||||
- {fileID: 688428377202190775}
|
||||
m_AtlasTextureIndex: 0
|
||||
m_IsMultiAtlasTexturesEnabled: 0
|
||||
m_GetFontFeatures: 1
|
||||
m_ClearDynamicDataOnBuild: 1
|
||||
m_AtlasWidth: 1024
|
||||
m_AtlasHeight: 1024
|
||||
m_AtlasPadding: 9
|
||||
m_AtlasRenderMode: 4165
|
||||
m_UsedGlyphRects:
|
||||
- m_X: 0
|
||||
m_Y: 0
|
||||
m_Width: 71
|
||||
m_Height: 82
|
||||
- m_X: 0
|
||||
m_Y: 82
|
||||
m_Width: 69
|
||||
m_Height: 82
|
||||
- m_X: 0
|
||||
m_Y: 164
|
||||
m_Width: 69
|
||||
m_Height: 82
|
||||
- m_X: 0
|
||||
m_Y: 246
|
||||
m_Width: 52
|
||||
m_Height: 82
|
||||
- m_X: 0
|
||||
m_Y: 328
|
||||
m_Width: 73
|
||||
m_Height: 82
|
||||
- m_X: 52
|
||||
m_Y: 246
|
||||
m_Width: 72
|
||||
m_Height: 82
|
||||
- m_X: 69
|
||||
m_Y: 82
|
||||
m_Width: 71
|
||||
m_Height: 82
|
||||
- m_X: 71
|
||||
m_Y: 0
|
||||
m_Width: 69
|
||||
m_Height: 82
|
||||
- m_X: 69
|
||||
m_Y: 164
|
||||
m_Width: 69
|
||||
m_Height: 82
|
||||
- m_X: 0
|
||||
m_Y: 410
|
||||
m_Width: 69
|
||||
m_Height: 82
|
||||
- m_X: 0
|
||||
m_Y: 492
|
||||
m_Width: 71
|
||||
m_Height: 82
|
||||
- m_X: 69
|
||||
m_Y: 410
|
||||
m_Width: 69
|
||||
m_Height: 82
|
||||
- m_X: 73
|
||||
m_Y: 328
|
||||
m_Width: 69
|
||||
m_Height: 82
|
||||
- m_X: 124
|
||||
m_Y: 246
|
||||
m_Width: 87
|
||||
m_Height: 82
|
||||
- m_X: 140
|
||||
m_Y: 0
|
||||
m_Width: 71
|
||||
m_Height: 101
|
||||
- m_X: 138
|
||||
m_Y: 164
|
||||
m_Width: 71
|
||||
m_Height: 82
|
||||
m_FreeGlyphRects:
|
||||
- m_X: 0
|
||||
m_Y: 574
|
||||
m_Width: 1023
|
||||
m_Height: 449
|
||||
- m_X: 71
|
||||
m_Y: 492
|
||||
m_Width: 952
|
||||
m_Height: 531
|
||||
- m_X: 138
|
||||
m_Y: 410
|
||||
m_Width: 885
|
||||
m_Height: 613
|
||||
- m_X: 142
|
||||
m_Y: 328
|
||||
m_Width: 881
|
||||
m_Height: 695
|
||||
- m_X: 211
|
||||
m_Y: 0
|
||||
m_Width: 812
|
||||
m_Height: 1023
|
||||
- m_X: 140
|
||||
m_Y: 101
|
||||
m_Width: 883
|
||||
m_Height: 63
|
||||
- m_X: 209
|
||||
m_Y: 101
|
||||
m_Width: 814
|
||||
m_Height: 145
|
||||
m_FontFeatureTable:
|
||||
m_MultipleSubstitutionRecords: []
|
||||
m_LigatureSubstitutionRecords: []
|
||||
m_GlyphPairAdjustmentRecords: []
|
||||
m_MarkToBaseAdjustmentRecords: []
|
||||
m_MarkToMarkAdjustmentRecords: []
|
||||
m_ShouldReimportFontFeatures: 0
|
||||
m_FallbackFontAssetTable: []
|
||||
m_FontWeightTable:
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
- regularTypeface: {fileID: 0}
|
||||
italicTypeface: {fileID: 0}
|
||||
fontWeights: []
|
||||
normalStyle: 0
|
||||
normalSpacingOffset: 0
|
||||
boldStyle: 0.75
|
||||
boldSpacing: 7
|
||||
italicStyle: 35
|
||||
tabSize: 10
|
||||
m_fontInfo:
|
||||
Name:
|
||||
PointSize: 0
|
||||
Scale: 0
|
||||
CharacterCount: 0
|
||||
LineHeight: 0
|
||||
Baseline: 0
|
||||
Ascender: 0
|
||||
CapHeight: 0
|
||||
Descender: 0
|
||||
CenterLine: 0
|
||||
SuperscriptOffset: 0
|
||||
SubscriptOffset: 0
|
||||
SubSize: 0
|
||||
Underline: 0
|
||||
UnderlineThickness: 0
|
||||
strikethrough: 0
|
||||
strikethroughThickness: 0
|
||||
TabWidth: 0
|
||||
Padding: 0
|
||||
AtlasWidth: 0
|
||||
AtlasHeight: 0
|
||||
m_glyphInfoList: []
|
||||
m_KerningTable:
|
||||
kerningPairs: []
|
||||
fallbackFontAssets: []
|
||||
atlas: {fileID: 0}
|
||||
--- !u!28 &688428377202190775
|
||||
Texture2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SOUTHGHETTO Atlas
|
||||
m_ImageContentsHash:
|
||||
serializedVersion: 2
|
||||
Hash: 00000000000000000000000000000000
|
||||
m_IsAlphaChannelOptional: 0
|
||||
serializedVersion: 4
|
||||
m_Width: 1024
|
||||
m_Height: 1024
|
||||
m_CompleteImageSize: 1048576
|
||||
m_MipsStripped: 0
|
||||
m_TextureFormat: 1
|
||||
m_MipCount: 1
|
||||
m_IsReadable: 1
|
||||
m_IsPreProcessed: 0
|
||||
m_IgnoreMipmapLimit: 1
|
||||
m_MipmapLimitGroupName:
|
||||
m_StreamingMipmaps: 0
|
||||
m_StreamingMipmapsPriority: 0
|
||||
m_VTOnly: 0
|
||||
m_AlphaIsTransparency: 0
|
||||
m_ImageCount: 1
|
||||
m_TextureDimension: 2
|
||||
m_TextureSettings:
|
||||
serializedVersion: 2
|
||||
m_FilterMode: 1
|
||||
m_Aniso: 1
|
||||
m_MipBias: 0
|
||||
m_WrapU: 0
|
||||
m_WrapV: 0
|
||||
m_WrapW: 0
|
||||
m_LightmapFormat: 0
|
||||
m_ColorSpace: 1
|
||||
m_PlatformBlob:
|
||||
image data: 1048576
|
||||
_typelessdata: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a131313131313131313131313131212121212121212121212121212121212121212110f0d0a0706040100000000000000000000000000000000000000000000000000000407090a1313131313131313131313130e0d0b07030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000407090a13131313131313131313131311070604000000000000000000000000000000000001070b0f111213131313131313131313131313120f0a05000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020201f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1e1e1c1a171413110d080100000000000000000000000000000000000000000000050b101416172020202020202020202020201a1a17130e08010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050b101416172020202020202020202020201e1413100c070100000000000000000000000000050c12171b1d1e202020202020202020202020201e1b16100901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Line truncated
|
||||
m_StreamData:
|
||||
serializedVersion: 2
|
||||
offset: 0
|
||||
size: 0
|
||||
path:
|
||||
--- !u!21 &1091306912205572362
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SOUTHGHETTO Atlas Material
|
||||
m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, 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: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _Cube:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _FaceTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 688428377202190775}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OutlineTex:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _Ambient: 0.5
|
||||
- _Bevel: 0.5
|
||||
- _BevelClamp: 0
|
||||
- _BevelOffset: 0
|
||||
- _BevelRoundness: 0
|
||||
- _BevelWidth: 0
|
||||
- _BumpFace: 0
|
||||
- _BumpOutline: 0
|
||||
- _ColorMask: 15
|
||||
- _CullMode: 0
|
||||
- _Diffuse: 0.5
|
||||
- _FaceDilate: 0
|
||||
- _FaceUVSpeedX: 0
|
||||
- _FaceUVSpeedY: 0
|
||||
- _GlowInner: 0.05
|
||||
- _GlowOffset: 0
|
||||
- _GlowOuter: 0.05
|
||||
- _GlowPower: 0.75
|
||||
- _GradientScale: 10
|
||||
- _LightAngle: 3.1416
|
||||
- _MaskSoftnessX: 0
|
||||
- _MaskSoftnessY: 0
|
||||
- _OutlineSoftness: 0
|
||||
- _OutlineUVSpeedX: 0
|
||||
- _OutlineUVSpeedY: 0
|
||||
- _OutlineWidth: 0
|
||||
- _PerspectiveFilter: 0.875
|
||||
- _Reflectivity: 10
|
||||
- _ScaleRatioA: 0.9
|
||||
- _ScaleRatioB: 0.73125
|
||||
- _ScaleRatioC: 0.73125
|
||||
- _ScaleX: 1
|
||||
- _ScaleY: 1
|
||||
- _ShaderFlags: 0
|
||||
- _Sharpness: 0
|
||||
- _SpecularPower: 2
|
||||
- _Stencil: 0
|
||||
- _StencilComp: 8
|
||||
- _StencilOp: 0
|
||||
- _StencilReadMask: 255
|
||||
- _StencilWriteMask: 255
|
||||
- _TextureHeight: 1024
|
||||
- _TextureWidth: 1024
|
||||
- _UnderlayDilate: 0
|
||||
- _UnderlayOffsetX: 0
|
||||
- _UnderlayOffsetY: 0
|
||||
- _UnderlaySoftness: 0
|
||||
- _VertexOffsetX: 0
|
||||
- _VertexOffsetY: 0
|
||||
- _WeightBold: 0.75
|
||||
- _WeightNormal: 0
|
||||
m_Colors:
|
||||
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
|
||||
- _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _FaceColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
|
||||
- _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
|
||||
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c37e59bfd1d9cd5d083d88fcd9784d1f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 75793e520683ea032ace153b3040cf4e
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,170 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!29 &1
|
||||
OcclusionCullingSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_OcclusionBakeSettings:
|
||||
smallestOccluder: 5
|
||||
smallestHole: 0.25
|
||||
backfaceThreshold: 100
|
||||
m_SceneGUID: 00000000000000000000000000000000
|
||||
m_OcclusionCullingData: {fileID: 0}
|
||||
--- !u!104 &2
|
||||
RenderSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 10
|
||||
m_Fog: 0
|
||||
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
m_FogMode: 3
|
||||
m_FogDensity: 0.01
|
||||
m_LinearFogStart: 0
|
||||
m_LinearFogEnd: 300
|
||||
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
|
||||
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
|
||||
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
|
||||
m_AmbientIntensity: 1
|
||||
m_AmbientMode: 0
|
||||
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
|
||||
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_HaloStrength: 0.5
|
||||
m_FlareStrength: 1
|
||||
m_FlareFadeSpeed: 3
|
||||
m_HaloTexture: {fileID: 0}
|
||||
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_DefaultReflectionMode: 0
|
||||
m_DefaultReflectionResolution: 128
|
||||
m_ReflectionBounces: 1
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 13
|
||||
m_BakeOnSceneLoad: 0
|
||||
m_GISettings:
|
||||
serializedVersion: 2
|
||||
m_BounceScale: 1
|
||||
m_IndirectOutputScale: 1
|
||||
m_AlbedoBoost: 1
|
||||
m_EnvironmentLightingMode: 0
|
||||
m_EnableBakedLightmaps: 1
|
||||
m_EnableRealtimeLightmaps: 0
|
||||
m_LightmapEditorSettings:
|
||||
serializedVersion: 12
|
||||
m_Resolution: 2
|
||||
m_BakeResolution: 40
|
||||
m_AtlasSize: 1024
|
||||
m_AO: 0
|
||||
m_AOMaxDistance: 1
|
||||
m_CompAOExponent: 1
|
||||
m_CompAOExponentDirect: 0
|
||||
m_ExtractAmbientOcclusion: 0
|
||||
m_Padding: 2
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_LightmapsBakeMode: 1
|
||||
m_TextureCompression: 1
|
||||
m_ReflectionCompression: 2
|
||||
m_MixedBakeMode: 2
|
||||
m_BakeBackend: 1
|
||||
m_PVRSampling: 1
|
||||
m_PVRDirectSampleCount: 32
|
||||
m_PVRSampleCount: 512
|
||||
m_PVRBounces: 2
|
||||
m_PVREnvironmentSampleCount: 256
|
||||
m_PVREnvironmentReferencePointCount: 2048
|
||||
m_PVRFilteringMode: 1
|
||||
m_PVRDenoiserTypeDirect: 1
|
||||
m_PVRDenoiserTypeIndirect: 1
|
||||
m_PVRDenoiserTypeAO: 1
|
||||
m_PVRFilterTypeDirect: 0
|
||||
m_PVRFilterTypeIndirect: 0
|
||||
m_PVRFilterTypeAO: 0
|
||||
m_PVREnvironmentMIS: 1
|
||||
m_PVRCulling: 1
|
||||
m_PVRFilteringGaussRadiusDirect: 1
|
||||
m_PVRFilteringGaussRadiusIndirect: 5
|
||||
m_PVRFilteringGaussRadiusAO: 2
|
||||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
||||
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
||||
m_PVRFilteringAtrousPositionSigmaAO: 1
|
||||
m_ExportTrainingData: 0
|
||||
m_TrainingDataDestination: TrainingData
|
||||
m_LightProbeSampleCountMultiplier: 4
|
||||
m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_LightingSettings: {fileID: 0}
|
||||
--- !u!196 &4
|
||||
NavMeshSettings:
|
||||
serializedVersion: 2
|
||||
m_ObjectHideFlags: 0
|
||||
m_BuildSettings:
|
||||
serializedVersion: 3
|
||||
agentTypeID: 0
|
||||
agentRadius: 0.5
|
||||
agentHeight: 2
|
||||
agentSlope: 45
|
||||
agentClimb: 0.4
|
||||
ledgeDropHeight: 0
|
||||
maxJumpAcrossDistance: 0
|
||||
minRegionArea: 2
|
||||
manualCellSize: 0
|
||||
cellSize: 0.16666667
|
||||
manualTileSize: 0
|
||||
tileSize: 256
|
||||
buildHeightMesh: 0
|
||||
maxJobWorkers: 0
|
||||
preserveTilesOutsideBounds: 0
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &1253837927
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1253837929}
|
||||
- component: {fileID: 1253837928}
|
||||
m_Layer: 0
|
||||
m_Name: SceneScope
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1253837928
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1253837927}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3fd1482e4a9dee141aecc5bcd0a4f0f3, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Reflex::Reflex.Core.SceneScope
|
||||
--- !u!4 &1253837929
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1253837927}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
m_Roots:
|
||||
- {fileID: 1253837929}
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4ee6c9ddf0020bc978ffcb0af4b2464a
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in new issue
Block a user