Adjustments on entity motor top down movement

This commit is contained in:
Nilton Constantino 2026-06-06 18:28:52 +01:00
parent f9fe2728ca
commit d77137daab
No known key found for this signature in database
34 changed files with 3079 additions and 692 deletions

View File

@ -21,16 +21,13 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Sentinel Material
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _EMISSION
- _NORMALMAP
- _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
- _SPECULAR_SETUP
m_InvalidKeywords: []
m_LightmapFlags: 1
m_LightmapFlags: 0
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
@ -117,7 +114,7 @@ Material:
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _BumpScale: 10
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
@ -130,14 +127,18 @@ Material:
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossinessSource: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Shininess: 0
- _Smoothness: 0.5
- _SmoothnessSource: 0
- _SmoothnessTextureChannel: 1
- _SpecSource: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
@ -148,7 +149,7 @@ Material:
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 228.1516, g: 228.1516, b: 228.1516, a: 1}
- _EmissionColor: {r: 1367.1202, g: 1367.1202, b: 1367.1202, a: 1}
- _RendererColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

View File

@ -82,7 +82,7 @@ TextureImporter:
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 0
textureShape: 1

View File

@ -55,7 +55,7 @@ TextureImporter:
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 0
textureShape: 1

View File

@ -23,7 +23,7 @@ TextureImporter:
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
flipGreenChannel: 1
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0

View File

@ -147,7 +147,7 @@ ModelImporter:
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
- serializedVersion: 16
name: Dash Landing
name: Dash Window
takeName: Armature|Main
internalID: 9206814923105168154
firstFrame: 159

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: d574b2fb4661c408f80aa76c0182931f
guid: 5c8a8a6c8306f4c40bd077126851bad1
folderAsset: yes
DefaultImporter:
externalObjects: {}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 0ca531f654dad4a6ca8be40f93612d9e
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}
useAsTemplate: 0
exposeTemplateAsShader: 0
template:
name:
category:
description:
icon: {instanceID: 0}
thumbnail: {instanceID: 0}

View File

@ -0,0 +1,61 @@
%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: Shader Graphs_SG_TopLitSideDark
m_Shader: {fileID: -6465566751694194690, guid: 0ca531f654dad4a6ca8be40f93612d9e, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 2
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- 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:
- _Contrast: 1.5
- _QueueControl: 0
- _QueueOffset: 0
- _SideDarkness: 0.6
m_Colors:
- _BaseColor: {r: 0.33490568, g: 0.7151097, b: 1, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &1069900037742449899
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

View File

@ -1,8 +1,8 @@
fileFormatVersion: 2
guid: d03ed43fc9d8a4f2e9fa70c1c7916eb9
guid: 975923bfb406649b1b7bca5b9ec2e107
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,20 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-1717348154791255713
--- !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: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: Volume Profile
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Runtime::UnityEngine.Rendering.VolumeProfile
components:
- {fileID: 3286360137240461393}
--- !u!114 &3286360137240461393
MonoBehaviour:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
@ -18,12 +32,12 @@ MonoBehaviour:
m_Value: 1
threshold:
m_OverrideState: 1
m_Value: 0.9
m_Value: 1.2
intensity:
m_OverrideState: 1
m_Value: 1
scatter:
m_OverrideState: 0
m_OverrideState: 1
m_Value: 0.7
clamp:
m_OverrideState: 0
@ -50,17 +64,3 @@ MonoBehaviour:
dirtIntensity:
m_OverrideState: 0
m_Value: 0
--- !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: d7fd9488000d3734a9e00ee676215985, type: 3}
m_Name: Global Volume Profile
m_EditorClassIdentifier: Unity.RenderPipelines.Core.Runtime::UnityEngine.Rendering.VolumeProfile
components:
- {fileID: -1717348154791255713}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2e1579fd5ab0247628cf5c3792c820cf
guid: 5a07886568c8d44b28859087b64b3a5e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000

View File

@ -0,0 +1,26 @@
namespace Intrepid.Core.Entities
{
public readonly struct EntityMotorMoveOptions
{
public readonly bool KeepHeightWhenNoGround;
public readonly bool ProjectGapHeightFromLastGround;
public EntityMotorMoveOptions(
bool keepHeightWhenNoGround,
bool projectGapHeightFromLastGround)
{
KeepHeightWhenNoGround = keepHeightWhenNoGround;
ProjectGapHeightFromLastGround = projectGapHeightFromLastGround;
}
public static EntityMotorMoveOptions Default => new(
keepHeightWhenNoGround: false,
projectGapHeightFromLastGround: false
);
public static EntityMotorMoveOptions GapCrossing => new(
keepHeightWhenNoGround: true,
projectGapHeightFromLastGround: true
);
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 84fad08c87db4a53adb0f33ce76ee101
timeCreated: 1780764840

View File

@ -19,27 +19,110 @@ namespace Intrepid.Core.Entities
public float MaxSlopeAngle => maxSlopeAngle;
private RaycastHit _groundHit;
private bool _hasLastWalkableGround;
private Plane _lastGroundPlane;
public void Move(Rigidbody body, Vector3 velocity)
// public void Move(
// Rigidbody body,
// Vector3 velocity,
// float deltaTime,
// EntityMotorMoveOptions options)
// {
// var delta = velocity * deltaTime;
//
// var current = body.position;
// var next = current + delta;
//
// if (HasWalkableGroundAt(next, out _groundHit))
// {
// next.y = _groundHit.point.y + groundOffset;
//
// _lastGroundPlane = new Plane(_groundHit.normal, _groundHit.point);
// _hasLastWalkableGround = true;
// }
// else if (options.CanCrossGaps)
// {
// if (options.ProjectGapHeightFromLastGround &&
// TryProjectOnLastGroundPlane(next, out var projectedY))
// {
// next.y = projectedY + groundOffset;
// }
// else
// {
// next.y = current.y;
// }
// }
// else
// {
// next = current;
// }
//
// body.linearVelocity = Vector3.zero;
// body.angularVelocity = Vector3.zero;
// body.MovePosition(next);
// }
public void Move(
Rigidbody body,
Vector3 velocity,
float deltaTime,
EntityMotorMoveOptions options)
{
var delta = velocity * Time.fixedDeltaTime;
var delta = velocity * deltaTime;
var current = body.position;
var next = current + delta;
if (TryGetGroundAt(next, out _groundHit) && IsWalkable(_groundHit.normal))
if (HasWalkableGroundAt(next, out _groundHit))
{
next.y = _groundHit.point.y + groundOffset;
}
else
else if (options.KeepHeightWhenNoGround)
{
next.y = current.y;
}
else
{
next = current;
}
body.linearVelocity = Vector3.zero;
body.angularVelocity = Vector3.zero;
body.MovePosition(next);
}
// private bool TryProjectOnLastGroundPlane(Vector3 position, out float y)
// {
// y = position.y;
//
// if (!_hasLastWalkableGround)
// {
// return false;
// }
//
// var ray = new Ray(
// position + Vector3.up * groundCheckHeight,
// Vector3.down
// );
//
// if (!_lastGroundPlane.Raycast(ray, out var enter))
// {
// return false;
// }
//
// y = ray.GetPoint(enter).y;
// return true;
// }
public bool HasWalkableGroundAt(Vector3 position, out RaycastHit hit)
{
if (!TryGetGroundAt(position, out hit))
{
return false;
}
return IsWalkable(hit.normal);
}
private bool TryGetGroundAt(Vector3 position, out RaycastHit hit)
{

View File

@ -9,6 +9,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel
[GroupDebug, SerializeField] private int dashCounter;
public int DashCounter => dashCounter;
public bool IsDashing => dashCounter > 0;
public void DashCounterInc()
{

View File

@ -18,6 +18,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel
private Vector3 _desiredForward = Vector3.forward;
private Vector3 _intendedDesiredVelocity = Vector3.zero;
protected SentinelBrain Brain => EntityBrain as SentinelBrain;
private Rigidbody UnityRigidbody => unityRigidbody;
private EntityMotorSmoothRotation MotorSmoothRotation => motorSmoothRotation;
public EntityMotorPhysicsContact MotorPhysicsContact => motorPhysicsContact;
@ -61,7 +62,10 @@ namespace Intrepid.Gameplay.Entities.Sentinel
base.FixedUpdateFromUpdatable();
_intendedDesiredVelocity = new Vector3(DesiredVelocity.x, 0, DesiredVelocity.y);
LinearVelocity = MotorPhysicsContact.AdjustVelocityByContacts(DesiredVelocity);
MotorTopDown.Move(UnityRigidbody, LinearVelocity);
var moveOptions = Brain.Controls.IsDashing
? EntityMotorMoveOptions.GapCrossing
: EntityMotorMoveOptions.Default;
MotorTopDown.Move(UnityRigidbody, LinearVelocity, Time.fixedDeltaTime, moveOptions);
MotorPhysicsContact.ResetContactCounter();
}

View File

@ -11,7 +11,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel
Run = 30,
Dash = 40,
DashLanding = 41,
DashWindow = 41,
DashBreaking = 42,
Knockdown = 80,

View File

@ -9,9 +9,11 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
{
[GroupConfigurations, SerializeField] private AnimationClip dash;
[GroupConfigurations, SerializeField, Range(0, 100)] private float speed = 35;
[GroupConfigurations, SerializeField, Range(0, 10)] private float targetTime = .125f;
[GroupConfigurations, SerializeField, Range(0, 500)] private float targetTimeMS = 100f;
public float TargetTime => targetTimeMS * 0.001f;
private Timer Timer { get; } = new();
private Timer Timer { get; } = new();
public override SentinelStateType GetStateKey()
{
@ -43,11 +45,11 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
{
if (Timer.IsNotRunning)
{
Brain.ChangeState(SentinelStateType.DashLanding);
Brain.ChangeState(SentinelStateType.DashWindow);
return;
}
Timer.Update(Time.deltaTime);
if (Timer.Check(targetTime))
if (Timer.Check(TargetTime))
{
Timer.Stop();
return;

View File

@ -7,11 +7,12 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
public class SentinelStateDashBreaking : SentinelState
{
[GroupConfigurations, SerializeField] private AnimationClip dashBreaking;
[GroupConfigurations, SerializeField, Range(5, 30)] private float speed = 5;
[GroupConfigurations, SerializeField, Range(0, 2)] private float extraTime = 0.4f;
[GroupConfigurations, SerializeField, Range(5, 30)] private float speed = 10;
[GroupConfigurations, SerializeField, Range(0, 500)] private float extraTimeMS = 300f;
[GroupConfigurations, SerializeField] private AnimationCurve speedCurve;
private Timer Timer { get; } = new();
private float ExtraTime => extraTimeMS * 0.001f;
public override SentinelStateType GetStateKey()
{
@ -52,9 +53,9 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
if (Timer.IsNotRunning) return;
Timer.Update(Time.deltaTime);
var evaluation = speedCurve.Evaluate((float) Timer.ElapsedTime / extraTime);
var evaluation = speedCurve.Evaluate((float) Timer.ElapsedTime / ExtraTime);
Brain.Entity.DesiredVelocity = Brain.Entity.Forward * (speed * evaluation);
if (Timer.Check(extraTime))
if (Timer.Check(ExtraTime))
{
Timer.Stop();
Brain.ChangeState(SentinelStateType.Idle);

View File

@ -6,16 +6,17 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
{
public class SentinelStateDashLanding : SentinelState
{
[GroupConfigurations, SerializeField] private AnimationClip dashLanding;
[GroupConfigurations, SerializeField, Range(0, 30)] private float speed = 15;
[GroupConfigurations, SerializeField, Range(0, 10)] private float targetTime = .2f;
[GroupConfigurations, SerializeField] private AnimationClip dashWindow;
[GroupConfigurations, SerializeField, Range(0, 30)] private float speed = 10;
[GroupConfigurations, SerializeField, Range(0, 500)] private float targetTimeMS = 150f;
[GroupConfigurations, SerializeField, Range(15, 90)] private float dashMaxAngleFromForward = 60f;
private Timer Timer { get; } = new();
private float TargetTime => targetTimeMS * 0.001f;
public override SentinelStateType GetStateKey()
{
return SentinelStateType.DashLanding;
return SentinelStateType.DashWindow;
}
protected override void Subscriptions()
@ -24,7 +25,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
protected override void RunOnEnter(ParameterStore parameterStore)
{
Brain.Entity.ModelAnimation.Play(dashLanding);
Brain.Entity.ModelAnimation.Play(dashWindow);
Timer.Start();
}
@ -49,7 +50,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
return;
}
Timer.Update(Time.deltaTime);
if (Timer.Check(targetTime))
if (Timer.Check(TargetTime))
{
Timer.Stop();
return;

View File

@ -7,6 +7,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
public class SentinelStateIdle : SentinelState
{
[GroupConfigurations, SerializeField] private AnimationClip idle;
[GroupConfigurations, SerializeField, Range(0, 10)] private float animationSpeed = 1.2f;
private Vector2 Movement { get; set; }
@ -22,7 +23,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
protected override void RunOnEnter(ParameterStore parameterStore)
{
Brain.Controls.ResetDash();
Brain.Entity.ModelAnimation.CrossFade(idle, 0.2f);
Brain.Entity.ModelAnimation.CrossFade(idle, 0.2f, animationSpeed);
Brain.Entity.DesiredVelocity = Vector2.zero;
}

View File

@ -8,6 +8,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
{
[GroupConfigurations, SerializeField] private AnimationClip run;
[GroupConfigurations, SerializeField, Range(0, 100)] private float speed = 10;
[GroupConfigurations, SerializeField, Range(0, 10)] private float animationSpeed = 1.2f;
private Vector2 Movement { get; set; }
@ -22,7 +23,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
protected override void RunOnEnter(ParameterStore parameterStore)
{
Brain.Entity.ModelAnimation.CrossFade(run, 0.1f);
Brain.Entity.ModelAnimation.CrossFade(run, 0.1f, animationSpeed);
}
protected override void RunOnExit()

View File

@ -8,6 +8,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
{
[GroupConfigurations, SerializeField] private AnimationClip walk;
[GroupConfigurations, SerializeField, Range(0, 100)] private float speed = 5;
[GroupConfigurations, SerializeField, Range(0, 100)] private float animationSpeed = 3;
private Vector2 Movement { get; set; }
@ -22,7 +23,7 @@ namespace Intrepid.Gameplay.Entities.Sentinel.StateMachine.States
protected override void RunOnEnter(ParameterStore parameterStore)
{
Brain.Entity.ModelAnimation.CrossFade(walk, 0.15f);
Brain.Entity.ModelAnimation.CrossFade(walk, 0.15f, animationSpeed);
}
protected override void RunOnExit()

View File

@ -309,7 +309,7 @@ MonoBehaviour:
m_Value: 0.9
intensity:
m_OverrideState: 1
m_Value: 0
m_Value: 1
scatter:
m_OverrideState: 1
m_Value: 0.7

File diff suppressed because one or more lines are too long

View File

@ -1,350 +0,0 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.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: 3
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 0
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_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 0
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 500
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 0
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
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
accuratePlacement: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &519420028
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 519420032}
- component: {fileID: 519420031}
- component: {fileID: 519420029}
- component: {fileID: 519420030}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &519420029
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 519420028}
m_Enabled: 1
--- !u!114 &519420030
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 519420028}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
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_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
--- !u!20 &519420031
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 519420028}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 34
orthographic: 1
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: 0
m_HDR: 1
m_AllowMSAA: 0
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 0
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &519420032
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 519420028}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &619394800
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 619394802}
- component: {fileID: 619394801}
m_Layer: 0
m_Name: Global Light 2D
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &619394801
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 619394800}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 073797afb82c5a1438f328866b10b3f0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ComponentVersion: 1
m_LightType: 4
m_BlendStyleIndex: 0
m_FalloffIntensity: 0.5
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Intensity: 1
m_LightVolumeIntensity: 1
m_LightVolumeIntensityEnabled: 0
m_ApplyToSortingLayers: 00000000
m_LightCookieSprite: {fileID: 0}
m_DeprecatedPointLightCookieSprite: {fileID: 0}
m_LightOrder: 0
m_OverlapOperation: 0
m_NormalMapDistance: 3
m_NormalMapQuality: 2
m_UseNormalMap: 0
m_ShadowIntensityEnabled: 0
m_ShadowIntensity: 0.75
m_ShadowVolumeIntensityEnabled: 0
m_ShadowVolumeIntensity: 0.75
m_Vertices:
- position: {x: 0.9985302, y: 0.9985302, z: 0}
color: {r: 0.70710677, g: 0.70710677, b: 0, a: 0}
uv: {x: 0, y: 0}
- position: {x: 0.9985302, y: 0.9985302, z: 0}
color: {r: 0, g: 0, b: 0, a: 1}
uv: {x: 0, y: 0}
- position: {x: -0.9985302, y: 0.9985302, z: 0}
color: {r: -0.70710677, g: 0.70710677, b: 0, a: 0}
uv: {x: 0, y: 0}
- position: {x: -0.9985302, y: 0.9985302, z: 0}
color: {r: 0, g: 0, b: 0, a: 1}
uv: {x: 0, y: 0}
- position: {x: -0.99853003, y: -0.9985304, z: 0}
color: {r: -0.70710665, g: -0.7071069, b: 0, a: 0}
uv: {x: 0, y: 0}
- position: {x: -0.99853003, y: -0.9985304, z: 0}
color: {r: 0, g: 0, b: 0, a: 1}
uv: {x: 0, y: 0}
- position: {x: 0.99853003, y: -0.9985304, z: 0}
color: {r: 0.70710665, g: -0.7071069, b: 0, a: 0}
uv: {x: 0, y: 0}
- position: {x: 0.99853003, y: -0.9985304, z: 0}
color: {r: 0, g: 0, b: 0, a: 1}
uv: {x: 0, y: 0}
- position: {x: 0, y: 0, z: 0}
color: {r: 0, g: 0, b: 0, a: 1}
uv: {x: 0, y: 0}
m_Triangles: 030001000800020000000100030002000100050003000800040002000300050004000300070005000800060004000500070006000500010007000800000006000700010000000700
m_LocalBounds:
m_Center: {x: 0, y: -0.00000011920929, z: 0}
m_Extent: {x: 0.9985302, y: 0.99853027, z: 0}
m_PointLightInnerAngle: 360
m_PointLightOuterAngle: 360
m_PointLightInnerRadius: 0
m_PointLightOuterRadius: 1
m_ShapeLightParametricSides: 5
m_ShapeLightParametricAngleOffset: 0
m_ShapeLightParametricRadius: 1
m_ShapeLightFalloffSize: 0.5
m_ShapeLightFalloffOffset: {x: 0, y: 0}
m_ShapePath:
- {x: -0.5, y: -0.5, z: 0}
- {x: 0.5, y: -0.5, z: 0}
- {x: 0.5, y: 0.5, z: 0}
- {x: -0.5, y: 0.5, z: 0}
--- !u!4 &619394802
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 619394800}
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_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 2cda990e2423bbf4892e6590ba056729
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -24,8 +24,8 @@ MonoBehaviour:
m_OpaqueDownsampling: 1
m_SupportsTerrainHoles: 1
m_SupportsHDR: 1
m_HDRColorBufferPrecision: 0
m_MSAA: 1
m_HDRColorBufferPrecision: 1
m_MSAA: 2
m_RenderScale: 1
m_UpscalingFilter: 0
m_FsrOverrideSharpness: 0
@ -53,7 +53,7 @@ MonoBehaviour:
m_AdditionalLightsShadowResolutionTierHigh: 2048
m_ReflectionProbeBlending: 0
m_ReflectionProbeBoxProjection: 0
m_ReflectionProbeAtlas: 1
m_ReflectionProbeAtlas: 0
m_ShadowDistance: 50
m_ShadowCascadeCount: 1
m_Cascade2Split: 0.25
@ -92,7 +92,7 @@ MonoBehaviour:
m_MaxPixelLights: 0
m_ShadowAtlasResolution: 256
m_VolumeFrameworkUpdateMode: 0
m_VolumeProfile: {fileID: 0}
m_VolumeProfile: {fileID: 11400000, guid: 3f9215ea0144899419cfbc0957140d3f, type: 2}
apvScenesData:
obsoleteSceneBounds:
m_Keys: []

View File

@ -37,7 +37,7 @@ GraphicsSettings:
m_PreloadedShaders: []
m_PreloadShadersBatchTimeLimit: -1
m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_CustomRenderPipeline: {fileID: 0}
m_CustomRenderPipeline: {fileID: 11400000, guid: 681886c5eb7344803b6206f758bf0b1c, type: 2}
m_TransparencySortMode: 0
m_TransparencySortAxis: {x: 0, y: 0, z: 1}
m_DefaultRenderingPath: 1

View File

@ -6,7 +6,7 @@ QualitySettings:
serializedVersion: 5
m_CurrentQuality: 0
m_QualitySettings:
- serializedVersion: 4
- serializedVersion: 5
name: Very Low
pixelLightCount: 0
shadows: 0
@ -22,7 +22,7 @@ QualitySettings:
globalTextureMipmapLimit: 1
textureMipmapLimitSettings: []
anisotropicTextures: 0
antiAliasing: 0
antiAliasing: 2
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
@ -34,6 +34,7 @@ QualitySettings:
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 0.3
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
@ -58,7 +59,7 @@ QualitySettings:
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 4
- serializedVersion: 5
name: Low
pixelLightCount: 0
shadows: 0
@ -86,6 +87,7 @@ QualitySettings:
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 0.4
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
@ -110,7 +112,7 @@ QualitySettings:
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 4
- serializedVersion: 5
name: Medium
pixelLightCount: 1
shadows: 1
@ -138,6 +140,7 @@ QualitySettings:
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 0.7
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
@ -162,7 +165,7 @@ QualitySettings:
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 4
- serializedVersion: 5
name: High
pixelLightCount: 2
shadows: 2
@ -190,6 +193,7 @@ QualitySettings:
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 1
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
@ -214,7 +218,7 @@ QualitySettings:
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 4
- serializedVersion: 5
name: Very High
pixelLightCount: 3
shadows: 2
@ -242,6 +246,7 @@ QualitySettings:
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 1.5
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
@ -266,7 +271,7 @@ QualitySettings:
terrainFadeLength: 5
terrainMaxTrees: 50
excludedTargetPlatforms: []
- serializedVersion: 4
- serializedVersion: 5
name: Ultra
pixelLightCount: 4
shadows: 2
@ -294,6 +299,7 @@ QualitySettings:
adaptiveVsyncExtraA: 0
adaptiveVsyncExtraB: 0
lodBias: 2
meshLodThreshold: 1
maximumLODLevel: 0
enableLODCrossFade: 1
streamingMipmapsActive: 0
@ -325,6 +331,7 @@ QualitySettings:
GameCoreXboxOne: 5
Lumin: 5
Nintendo Switch: 5
Nintendo Switch 2: 5
PS4: 5
PS5: 5
Stadia: 5

View File

@ -2,13 +2,13 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!78 &1
TagManager:
serializedVersion: 2
serializedVersion: 3
tags: []
layers:
- Default
- TransparentFX
- Ignore Raycast
-
- Player
- Water
- UI
-
@ -36,8 +36,10 @@ TagManager:
-
-
-
-
- Ground
m_SortingLayers:
- name: Default
uniqueID: 0
locked: 0
m_RenderingLayers:
- Default