구현 내용
1. SoundManager 구현
https://kkln2486.tistory.com/213
이전 프로젝트에서 구현했던 방법으로 사운드매니저 구현 및 사운드 적용
2. BattleScene 수정
- 전투 UI 수정
- 맵 수정
3. Enemy 추가 구현
근거리 적 구현
각각 무기 종류에 맞는 애니메이션을 각각 설정
원거리 적 구현
마법, 화살 적 구현
각각 발사체 프리팹을 구현하고 애니메이션 Event를 설정
발사체 생성
public void ShootRangedAttack(string name)
{
GameObject obj = Instantiate(Resources.Load<GameObject>("Prefabs/Skills/Enemy/" + name), _shootPosition.position, Quaternion.identity);
}
구현한 발사체 프리팹을 Resources 폴더에 넣고 프리팹을 생성
발사체 스크립트
private void Update()
{
transform.position += _dir * _speed * Time.deltaTime;
}
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
_player.GetComponent<PlayerCharacter>().PlayerNuckback(transform.position, Atk);
Destroy(gameObject);
}
}
private IEnumerator CODestroyAttack()
{
yield return new WaitForSeconds(5f);
if (gameObject != null)
{
Destroy(gameObject);
}
}
원거리 적의 Player 감지
public bool CheckPlayer()
{
if(Type == EnemyType.Enemy4 || Type == EnemyType.Enemy5) // 원거리 적
{
Debug.DrawRay(transform.position + new Vector3(0, 0.7f, 0), transform.forward * 8.5f, Color.green);
if (Physics.Raycast(transform.position + new Vector3(0, 0.7f, 0), transform.forward, out ForwardHit, 8.5f))
{
if (ForwardHit.transform.CompareTag("Player"))
{
return true;
}
}
}
return false;
}
근거리 적의 Player를 감지하는 Physics.Raycast의 범위를 더 길게 조절
적의 마법 범위 적용
private void Targetting()
{
int layerMask = (1 << _layerMask); // Layer 설정
_targets = Physics.OverlapSphere(transform.position, _overlapSphereRange, layerMask);
if(_targets != null)
{
for (int i = 0; i < _targets.Length; i++)
{
_targets[i].GetComponent<PlayerCharacter>().PlayerNuckback(transform.position, Atk);
}
}
}
Physics.OverlapSphere로 주위 범위의 Player 감지 및 Player 넉백 적용
회고
난이도를 조절해서 여러가지 Stage를 만들기 위해 다양한 적들을 구현했다. 기존 구매했던 에셋에 다양한 종류의 무기가 있고 무기별로 애니메이션이 있어서 적용하기가 크게 힘들지 않았다. 원거리 공격의 마법 이펙트는 에셋을 구매했을 때, 있었던 스크립트를 변형해서 구현했다. 추가로 BattleScene 맵과 UI를 적용해서 더욱 실제 게임과 같도록 수정했다. 이번 프로젝트에서는 유료 에셋을 최대한 활용했기 때문에 아직 많이 구현하지 못했지만 훨씬 게임의 퀄리티가 높아졌다고 느꼈다. 다음은 적 프리팹을 배치하여 Stage를 구현하고 Stage 정보를 실제 UI에 적용되도록 하겠다!
'1인 개발 > Push And Slash' 카테고리의 다른 글
푸쉬앤슬래시 개인 프로젝트 8일차 (0) | 2024.05.11 |
---|---|
푸쉬앤슬래시 개인 프로젝트 7일차 (0) | 2024.05.11 |
푸쉬앤슬래시 개인 프로젝트 5일차 (0) | 2024.05.07 |
푸쉬앤슬래시 개인 프로젝트 4일차 (0) | 2024.05.06 |
푸쉬앤슬래시 개인 프로젝트 3일차 (0) | 2024.05.04 |