Ver 0.2.3.0 추가 수정사항

+ Rockfall 로직 변경 떨어지는 속도 0.8초 등가속도
+ ProjectileController 에서 targetLayer가 Props인 경우 DamageableProps으로 한정
This commit is contained in:
NTG_Lenovo 2024-06-25 15:56:28 +09:00
parent 07ae6e86b2
commit bb10ead082
4 changed files with 60 additions and 37 deletions

View File

@ -108,6 +108,12 @@ namespace BlueWater
// transform.position = raycastHit.point + raycastHit.normal * _collideOffset; // transform.position = raycastHit.point + raycastHit.normal * _collideOffset;
var hitCollider = _hitColliders[0]; var hitCollider = _hitColliders[0];
if (hitCollider.gameObject.layer == LayerMask.NameToLayer("Props")
&& !hitCollider.CompareTag("DamageableProps"))
{
return;
}
var trailParticles = GetComponentsInChildren<ParticleSystem>(); var trailParticles = GetComponentsInChildren<ParticleSystem>();
foreach (var element in trailParticles) foreach (var element in trailParticles)
{ {

View File

@ -61,7 +61,7 @@ namespace BlueWater
private IEnumerator Start() private IEnumerator Start()
{ {
_visualLook.SetActive(false); //_visualLook.SetActive(false);
_sphereCollider.enabled = false; _sphereCollider.enabled = false;
_startPosition = transform.position; _startPosition = transform.position;
SpawnLocation = MapManager.Instance.SandMoleMapController.ParticleInstanceLocation; SpawnLocation = MapManager.Instance.SandMoleMapController.ParticleInstanceLocation;
@ -85,45 +85,62 @@ namespace BlueWater
var fillValue = Mathf.Lerp(0f, 1f, time); var fillValue = Mathf.Lerp(0f, 1f, time);
_indicator.material.SetFloat(_fillHash, fillValue); _indicator.material.SetFloat(_fillHash, fillValue);
} }
//transform.position = Vector3.Lerp(_startPosition, _endPosition, time);
elapsedTime += Time.deltaTime;
yield return null;
}
_indicator.material.SetFloat(_fillHash, 1f);
HideIndicator();
_visualLook.SetActive(true);
// TODO : 가끔씩 공중에서 멈추는 경우?
if (_isAcceleratedFall) if (_isAcceleratedFall)
{ {
var distance = Vector3.Distance(_startPosition, _endPosition); var distance = Vector3.Distance(_startPosition, _endPosition);
var acceleration = 2 * distance / (_fallTime * _fallTime); // a = 2d / t^2 var acceleration = 2 * distance / (_fallTime * _fallTime); // a = 2d / t^2
elapsedTime = 0f; var displacement = 0.5f * acceleration * elapsedTime * elapsedTime;
while (elapsedTime <= _fallTime)
{
var time = elapsedTime;
var displacement = 0.5f * acceleration * time * time;
var progress = displacement / distance; var progress = displacement / distance;
transform.position = Vector3.Lerp(_startPosition, _endPosition, progress); transform.position = Vector3.Lerp(_startPosition, _endPosition, progress);
elapsedTime += Time.deltaTime;
yield return null;
}
} }
else else
{ {
elapsedTime = 0f;
while (elapsedTime <= _fallTime)
{
var time = elapsedTime / _fallTime;
transform.position = Vector3.Lerp(_startPosition, _endPosition, time); transform.position = Vector3.Lerp(_startPosition, _endPosition, time);
}
elapsedTime += Time.deltaTime; elapsedTime += Time.deltaTime;
yield return null; yield return null;
} }
}
transform.position = _endPosition;
_indicator.material.SetFloat(_fillHash, 1f);
HideIndicator();
//_visualLook.SetActive(true);
// if (_isAcceleratedFall)
// {
// var distance = Vector3.Distance(_startPosition, _endPosition);
// var acceleration = 2 * distance / (_fallTime * _fallTime); // a = 2d / t^2
// elapsedTime = 0f;
//
// while (elapsedTime <= _fallTime)
// {
// var time = elapsedTime;
// var displacement = 0.5f * acceleration * time * time;
// var progress = displacement / distance;
// transform.position = Vector3.Lerp(_startPosition, _endPosition, progress);
// elapsedTime += Time.deltaTime;
//
// yield return null;
// }
// }
// else
// {
// elapsedTime = 0f;
// while (elapsedTime <= _fallTime)
// {
// var time = elapsedTime / _fallTime;
// transform.position = Vector3.Lerp(_startPosition, _endPosition, time);
// elapsedTime += Time.deltaTime;
//
// yield return null;
// }
// }
//
// transform.position = _endPosition;
if (!string.IsNullOrEmpty(_groundCrashSfxName)) if (!string.IsNullOrEmpty(_groundCrashSfxName))
{ {

View File

@ -58,9 +58,9 @@ Rigidbody:
m_ImplicitTensor: 1 m_ImplicitTensor: 1
m_UseGravity: 1 m_UseGravity: 1
m_IsKinematic: 0 m_IsKinematic: 0
m_Interpolate: 1 m_Interpolate: 0
m_Constraints: 112 m_Constraints: 112
m_CollisionDetection: 2 m_CollisionDetection: 0
--- !u!135 &1772409705626034443 --- !u!135 &1772409705626034443
SphereCollider: SphereCollider:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -309,8 +309,8 @@ MonoBehaviour:
_groundLayer: _groundLayer:
serializedVersion: 2 serializedVersion: 2
m_Bits: 64 m_Bits: 64
_indicatorTime: 0.5 _indicatorTime: 0.8
_fallTime: 0.5 _fallTime: 0.8
_attackDamage: 1 _attackDamage: 1
_isAcceleratedFall: 1 _isAcceleratedFall: 1
_groundCrashSfxName: _groundCrashSfxName: