Material 최적화 및 플레이어 이동 로직 수정 중
+ MaterialPropertyBlock 사용 금지 -> Material Instance 방식으로 변경 (MaterialPropertyBlock은 URP프로젝트 중 SRP Batcher를 사용하는 경우 비추천 방식) + 플레이어 이동 방식 velocity 형태로 변경 중
This commit is contained in:
parent
74c2a14855
commit
54582acbf4
@ -71,8 +71,15 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
base.InitializeComponents();
|
base.InitializeComponents();
|
||||||
|
|
||||||
SpriteRenderer = VisualLook.GetComponent<SpriteRenderer>();
|
SpriteRenderer = VisualLook.GetComponent<SpriteRenderer>();
|
||||||
|
SpriteRenderer.enabled = false;
|
||||||
Animator = VisualLook.GetComponent<Animator>();
|
Animator = VisualLook.GetComponent<Animator>();
|
||||||
AnimationController = GetComponent<AnimationController>();
|
AnimationController = GetComponent<AnimationController>();
|
||||||
|
|
||||||
|
MaterialInstance = Instantiate(SpriteRenderer.material);
|
||||||
|
SpriteRenderer.material = MaterialInstance;
|
||||||
|
|
||||||
|
BossHealthPoint.SetMaterialInstance(MaterialInstance);
|
||||||
|
IsInitialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -84,26 +91,23 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
{
|
{
|
||||||
if (!IsDissolveActive)
|
if (!IsDissolveActive)
|
||||||
{
|
{
|
||||||
MaterialPropertyBlock.SetFloat(_dissolveValueHash, end);
|
MaterialInstance.SetFloat(_dissolveValueHash, end);
|
||||||
SpriteRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
|
|
||||||
MaterialPropertyBlock.SetFloat(_dissolveValueHash, start);
|
MaterialInstance.SetFloat(_dissolveValueHash, start);
|
||||||
SpriteRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
SpriteRenderer.enabled = true;
|
||||||
|
|
||||||
var elapsedTime = 0f;
|
var elapsedTime = 0f;
|
||||||
while (elapsedTime <= dissolveTime)
|
while (elapsedTime <= dissolveTime)
|
||||||
{
|
{
|
||||||
var value = Mathf.Lerp(start, end, elapsedTime / dissolveTime);
|
var value = Mathf.Lerp(start, end, elapsedTime / dissolveTime);
|
||||||
MaterialPropertyBlock.SetFloat(_dissolveValueHash, value);
|
MaterialInstance.SetFloat(_dissolveValueHash, value);
|
||||||
SpriteRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
|
||||||
elapsedTime += Time.deltaTime;
|
elapsedTime += Time.deltaTime;
|
||||||
yield return null;
|
yield return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
MaterialPropertyBlock.SetFloat(_dissolveValueHash, end);
|
MaterialInstance.SetFloat(_dissolveValueHash, end);
|
||||||
SpriteRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FlipVisualLook()
|
private void FlipVisualLook()
|
||||||
|
@ -4,7 +4,6 @@ using BlueWater.Interfaces;
|
|||||||
using Pathfinding;
|
using Pathfinding;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Serialization;
|
|
||||||
|
|
||||||
namespace BlueWater.Enemies.Bosses
|
namespace BlueWater.Enemies.Bosses
|
||||||
{
|
{
|
||||||
@ -38,7 +37,7 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
SpikeBarrage
|
SpikeBarrage
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class Boss : MonoBehaviour, ITarget
|
public abstract class Boss : MonoBehaviour, ITarget, IMaterialInstance
|
||||||
{
|
{
|
||||||
// Variables
|
// Variables
|
||||||
#region Variables
|
#region Variables
|
||||||
@ -77,7 +76,7 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
public Collider Target { get; protected set; }
|
public Collider Target { get; protected set; }
|
||||||
|
|
||||||
public IAstarAI AstarAi;
|
public IAstarAI AstarAi;
|
||||||
protected MaterialPropertyBlock MaterialPropertyBlock;
|
public Material MaterialInstance { get; protected set; }
|
||||||
|
|
||||||
[Title("디졸브 스폰 효과")]
|
[Title("디졸브 스폰 효과")]
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
@ -88,6 +87,8 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
protected float DieDissolveTime = 1f;
|
protected float DieDissolveTime = 1f;
|
||||||
|
|
||||||
|
protected bool IsInitialized;
|
||||||
|
|
||||||
// Hashes
|
// Hashes
|
||||||
protected static readonly int _dissolveValueHash = Shader.PropertyToID("_DissolveValue");
|
protected static readonly int _dissolveValueHash = Shader.PropertyToID("_DissolveValue");
|
||||||
@ -153,9 +154,6 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
BossSkillController = GetComponent<BossSkillController>();
|
BossSkillController = GetComponent<BossSkillController>();
|
||||||
|
|
||||||
AstarAi = GetComponent<IAstarAI>();
|
AstarAi = GetComponent<IAstarAI>();
|
||||||
|
|
||||||
MaterialPropertyBlock = new MaterialPropertyBlock();
|
|
||||||
BossHealthPoint.SetMaterialPropertyBlock(MaterialPropertyBlock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -16,9 +16,6 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
[SerializeField]
|
[SerializeField]
|
||||||
private CapsuleCollider _characterCollider;
|
private CapsuleCollider _characterCollider;
|
||||||
|
|
||||||
[SerializeField]
|
|
||||||
private Renderer _renderer;
|
|
||||||
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Transform _particleInstantiateLocation;
|
private Transform _particleInstantiateLocation;
|
||||||
|
|
||||||
@ -49,6 +46,7 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
[SerializeField]
|
[SerializeField]
|
||||||
private ParticleSystem _dieParticle;
|
private ParticleSystem _dieParticle;
|
||||||
|
|
||||||
|
private Material _materialInstance;
|
||||||
private FieldBossHealthPointUi _fieldBossHealthPointUi;
|
private FieldBossHealthPointUi _fieldBossHealthPointUi;
|
||||||
private WaitForSeconds _flashWhiteWaitTime;
|
private WaitForSeconds _flashWhiteWaitTime;
|
||||||
private Coroutine _flashWhiteCoroutine;
|
private Coroutine _flashWhiteCoroutine;
|
||||||
@ -56,7 +54,6 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
|
|
||||||
private bool _enableHealthChangedEvent;
|
private bool _enableHealthChangedEvent;
|
||||||
private string _bossName;
|
private string _bossName;
|
||||||
private MaterialPropertyBlock _materialPropertyBlock;
|
|
||||||
|
|
||||||
// Hashes
|
// Hashes
|
||||||
private static readonly int _isHitHash = Shader.PropertyToID("_IsHit");
|
private static readonly int _isHitHash = Shader.PropertyToID("_IsHit");
|
||||||
@ -89,7 +86,6 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
_characterCollider = GetComponent<CapsuleCollider>();
|
_characterCollider = GetComponent<CapsuleCollider>();
|
||||||
_renderer = GetComponentInChildren<Renderer>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Initialize(bool enableHealthChangedEvent, int maxHealthPoint, string bossName, Transform particleInstantiateLocation = null)
|
public void Initialize(bool enableHealthChangedEvent, int maxHealthPoint, string bossName, Transform particleInstantiateLocation = null)
|
||||||
@ -179,13 +175,11 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
|
|
||||||
private IEnumerator FlashWhiteCoroutine()
|
private IEnumerator FlashWhiteCoroutine()
|
||||||
{
|
{
|
||||||
_materialPropertyBlock.SetInteger(_isHitHash, 1);
|
_materialInstance.SetInt(_isHitHash, 1);
|
||||||
_renderer.SetPropertyBlock(_materialPropertyBlock);
|
|
||||||
|
|
||||||
yield return _flashWhiteWaitTime;
|
yield return _flashWhiteWaitTime;
|
||||||
|
|
||||||
_materialPropertyBlock.SetInteger(_isHitHash, 0);
|
_materialInstance.SetInt(_isHitHash, 0);
|
||||||
_renderer.SetPropertyBlock(_materialPropertyBlock);
|
|
||||||
|
|
||||||
Utils.EndUniqueCoroutine(this, ref _flashWhiteCoroutine);
|
Utils.EndUniqueCoroutine(this, ref _flashWhiteCoroutine);
|
||||||
}
|
}
|
||||||
@ -196,6 +190,6 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
Utils.EndUniqueCoroutine(this, ref _damageIntervalCoroutine);
|
Utils.EndUniqueCoroutine(this, ref _damageIntervalCoroutine);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetMaterialPropertyBlock(MaterialPropertyBlock materialPropertyBlock) => _materialPropertyBlock = materialPropertyBlock;
|
public void SetMaterialInstance(Material materialInstance) => _materialInstance = materialInstance;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -51,6 +51,7 @@ namespace BlueWater.Enemies.Bosses.Rhinoceros
|
|||||||
SetMoveSpeed(RhinocerosData.MoveSpeed);
|
SetMoveSpeed(RhinocerosData.MoveSpeed);
|
||||||
StopMove();
|
StopMove();
|
||||||
|
|
||||||
|
yield return IsInitialized;
|
||||||
yield return StartCoroutine(DissolveCoroutine(0f, 1f, SpawnDissolveTime));
|
yield return StartCoroutine(DissolveCoroutine(0f, 1f, SpawnDissolveTime));
|
||||||
|
|
||||||
BehaviorTree.EnableBehavior();
|
BehaviorTree.EnableBehavior();
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using BlueWater.Audios;
|
using BlueWater.Audios;
|
||||||
using Sirenix.OdinInspector;
|
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace BlueWater.Enemies.Bosses.SandMole
|
namespace BlueWater.Enemies.Bosses.SandMole
|
||||||
@ -24,6 +23,7 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
|||||||
SetMoveSpeed(SandMoleData.MoveSpeed);
|
SetMoveSpeed(SandMoleData.MoveSpeed);
|
||||||
StopMove();
|
StopMove();
|
||||||
|
|
||||||
|
yield return IsInitialized;
|
||||||
yield return StartCoroutine(DissolveCoroutine(0f, 1f, SpawnDissolveTime));
|
yield return StartCoroutine(DissolveCoroutine(0f, 1f, SpawnDissolveTime));
|
||||||
|
|
||||||
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
|
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
|
||||||
|
@ -108,7 +108,8 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
|||||||
BossSkillController.Initialize(BossData.SkillDataList);
|
BossSkillController.Initialize(BossData.SkillDataList);
|
||||||
SetMoveSpeed(SandMoleData.MoveSpeed);
|
SetMoveSpeed(SandMoleData.MoveSpeed);
|
||||||
StopMove();
|
StopMove();
|
||||||
|
|
||||||
|
yield return IsInitialized;
|
||||||
yield return StartCoroutine(DissolveCoroutine(0f, 1f, SpawnDissolveTime));
|
yield return StartCoroutine(DissolveCoroutine(0f, 1f, SpawnDissolveTime));
|
||||||
|
|
||||||
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
|
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using BlueWater.Interfaces;
|
using BlueWater.Interfaces;
|
||||||
using BlueWater.Players;
|
using BlueWater.Players;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
|
using Spine.Unity;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace BlueWater.Enemies.Bosses
|
namespace BlueWater.Enemies.Bosses
|
||||||
@ -39,6 +40,19 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
// Unity events
|
// Unity events
|
||||||
#region Unity events
|
#region Unity events
|
||||||
|
|
||||||
|
protected override void Start()
|
||||||
|
{
|
||||||
|
base.Start();
|
||||||
|
|
||||||
|
var originalMaterial = SpineController.SkeletonAnimation.SkeletonDataAsset.atlasAssets[0].PrimaryMaterial;
|
||||||
|
var newMaterial = SpineController.SkeletonAnimation.CustomMaterialOverride[originalMaterial];
|
||||||
|
MaterialInstance = Instantiate(newMaterial);
|
||||||
|
SpineController.SkeletonAnimation.CustomMaterialOverride[originalMaterial] = MaterialInstance;
|
||||||
|
|
||||||
|
BossHealthPoint.SetMaterialInstance(MaterialInstance);
|
||||||
|
IsInitialized = true;
|
||||||
|
}
|
||||||
|
|
||||||
protected override void Update()
|
protected override void Update()
|
||||||
{
|
{
|
||||||
base.Update();
|
base.Update();
|
||||||
@ -58,7 +72,15 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
base.InitializeComponents();
|
base.InitializeComponents();
|
||||||
|
|
||||||
MeshRenderer = VisualLook.GetComponent<MeshRenderer>();
|
MeshRenderer = VisualLook.GetComponent<MeshRenderer>();
|
||||||
|
MeshRenderer.enabled = false;
|
||||||
SpineController = GetComponent<SpineController>();
|
SpineController = GetComponent<SpineController>();
|
||||||
|
|
||||||
|
// var originalMaterial = VisualLook.GetComponent<SkeletonAnimation>().SkeletonDataAsset.atlasAssets[0].PrimaryMaterial;
|
||||||
|
// MaterialInstance = Instantiate(MeshRenderer.material);
|
||||||
|
// SpineController.SkeletonAnimation.CustomMaterialOverride[originalMaterial] = MaterialInstance;
|
||||||
|
// print($"originalMaterial : {originalMaterial.name}, custom : {SpineController.SkeletonAnimation.CustomMaterialOverride[originalMaterial]}");
|
||||||
|
//
|
||||||
|
// BossHealthPoint.SetMaterialInstance(MaterialInstance);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -70,26 +92,23 @@ namespace BlueWater.Enemies.Bosses
|
|||||||
{
|
{
|
||||||
if (!IsDissolveActive)
|
if (!IsDissolveActive)
|
||||||
{
|
{
|
||||||
MaterialPropertyBlock.SetFloat(_dissolveValueHash, end);
|
MaterialInstance.SetFloat(_dissolveValueHash, end);
|
||||||
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
|
|
||||||
MaterialPropertyBlock.SetFloat(_dissolveValueHash, start);
|
MaterialInstance.SetFloat(_dissolveValueHash, start);
|
||||||
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
MeshRenderer.enabled = true;
|
||||||
|
|
||||||
var elapsedTime = 0f;
|
var elapsedTime = 0f;
|
||||||
while (elapsedTime <= dissolveTime)
|
while (elapsedTime <= dissolveTime)
|
||||||
{
|
{
|
||||||
var value = Mathf.Lerp(start, end, elapsedTime / dissolveTime);
|
var value = Mathf.Lerp(start, end, elapsedTime / dissolveTime);
|
||||||
MaterialPropertyBlock.SetFloat(_dissolveValueHash, value);
|
MaterialInstance.SetFloat(_dissolveValueHash, value);
|
||||||
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
|
||||||
elapsedTime += Time.deltaTime;
|
elapsedTime += Time.deltaTime;
|
||||||
yield return null;
|
yield return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
MaterialPropertyBlock.SetFloat(_dissolveValueHash, end);
|
MaterialInstance.SetFloat(_dissolveValueHash, end);
|
||||||
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void FlipVisualLook()
|
protected virtual void FlipVisualLook()
|
||||||
|
@ -60,8 +60,13 @@ namespace BlueWater.Enemies.Bosses.TitanSlime
|
|||||||
|
|
||||||
if (TitanSlimeState.HasRabbit && titanSlimeState.Level == 1)
|
if (TitanSlimeState.HasRabbit && titanSlimeState.Level == 1)
|
||||||
{
|
{
|
||||||
|
yield return IsInitialized;
|
||||||
yield return StartCoroutine(DissolveCoroutine(0f, 1f, SpawnDissolveTime));
|
yield return StartCoroutine(DissolveCoroutine(0f, 1f, SpawnDissolveTime));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SpriteRenderer.enabled = true;
|
||||||
|
}
|
||||||
_rabbit.enabled = TitanSlimeState.HasRabbit;
|
_rabbit.enabled = TitanSlimeState.HasRabbit;
|
||||||
|
|
||||||
BehaviorTree.EnableBehavior();
|
BehaviorTree.EnableBehavior();
|
||||||
|
@ -179,7 +179,6 @@ namespace BlueWater.Players.Combat
|
|||||||
}
|
}
|
||||||
|
|
||||||
_animationController.SetCurrentAnimationSpeed(ComboAttacks[CurrentComboAttackCount - 1].Speed);
|
_animationController.SetCurrentAnimationSpeed(ComboAttacks[CurrentComboAttackCount - 1].Speed);
|
||||||
AudioManager.Instance.PlaySfx("FirstComboAttack");
|
|
||||||
IsComboAttackPossible = true;
|
IsComboAttackPossible = true;
|
||||||
var doDamage = false;
|
var doDamage = false;
|
||||||
|
|
||||||
@ -188,9 +187,11 @@ namespace BlueWater.Players.Combat
|
|||||||
{
|
{
|
||||||
if (!doDamage && _animationController.GetCurrentAnimationNormalizedTime() >= 0.28f)
|
if (!doDamage && _animationController.GetCurrentAnimationNormalizedTime() >= 0.28f)
|
||||||
{
|
{
|
||||||
|
AudioManager.Instance.PlaySfx("FirstComboAttack");
|
||||||
var moveSpeed = ComboAttacks[CurrentComboAttackCount - 1].MovePower;
|
var moveSpeed = ComboAttacks[CurrentComboAttackCount - 1].MovePower;
|
||||||
var finalVelocity = _iPhysicMovable.CurrentDirection * moveSpeed;
|
var finalVelocity = _iPhysicMovable.CurrentDirection * moveSpeed;
|
||||||
_rigidbody.MovePosition(transform.position + finalVelocity * moveSpeed * Time.deltaTime);
|
//_rigidbody.MovePosition(transform.position + finalVelocity * moveSpeed * Time.deltaTime);
|
||||||
|
_rigidbody.linearVelocity = finalVelocity;
|
||||||
doDamage = true;
|
doDamage = true;
|
||||||
DoDamage(CurrentComboAttackCount, _iPhysicMovable.CurrentDirection);
|
DoDamage(CurrentComboAttackCount, _iPhysicMovable.CurrentDirection);
|
||||||
}
|
}
|
||||||
@ -224,7 +225,6 @@ namespace BlueWater.Players.Combat
|
|||||||
}
|
}
|
||||||
|
|
||||||
_animationController.SetCurrentAnimationSpeed(ComboAttacks[CurrentComboAttackCount - 1].Speed);
|
_animationController.SetCurrentAnimationSpeed(ComboAttacks[CurrentComboAttackCount - 1].Speed);
|
||||||
AudioManager.Instance.PlaySfx("SecondComboAttack");
|
|
||||||
var doDamage = false;
|
var doDamage = false;
|
||||||
|
|
||||||
while (_animationController.IsComparingCurrentAnimation("ComboAttack2") &&
|
while (_animationController.IsComparingCurrentAnimation("ComboAttack2") &&
|
||||||
@ -232,9 +232,11 @@ namespace BlueWater.Players.Combat
|
|||||||
{
|
{
|
||||||
if (!doDamage && _animationController.GetCurrentAnimationNormalizedTime() >= 0.3f)
|
if (!doDamage && _animationController.GetCurrentAnimationNormalizedTime() >= 0.3f)
|
||||||
{
|
{
|
||||||
|
AudioManager.Instance.PlaySfx("SecondComboAttack");
|
||||||
var moveSpeed = ComboAttacks[CurrentComboAttackCount - 1].MovePower;
|
var moveSpeed = ComboAttacks[CurrentComboAttackCount - 1].MovePower;
|
||||||
var finalVelocity = _iPhysicMovable.CurrentDirection * moveSpeed;
|
var finalVelocity = _iPhysicMovable.CurrentDirection * moveSpeed;
|
||||||
_rigidbody.MovePosition(transform.position + finalVelocity * moveSpeed * Time.deltaTime);
|
//_rigidbody.MovePosition(transform.position + finalVelocity * moveSpeed * Time.deltaTime);
|
||||||
|
_rigidbody.linearVelocity = finalVelocity;
|
||||||
doDamage = true;
|
doDamage = true;
|
||||||
DoDamage(CurrentComboAttackCount, _iPhysicMovable.CurrentDirection);
|
DoDamage(CurrentComboAttackCount, _iPhysicMovable.CurrentDirection);
|
||||||
}
|
}
|
||||||
|
@ -38,7 +38,7 @@ namespace BlueWater.Players.Combat
|
|||||||
[field: SerializeField, Range(1f, 10f), Tooltip("이동 속도")]
|
[field: SerializeField, Range(1f, 10f), Tooltip("이동 속도")]
|
||||||
public float MoveSpeed { get; private set; } = 7f;
|
public float MoveSpeed { get; private set; } = 7f;
|
||||||
|
|
||||||
public float MoveSpeedCoefficient { get; private set; }= 1f;
|
public float MoveSpeedCoefficient { get; private set; } = 1f;
|
||||||
|
|
||||||
public bool IsMoveEnabled { get; private set; } = true;
|
public bool IsMoveEnabled { get; private set; } = true;
|
||||||
|
|
||||||
@ -81,8 +81,11 @@ namespace BlueWater.Players.Combat
|
|||||||
_animationController.SetAnimationParameter("zDirection", _currentDirection.z);
|
_animationController.SetAnimationParameter("zDirection", _currentDirection.z);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private float _finalSpeed;
|
public Vector3 PushDirection { get; private set; }
|
||||||
|
public float PushPower { get; private set; }
|
||||||
|
public float PushReductionCoefficient { get; private set; }
|
||||||
|
private Vector3 _finalVelocity;
|
||||||
|
|
||||||
// Dash
|
// Dash
|
||||||
[field: Title("대쉬")]
|
[field: Title("대쉬")]
|
||||||
@ -136,9 +139,28 @@ namespace BlueWater.Players.Combat
|
|||||||
|
|
||||||
private void FixedUpdate()
|
private void FixedUpdate()
|
||||||
{
|
{
|
||||||
if (!CanMove()) return;
|
if (!IsMoveEnabled) return;
|
||||||
|
|
||||||
Move();
|
if (!_isDashing && _comboAttackable?.CurrentComboAttackCount <= 0 && _skillHandler?.IsActivatingSkill == false)
|
||||||
|
{
|
||||||
|
var velocityDirection = _inputDirection;
|
||||||
|
if (_stunnable?.IsStunned == true)
|
||||||
|
{
|
||||||
|
velocityDirection = Vector3.zero;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CurrentDirection = velocityDirection;
|
||||||
|
}
|
||||||
|
|
||||||
|
IsMoving = velocityDirection != Vector3.zero;
|
||||||
|
_finalVelocity = velocityDirection * (MoveSpeed * MoveSpeedCoefficient);
|
||||||
|
var pushVelocity = PushDirection * PushPower;
|
||||||
|
_finalVelocity += pushVelocity;
|
||||||
|
Rigidbody.linearVelocity = _finalVelocity;
|
||||||
|
}
|
||||||
|
|
||||||
|
PushPower = Mathf.Max(0, PushPower - PushReductionCoefficient * Time.deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnApplicationQuit()
|
private void OnApplicationQuit()
|
||||||
@ -284,7 +306,11 @@ namespace BlueWater.Players.Combat
|
|||||||
_dashParticle.Play();
|
_dashParticle.Play();
|
||||||
}
|
}
|
||||||
|
|
||||||
var dashDirection = CurrentDirection;
|
var dashDirection = _inputDirection;
|
||||||
|
if (dashDirection == Vector3.zero)
|
||||||
|
{
|
||||||
|
dashDirection = CurrentDirection;
|
||||||
|
}
|
||||||
var animationStarted = false;
|
var animationStarted = false;
|
||||||
yield return StartCoroutine(_animationController.WaitForAnimationToRun("DashState",
|
yield return StartCoroutine(_animationController.WaitForAnimationToRun("DashState",
|
||||||
success => animationStarted = success));
|
success => animationStarted = success));
|
||||||
|
@ -12,8 +12,8 @@ namespace BlueWater.Players
|
|||||||
// Variables
|
// Variables
|
||||||
#region Variables
|
#region Variables
|
||||||
// Components
|
// Components
|
||||||
[SerializeField]
|
[field: SerializeField]
|
||||||
private SkeletonAnimation _skeletonAnimation;
|
public SkeletonAnimation SkeletonAnimation { get; private set; }
|
||||||
|
|
||||||
private AnimationState _animationState;
|
private AnimationState _animationState;
|
||||||
|
|
||||||
@ -39,8 +39,9 @@ namespace BlueWater.Players
|
|||||||
[Button("셋팅 초기화")]
|
[Button("셋팅 초기화")]
|
||||||
public virtual void InitializeComponents()
|
public virtual void InitializeComponents()
|
||||||
{
|
{
|
||||||
_skeletonAnimation = transform.GetComponentInChildren<SkeletonAnimation>();
|
SkeletonAnimation = transform.GetComponentInChildren<SkeletonAnimation>();
|
||||||
_animationState = _skeletonAnimation.AnimationState;
|
_animationState = SkeletonAnimation.AnimationState;
|
||||||
|
|
||||||
SetSkin(_initialSkinName);
|
SetSkin(_initialSkinName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -56,7 +57,7 @@ namespace BlueWater.Players
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public TrackEntry PlayAnimation(string animationName, bool isLoopActive, float speed = 1f, bool isReverse = false)
|
public TrackEntry PlayAnimation(string animationName, bool isLoopActive, float speed = 1f, bool isReverse = false)
|
||||||
{
|
{
|
||||||
if (!_skeletonAnimation || _animationState == null) return null;
|
if (!SkeletonAnimation || _animationState == null) return null;
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(animationName))
|
if (string.IsNullOrEmpty(animationName))
|
||||||
{
|
{
|
||||||
@ -77,7 +78,7 @@ namespace BlueWater.Players
|
|||||||
|
|
||||||
public void SetSkin(string skinName)
|
public void SetSkin(string skinName)
|
||||||
{
|
{
|
||||||
if (_skeletonAnimation == null && _animationState == null) return;
|
if (SkeletonAnimation == null && _animationState == null) return;
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(skinName))
|
if (string.IsNullOrEmpty(skinName))
|
||||||
{
|
{
|
||||||
@ -85,9 +86,9 @@ namespace BlueWater.Players
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_skeletonAnimation.Skeleton.SetSkin(skinName);
|
SkeletonAnimation.Skeleton.SetSkin(skinName);
|
||||||
_skeletonAnimation.Skeleton.SetSlotsToSetupPose();
|
SkeletonAnimation.Skeleton.SetSlotsToSetupPose();
|
||||||
_animationState.Apply(_skeletonAnimation.Skeleton);
|
_animationState.Apply(SkeletonAnimation.Skeleton);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Awaitable WaitForAnimationCompletion(TrackEntry trackEntry, bool isReverse = false)
|
public async Awaitable WaitForAnimationCompletion(TrackEntry trackEntry, bool isReverse = false)
|
||||||
|
9
Assets/02.Scripts/Interface/IMaterialInstance.cs
Normal file
9
Assets/02.Scripts/Interface/IMaterialInstance.cs
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace BlueWater.Interfaces
|
||||||
|
{
|
||||||
|
public interface IMaterialInstance
|
||||||
|
{
|
||||||
|
Material MaterialInstance { get; }
|
||||||
|
}
|
||||||
|
}
|
3
Assets/02.Scripts/Interface/IMaterialInstance.cs.meta
Normal file
3
Assets/02.Scripts/Interface/IMaterialInstance.cs.meta
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: fb02fa7cce84ebf43b17c7f1700f1180
|
||||||
|
timeCreated: 1716899052
|
@ -1,3 +1,4 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace BlueWater
|
namespace BlueWater
|
||||||
@ -11,7 +12,8 @@ namespace BlueWater
|
|||||||
private float _size = 0.5f;
|
private float _size = 0.5f;
|
||||||
|
|
||||||
private Camera _mainCamera;
|
private Camera _mainCamera;
|
||||||
private Renderer _previousRenderer;
|
private Material _hitMaterialInstance;
|
||||||
|
private Material _previousMaterialInstance;
|
||||||
|
|
||||||
// Hashes
|
// Hashes
|
||||||
private static readonly int _sizeHash = Shader.PropertyToID("_Size");
|
private static readonly int _sizeHash = Shader.PropertyToID("_Size");
|
||||||
@ -30,28 +32,28 @@ namespace BlueWater
|
|||||||
|
|
||||||
if (Physics.Raycast(ray, out var hit, 100f, _maskLayer))
|
if (Physics.Raycast(ray, out var hit, 100f, _maskLayer))
|
||||||
{
|
{
|
||||||
var hitRenderer = hit.collider.GetComponentInChildren<Renderer>();
|
_hitMaterialInstance = hit.collider.GetComponent<IMaterialInstance>()?.MaterialInstance;
|
||||||
if (!hitRenderer) return;
|
if (!_hitMaterialInstance) return;
|
||||||
|
|
||||||
if (!hitRenderer.material.HasProperty(_sizeHash)) return;
|
if (!_hitMaterialInstance.HasProperty(_sizeHash)) return;
|
||||||
|
|
||||||
if (_previousRenderer && _previousRenderer != hitRenderer && _previousRenderer.material.HasProperty(_sizeHash))
|
if (_previousMaterialInstance && _previousMaterialInstance != _hitMaterialInstance && _previousMaterialInstance.HasProperty(_sizeHash))
|
||||||
{
|
{
|
||||||
_previousRenderer.material.SetFloat(_sizeHash, 0f);
|
_previousMaterialInstance.SetFloat(_sizeHash, 0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
hitRenderer.material.SetFloat(_sizeHash, _size);
|
_hitMaterialInstance.SetFloat(_sizeHash, _size);
|
||||||
_previousRenderer = hitRenderer;
|
_previousMaterialInstance = _hitMaterialInstance;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!_previousRenderer) return;
|
if (!_previousMaterialInstance) return;
|
||||||
|
|
||||||
if (_previousRenderer.material.HasProperty(_sizeHash))
|
if (_previousMaterialInstance.HasProperty(_sizeHash))
|
||||||
{
|
{
|
||||||
_previousRenderer.material.SetFloat(_sizeHash, 0f);
|
_previousMaterialInstance.SetFloat(_sizeHash, 0f);
|
||||||
}
|
}
|
||||||
_previousRenderer = null;
|
_previousMaterialInstance = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ Material:
|
|||||||
- _Cutoff: 0.5
|
- _Cutoff: 0.5
|
||||||
- _DetailAlbedoMapScale: 1
|
- _DetailAlbedoMapScale: 1
|
||||||
- _DetailNormalMapScale: 1
|
- _DetailNormalMapScale: 1
|
||||||
- _DissolveValue: 0
|
- _DissolveValue: 1
|
||||||
- _DstBlend: 0
|
- _DstBlend: 0
|
||||||
- _DstBlendAlpha: 0
|
- _DstBlendAlpha: 0
|
||||||
- _EnvironmentReflections: 1
|
- _EnvironmentReflections: 1
|
||||||
|
@ -95,7 +95,7 @@ Material:
|
|||||||
- _Cutoff: 0.5
|
- _Cutoff: 0.5
|
||||||
- _DetailAlbedoMapScale: 1
|
- _DetailAlbedoMapScale: 1
|
||||||
- _DetailNormalMapScale: 1
|
- _DetailNormalMapScale: 1
|
||||||
- _DissolveValue: 0
|
- _DissolveValue: 1
|
||||||
- _DstBlend: 0
|
- _DstBlend: 0
|
||||||
- _DstBlendAlpha: 0
|
- _DstBlendAlpha: 0
|
||||||
- _EnvironmentReflections: 1
|
- _EnvironmentReflections: 1
|
||||||
|
@ -95,7 +95,7 @@ Material:
|
|||||||
- _Cutoff: 0.5
|
- _Cutoff: 0.5
|
||||||
- _DetailAlbedoMapScale: 1
|
- _DetailAlbedoMapScale: 1
|
||||||
- _DetailNormalMapScale: 1
|
- _DetailNormalMapScale: 1
|
||||||
- _DissolveValue: 0
|
- _DissolveValue: 1
|
||||||
- _DstBlend: 0
|
- _DstBlend: 0
|
||||||
- _DstBlendAlpha: 0
|
- _DstBlendAlpha: 0
|
||||||
- _EnvironmentReflections: 1
|
- _EnvironmentReflections: 1
|
||||||
|
@ -95,7 +95,7 @@ Material:
|
|||||||
- _Cutoff: 0.5
|
- _Cutoff: 0.5
|
||||||
- _DetailAlbedoMapScale: 1
|
- _DetailAlbedoMapScale: 1
|
||||||
- _DetailNormalMapScale: 1
|
- _DetailNormalMapScale: 1
|
||||||
- _DissolveValue: 0
|
- _DissolveValue: 1
|
||||||
- _DstBlend: 0
|
- _DstBlend: 0
|
||||||
- _DstBlendAlpha: 0
|
- _DstBlendAlpha: 0
|
||||||
- _EnvironmentReflections: 1
|
- _EnvironmentReflections: 1
|
||||||
|
@ -109,7 +109,7 @@ Material:
|
|||||||
- _OcclusionStrength: 1
|
- _OcclusionStrength: 1
|
||||||
- _Opacity: 0.7
|
- _Opacity: 0.7
|
||||||
- _Parallax: 0.005
|
- _Parallax: 0.005
|
||||||
- _QueueControl: 1
|
- _QueueControl: 0
|
||||||
- _QueueOffset: 0
|
- _QueueOffset: 0
|
||||||
- _ReceiveShadows: 1
|
- _ReceiveShadows: 1
|
||||||
- _Size: 0
|
- _Size: 0
|
||||||
|
@ -95,7 +95,7 @@ Material:
|
|||||||
- _Cutoff: 0.5
|
- _Cutoff: 0.5
|
||||||
- _DetailAlbedoMapScale: 1
|
- _DetailAlbedoMapScale: 1
|
||||||
- _DetailNormalMapScale: 1
|
- _DetailNormalMapScale: 1
|
||||||
- _DissolveValue: 0
|
- _DissolveValue: 1
|
||||||
- _DstBlend: 0
|
- _DstBlend: 0
|
||||||
- _DstBlendAlpha: 0
|
- _DstBlendAlpha: 0
|
||||||
- _EnvironmentReflections: 1
|
- _EnvironmentReflections: 1
|
||||||
|
@ -555,7 +555,7 @@ MonoBehaviour:
|
|||||||
<Range>k__BackingField: 1.5
|
<Range>k__BackingField: 1.5
|
||||||
<Angle>k__BackingField: 180
|
<Angle>k__BackingField: 180
|
||||||
<Speed>k__BackingField: 0.3
|
<Speed>k__BackingField: 0.3
|
||||||
<MovePower>k__BackingField: 2
|
<MovePower>k__BackingField: 1
|
||||||
<TargetLayer>k__BackingField:
|
<TargetLayer>k__BackingField:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 69632
|
m_Bits: 69632
|
||||||
|
@ -3651,6 +3651,10 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: SandMoleMapController
|
value: SandMoleMapController
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8874040642671342955, guid: 02759e0bd03056e499ebce198da0c9d6, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 7
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects:
|
m_AddedGameObjects:
|
||||||
|
@ -16,7 +16,7 @@ Material:
|
|||||||
- _STRAIGHT_ALPHA_INPUT
|
- _STRAIGHT_ALPHA_INPUT
|
||||||
m_InvalidKeywords: []
|
m_InvalidKeywords: []
|
||||||
m_LightmapFlags: 4
|
m_LightmapFlags: 4
|
||||||
m_EnableInstancingVariants: 0
|
m_EnableInstancingVariants: 1
|
||||||
m_DoubleSidedGI: 0
|
m_DoubleSidedGI: 0
|
||||||
m_CustomRenderQueue: -1
|
m_CustomRenderQueue: -1
|
||||||
stringTagMap: {}
|
stringTagMap: {}
|
||||||
|
@ -36,24 +36,24 @@ MonoBehaviour:
|
|||||||
- rid: 5032277253446697243
|
- rid: 5032277253446697243
|
||||||
- rid: 5032277253446697244
|
- rid: 5032277253446697244
|
||||||
- rid: 5032277253446697245
|
- rid: 5032277253446697245
|
||||||
- rid: 7789284894475288580
|
- rid: 7789285205019197450
|
||||||
- rid: 5032277253446697247
|
- rid: 5032277253446697247
|
||||||
- rid: 5032277253446697248
|
- rid: 5032277253446697248
|
||||||
- rid: 7789284894475288581
|
- rid: 7789285205019197451
|
||||||
- rid: 7789284894475288582
|
- rid: 7789285205019197452
|
||||||
- rid: 5032277253446697251
|
- rid: 5032277253446697251
|
||||||
- rid: 7789284894475288583
|
- rid: 7789285205019197453
|
||||||
- rid: 5032277253446697253
|
- rid: 5032277253446697253
|
||||||
- rid: 7789284894475288584
|
- rid: 7789285205019197454
|
||||||
- rid: 5032277253446697255
|
- rid: 5032277253446697255
|
||||||
- rid: 7789284894475288585
|
- rid: 7789285205019197455
|
||||||
- rid: 7789284894475288586
|
- rid: 7789285205019197456
|
||||||
- rid: 5032277253446697258
|
- rid: 5032277253446697258
|
||||||
- rid: 5032277253446697259
|
- rid: 5032277253446697259
|
||||||
- rid: 7789284894475288587
|
- rid: 7789285205019197457
|
||||||
- rid: 7789284894475288588
|
- rid: 7789285205019197458
|
||||||
- rid: 5032277253446697262
|
- rid: 5032277253446697262
|
||||||
- rid: 7789284894475288589
|
- rid: 7789285205019197459
|
||||||
m_RuntimeSettings:
|
m_RuntimeSettings:
|
||||||
m_List:
|
m_List:
|
||||||
- rid: 5032277253446697243
|
- rid: 5032277253446697243
|
||||||
@ -159,7 +159,7 @@ MonoBehaviour:
|
|||||||
m_version: 0
|
m_version: 0
|
||||||
m_EnableCompilationCaching: 1
|
m_EnableCompilationCaching: 1
|
||||||
m_EnableValidityChecks: 1
|
m_EnableValidityChecks: 1
|
||||||
- rid: 7789284894475288580
|
- rid: 7789285205019197450
|
||||||
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: Renderer2DResources, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 0
|
m_Version: 0
|
||||||
@ -174,14 +174,14 @@ MonoBehaviour:
|
|||||||
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
m_DefaultLitMaterial: {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
|
||||||
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
m_DefaultUnlitMaterial: {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2}
|
||||||
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
|
m_DefaultMaskMaterial: {fileID: 2100000, guid: 15d0c3709176029428a0da2f8cecf0b5, type: 2}
|
||||||
- rid: 7789284894475288581
|
- rid: 7789285205019197451
|
||||||
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: URPShaderStrippingSetting, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 0
|
m_Version: 0
|
||||||
m_StripUnusedPostProcessingVariants: 0
|
m_StripUnusedPostProcessingVariants: 0
|
||||||
m_StripUnusedVariants: 1
|
m_StripUnusedVariants: 1
|
||||||
m_StripScreenCoordOverrideVariants: 1
|
m_StripScreenCoordOverrideVariants: 1
|
||||||
- rid: 7789284894475288582
|
- rid: 7789285205019197452
|
||||||
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: UniversalRenderPipelineEditorMaterials, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
m_DefaultMaterial: {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||||
@ -189,7 +189,7 @@ MonoBehaviour:
|
|||||||
m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
|
m_DefaultLineMaterial: {fileID: 2100000, guid: e823cd5b5d27c0f4b8256e7c12ee3e6d, type: 2}
|
||||||
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
|
m_DefaultTerrainMaterial: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
|
||||||
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
|
m_DefaultDecalMaterial: {fileID: 2100000, guid: 31d0dcc6f2dd4e4408d18036a2c93862, type: 2}
|
||||||
- rid: 7789284894475288583
|
- rid: 7789285205019197453
|
||||||
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
type: {class: UniversalRenderPipelineEditorShaders, ns: UnityEngine.Rendering.Universal, asm: Unity.RenderPipelines.Universal.Runtime}
|
||||||
data:
|
data:
|
||||||
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
|
m_AutodeskInteractive: {fileID: 4800000, guid: 0e9d5a909a1f7e84882a534d0d11e49f, type: 3}
|
||||||
@ -201,7 +201,7 @@ MonoBehaviour:
|
|||||||
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
|
m_DefaultSpeedTree7Shader: {fileID: 4800000, guid: 0f4122b9a743b744abe2fb6a0a88868b, type: 3}
|
||||||
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
|
m_DefaultSpeedTree8Shader: {fileID: -6465566751694194690, guid: 9920c1f1781549a46ba081a2a15a16ec, type: 3}
|
||||||
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
|
m_DefaultSpeedTree9Shader: {fileID: -6465566751694194690, guid: cbd3e1cc4ae141c42a30e33b4d666a61, type: 3}
|
||||||
- rid: 7789284894475288584
|
- rid: 7789285205019197454
|
||||||
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
|
type: {class: GPUResidentDrawerResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.GPUDriven.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 0
|
m_Version: 0
|
||||||
@ -214,7 +214,7 @@ MonoBehaviour:
|
|||||||
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
|
m_OcclusionCullingDebugKernels: {fileID: 7200000, guid: b23e766bcf50ca4438ef186b174557df, type: 3}
|
||||||
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
|
m_DebugOcclusionTestPS: {fileID: 4800000, guid: d3f0849180c2d0944bc71060693df100, type: 3}
|
||||||
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
|
m_DebugOccluderPS: {fileID: 4800000, guid: b3c92426a88625841ab15ca6a7917248, type: 3}
|
||||||
- rid: 7789284894475288585
|
- rid: 7789285205019197455
|
||||||
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: ProbeVolumeDebugResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
@ -224,7 +224,7 @@ MonoBehaviour:
|
|||||||
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
|
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: db8bd7436dc2c5f4c92655307d198381, type: 3}
|
||||||
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
|
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 20be25aac4e22ee49a7db76fb3df6de2, type: 3}
|
||||||
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
|
numbersDisplayTex: {fileID: 2800000, guid: 73fe53b428c5b3440b7e87ee830b608a, type: 3}
|
||||||
- rid: 7789284894475288586
|
- rid: 7789285205019197456
|
||||||
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: ProbeVolumeBakingResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
@ -237,19 +237,19 @@ MonoBehaviour:
|
|||||||
skyOcclusionRT: {fileID: 4807578003741378534, guid: dfaf42b38dd001f49a72d8102b709f29, type: 3}
|
skyOcclusionRT: {fileID: 4807578003741378534, guid: dfaf42b38dd001f49a72d8102b709f29, type: 3}
|
||||||
renderingLayerCS: {fileID: 7200000, guid: a63c9cf933e3d8f41ae680a372784ebf, type: 3}
|
renderingLayerCS: {fileID: 7200000, guid: a63c9cf933e3d8f41ae680a372784ebf, type: 3}
|
||||||
renderingLayerRT: {fileID: 4807578003741378534, guid: c2be09c936362eb49a58f08aeb30627a, type: 3}
|
renderingLayerRT: {fileID: 4807578003741378534, guid: c2be09c936362eb49a58f08aeb30627a, type: 3}
|
||||||
- rid: 7789284894475288587
|
- rid: 7789285205019197457
|
||||||
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: ProbeVolumeGlobalSettings, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
m_ProbeVolumeDisableStreamingAssets: 0
|
m_ProbeVolumeDisableStreamingAssets: 0
|
||||||
- rid: 7789284894475288588
|
- rid: 7789285205019197458
|
||||||
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: ProbeVolumeRuntimeResources, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_Version: 1
|
m_Version: 1
|
||||||
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
|
probeVolumeBlendStatesCS: {fileID: 7200000, guid: a3f7b8c99de28a94684cb1daebeccf5d, type: 3}
|
||||||
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
|
probeVolumeUploadDataCS: {fileID: 7200000, guid: 0951de5992461754fa73650732c4954c, type: 3}
|
||||||
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
|
probeVolumeUploadDataL2CS: {fileID: 7200000, guid: 6196f34ed825db14b81fb3eb0ea8d931, type: 3}
|
||||||
- rid: 7789284894475288589
|
- rid: 7789285205019197459
|
||||||
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
type: {class: IncludeAdditionalRPAssets, ns: UnityEngine.Rendering, asm: Unity.RenderPipelines.Core.Runtime}
|
||||||
data:
|
data:
|
||||||
m_version: 0
|
m_version: 0
|
||||||
|
@ -13,7 +13,7 @@ PlayerSettings:
|
|||||||
useOnDemandResources: 0
|
useOnDemandResources: 0
|
||||||
accelerometerFrequency: 60
|
accelerometerFrequency: 60
|
||||||
companyName: CapersUnity
|
companyName: CapersUnity
|
||||||
productName: NewBlueWater
|
productName: ActionHustle
|
||||||
defaultCursor: {fileID: 0}
|
defaultCursor: {fileID: 0}
|
||||||
cursorHotspot: {x: 0, y: 0}
|
cursorHotspot: {x: 0, y: 0}
|
||||||
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
|
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
QualitySettings:
|
QualitySettings:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 5
|
serializedVersion: 5
|
||||||
m_CurrentQuality: 5
|
m_CurrentQuality: 0
|
||||||
m_QualitySettings:
|
m_QualitySettings:
|
||||||
- serializedVersion: 4
|
- serializedVersion: 4
|
||||||
name: Very Low
|
name: Very Low
|
||||||
@ -319,4 +319,7 @@ QualitySettings:
|
|||||||
terrainMaxTrees: 50
|
terrainMaxTrees: 50
|
||||||
excludedTargetPlatforms: []
|
excludedTargetPlatforms: []
|
||||||
m_TextureMipmapLimitGroupNames: []
|
m_TextureMipmapLimitGroupNames: []
|
||||||
m_PerPlatformDefaultQuality: {}
|
m_PerPlatformDefaultQuality:
|
||||||
|
Android: 0
|
||||||
|
Standalone: 0
|
||||||
|
Windows Store Apps: 0
|
||||||
|
Loading…
Reference in New Issue
Block a user