Ver 0.2.3.0 추가 수정사항
+ Rockfall 로직 변경 떨어지는 속도 0.8초 등가속도 + ProjectileController 에서 targetLayer가 Props인 경우 DamageableProps으로 한정
This commit is contained in:
parent
07ae6e86b2
commit
bb10ead082
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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))
|
||||||
{
|
{
|
||||||
|
@ -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
|
||||||
|
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user