보통 2d 레이싱 게임에서는 플립했을 때 보너스가 있다!
odyssey에서도 그런 요소를 추가하고자 한다.
부스트 추가
원래는 부스트를 하나의 상태로 취급했었는데
생각해보니 부스트는 어떤 상태든지 적용될 수 있게 만들고 싶어서 상태에서 뺐다.
private void ActivateBoost()
{
if (isBoost&&isGrounded)
{
if (!boostParticle.isPlaying) {
boostParticle.Play();
}
if (rigid.velocity.x >= 0)
{
rigid.velocity += rigid.velocity.normalized * boostForce * Time.deltaTime;
}
boostTimer -= Time.deltaTime;
if (boostTimer <= 0)
{
boostParticle.Stop();
isBoost = false;
}
}
}
위 코드를 lateUpdate에서 돌려주고,
트리거가 발동되면 계산된 velocity에 일정 시간동안 일정값을 더해준다.
부스트가 발동되는 조건엔 여러가지가 있는데, 그중 하나가 플립을 도는 것이다.
그래서 플립이 완료되면 플립 완료 이펙트를 출력하고,
부스트 도중에도 이펙트를 출력한다.
어쨌든 velocity를 조정해서 더 빠르게 만들었는데
지금 생각해보니 부스트도 AddForce로 구현하는게 더 나을것 같다는 생각이 들었다.
캐릭터 컨트롤러는 나중에 더 손봐야 할 것같다..
'odyssey' 카테고리의 다른 글
#22 odyssey 개발일지 : (또) 동적 지형생성 (0) | 2024.02.03 |
---|---|
#21 odyssey 개발일지 : 지형과 지형을 부드럽게 잇기 (0) | 2024.01.21 |
#19 odyssey 개발일지 : 캐릭터 컨트롤러 버그 수정 (0) | 2024.01.14 |
#18 odyssey 개발일지 : 반사광, 렌즈 플레어 추가 (0) | 2023.08.10 |
#17 odyssey 개발일지 : 캐릭터 움직임 수정 (0) | 2023.07.31 |