구현 내용
1. 데이터 저장 구현
https://kkln2486.tistory.com/408
Easy Save 유료 에셋으로 데이터 저장을 구현
2. Dash 구현
- 입력하고 있는 방향으로 순간적으로 달려갈 수 있는 Dash 기능 구현
- UI에서 쿨타임을 확인할 수 있도록 쿨타임 표시 구현
https://kkln2486.tistory.com/212
이전 프로젝트 쿨타임 표시 구현 내용을 참고하여 쿨타임 표시 구현
3. Skill 구현
- Player Skill 구현
- 쿨타임 표시 구현
4. Enemy 구현
- 적 상태패턴 구현
- WalkState 구현 (Target을 향해 이동)
- AttackState 구현 (쿨타임 적용)
- AI Navigation로 이동 구현
https://kkln2486.tistory.com/182
정면의 Player 인식
EnemyController
public bool CheckPlayer()
{
Debug.DrawRay(transform.position + new Vector3(0, 0.7f, 0), transform.forward, Color.green, 1.5f);
if (Physics.Raycast(transform.position + new Vector3(0, 0.7f, 0), transform.forward, out hit, 1.5f))
{
if (hit.transform.CompareTag("Player"))
{
return true;
}
}
return false;
}
EnemyAttackState
if(_time >= _enemyController.EnemyData.AttackCoolTime)
{
if(_enemyController.CheckPlayer())
{
_enemyController.AttackStart();
_enemyController.Animator.SetTrigger("ReAttack");
break;
}
else
{
_enemyController.WalkStart();
_enemyController.Animator.SetBool("Attack", false);
break;
}
}
CheckPlayer 함수로 정면에 Player가 있는지 판단. 있다면, 다시 AttackState로 전환하고 없다면, WalkState로 전환
회고
오늘은 전체적인 Player의 이동은 모두 구현하고 UI 버튼과 연결했다. 그리고 Player의 데이터를 저장하기 위한 Easy Save 에셋을 사용했다. 이전 프로젝트에서 Json으로 데이터 저장을 구현했지만, 모바일 기기에서 사용 시, 데이터 암호화나 속도 측면 등 유료 에셋을 사용하는 것이 앞으로 게임 개발을 하는데 훨씬 효과적이라고 생각해서 유료 에셋을 구매해서 사용했다. 사용하기 쉽다곤 하지만 처음 사용하는 것이기 때문에 메뉴얼을 읽고 사용 방법을 블로그에 정리했다. 그리고 Play의 공격과 Enemy의 공격을 구현하기 위해, Enemy 구현을 시작했다. Enemy는 이전 프로젝트에서 많이 사용했던 방법인 상태패턴을 사용했다. 현재는 WalkState와 AttackState를 구현했고, Player와 Enemy의 데미지 적용을 구현 후, HitState를 추가하도록 하겠다!
'1인 개발 > Push And Slash' 카테고리의 다른 글
푸쉬앤슬래시 개인 프로젝트 6일차 (0) | 2024.05.09 |
---|---|
푸쉬앤슬래시 개인 프로젝트 5일차 (0) | 2024.05.07 |
푸쉬앤슬래시 개인 프로젝트 3일차 (0) | 2024.05.04 |
푸쉬앤슬래시 개인 프로젝트 2일차 (0) | 2024.05.03 |
푸쉬앤슬래시 개인 프로젝트 1일차 (0) | 2024.05.01 |