본문 바로가기

Unity Engine

(14)
유니티 Field Of View 유닛 시야 구현하기 3 유니티 버전 2020.3.18f1 들어가기 전 참고 이 포스트는 아래의 동영상을 한국어로 재구성한 자료임을 밝힌다. 어느 정도 영어 청취가 가능하다면 동영상을 봐도 좋다. 그리고 여기에서 이어지는 강의이므로 이전 강의를 보지 않았다면 보고 오도록 하자. https://youtu.be/xkcCWqifT9M 이 포스트에서는 stencil shader로 전체 영역을 어둡게 만든 다음 가시 영역만 밝게 비추는 방법을 알아보도록 한다. 셰이더 스크립트 추가 Shaders 폴더를 만들고 StencilMask, StencilObject 총 2개의 Standard Surface Shader 스크립트를 추가한다. 각 스크립트의 내용을 다음과 같이 작성한다. 이 포스트에서 셰이더의 설명은 생략하도록 한다. StencilM..
유니티 Field Of View 유닛 시야 구현하기 2 유니티 버전 2020.3.18f1 들어가기 전 참고 이 포스트는 아래의 동영상을 한국어로 재구성한 자료임을 밝힌다. 따라서 구현 순서가 원본과 어느 정도 차이가 있을 수 있다. 어느 정도 영어를 청취할 수 있으면 아래의 동영상을 봐도 좋다. 그리고 여기에서 이어지는 강의이므로 이전 강의를 보지 않았으면 먼저 보고 오자. https://youtu.be/73Dc5JTCmKI 우리의 목표 이전 에피소드에서 유닛의 시야 반경과 시야각을 설정해 시야 내의 적 유닛들을 raycast로 탐지하는 방법을 배웠다. 에피소드 2에서는 유닛이 볼 수 있는 가시 영역을 색이 입혀진 폴리곤으로 표현하는 것이 목적이다. 가시 영역에 반직선 그리기 우리는 위의 스크린샷처럼 색칠된 영역을 mesh와 meshfilter로 만들 것이다..
유니티 Field Of View 유닛 시야 구현하기 1 유니티 버전 2020.3.18f1 들어가기 전 참고 이 포스트는 아래의 동영상을 한국어로 재구성한 자료임을 밝힌다. 어느 정도 영어 청취가 가능하다면 동영상을 봐도 좋다. https://youtu.be/rQG9aUWarwE 이 포스트에서는 유니티 엔진에서 3인칭 유닛(캐릭터)의 field of view(이하 시야, fov)를 구현하는 방법을 알아본다. 우리의 목표 AOS, RTS 게임을 하면 다음 스크린샷처럼 3인칭에서 3D 유닛의 시야 시스템이 존재한다. 우리는 이 포스트, 더 나아가 시리즈를 모두 공부하여 위 스크린샷처럼 유닛을 기준으로 특정 영역을 밝혀 시야 내의 오브젝트를 볼 수 있도록 하는 방법을 익히게 된다. 최종 결과물은 다음과 같이 될 것이다. 글을 따라 차근차근 익혀보자. 유니티 버전은 ..
[유니티 엔진] WaitForSeconds vs WaitForSecondsRealtime 유니티에선 코루틴의 리턴 중 WaitForSeconds와 WaitForSecondsRealtime가 있다. WaitForSeconds는 Time.timeScale이 반영된 시간을 기다리고 WaitForSecondsRealtime은 현실 시간을 기다린다. 여기서 Time.timeScale은 게임에서 시간이 어떤 속도로 흘러갈 것인지 조정하는 factor로 이해할 수 있다. 가령 Time.timeScale을 0.5로 수정하면 현실의 시간보다 2배 느리게 흘러간다. 즉 게임속 흘러가는 시간에 맞춰 기다려야 하는 것이 있으면 WaitForSeconds를 쓰고 그렇지 않으면 WaitForSecondsRealtime를 쓰면 된다.