2월, 2024의 게시물 표시

[유니티] 숙련주차 트러블

  트러블 처음에 시작했을때 랜덤 맵 생성과 랜덤한 위치에 몬스터를 생성할 때 맵과 동시에 몬스터가 스폰이 동시에 진행하는데 있어 몬스터의 타겟팅 문제와 문의 setActive의 문제가 생겼다. 고민한 해결 방안 맵 생성을 하는 트리거를 만들어 동시에 진행하고 게임을 잠시 멈춘 뒤 카메라와 플레이어가  다음맵에 이동하는 형식을 하려 했다. 코드가 많이 꼬여버려 트리거가 발동 되어도 조금씩 어긋나고 에러가 뜨는 현생이 계속 되었다. 해결 시도 너무나 복잡한 이슈로 인해 트리거를 다 나눠보도록 했다. 카메라 앵글은 플레이어가 화면 밖으로 나가는 순간 맵 크기만큼 position을 바꿔주었다. 방 생성은 화면이 넘어가기 직전에 트리거를 발동시켜 만들어주었다. 몬스터와 구조물은 방을 넘어가고 문에서 조금 떨어진 곳에 트리거를 주었다. 그 순간 몬스터의 유무를 판단하여 문을 닫아 주었다. 즉 방 생성 → 카메라 이동 → 몬스터,구조물 생성 → 문 닫힘 최종 결정 해결 방안 및 이유 처음에는 상하좌우 랜덤한 방향으로 뻗어 나가는 맵을 만드려 했으나… 중복으로 맵이 같은 곳에 생성되는 이슈로 포기 하고 가능한 랜덤맵을 사용 할 수 있도록 안의 구조물과 몬스터 배치를 랜덤으로 바꾸게 되었다. 그리고 한번에 실행이 되는 것보다 하나하나 트리거를 나눠주니 에러도 어디서 왜 뜨는지 확실하게 알았다.

[Unity] Fade in 쉽게 사용해보기

이미지
 Fade in의 가장 쉬운 방법으로는 당연히 Asset 사용일테지만  그 외의 방법을 한번 알아보려고 하였다. Canvas Group을 사용하면 쉽게 사용이 가능하다. Fade in 이란  Alpha가 0에서 서서히 1로 되는 효과를 말하기에 우리는 그것을 바꿔만 주면 되는 것이다 코드에서 CanvasGroup 컨포넌트를 불러온 후 시간이 지남에 따루 alpha 값을 증가시켜주면 끝 오프닝에 많이 사용할 수 있을만한 Fade in기능이 완성되었다.