[Unreal Engine] 물체의 테두리(Outline) 그리기 ③ 물체의 테두리(Outline) 그리기 ③ - 장면에 테두리 그리기 Unreal Engine/Shooting Game 4년 전
[Unreal Engine] 물체의 테두리(Outline) 그리기 ② 물체의 테두리(Outline) 그리기 ② - 테두리 추출하기 Volumes > Post process volume 을 레벨 편집기로 드래그) infinite extent 속성 설정: post process volume에서만 post process material을 확인할 수 있는데, infinite extent 설정을 했기 때문에 전체 레벨에서 확인 가능하다. post process materials 적용: rendering features의 post process materials 배열에 원소를 추가하고 (PP_Highlight)를 적용. 전체 레벨에 PP_Hightlight가 적용된 모습을 확인할 수 있다. Render custom buffer에 아웃라인을 적용할 오브젝트를 등록 대상 Mesh에서 C.. Unreal Engine/Shooting Game 4년 전
[Unreal Engine] 물체의 테두리(Outline) 그리기 ① 물체의 테두리(Outline) 그리기 ① - 접근 방법 이번 글에서는 물체의 테두리(Outline)를 출력하는 방법을 다룬다. Shooting게임뿐만 아니라 많은 게임에서 커서로 아이템을 오버랩하면 아이템이 선택되었다는 표시로 물체의 테두리에 아래와 같이 하이라이팅 효과가 나타난다. 이번 글에서는 언리얼 엔진에서 물체의 테두리를 출력하는 방법을 다뤄본다. 먼저 이 기능을 구현하기 위해서는 깊이 버퍼와 렌더링 결과를 텍스처로 출력할 수 있다는 개념을 먼저 이해해야 한다. 이에 대한 글은 예전에 다룬 적이 있다. 깊이 버퍼를 이해하기 위해서 '3D 메시 그리기'에서 Z-버퍼 부분을 그리고 텍스처로 렌더링하는 개념을 이해하기 텍스처로 렌더링 글과 지연 셰이딩 글을 참고하자. Depth Buffer에 대한 이해.. Unreal Engine/Shooting Game 4년 전
[Unreal Engine] 에이밍 시스템 구현하기 (C++) 에이밍 시스템 구현 TPS 게임에서 에이밍 시스템 구현을 다뤄본다. TPS 게임에서 플레이어는 보통 크로스헤어에 총알이 피격되길 기대한다. 이를 위해서는 두 번의 선분과 물체의 충돌 검사를 진행해야 한다. 직관적으로 생각했을 때는 크로스 헤어에서부터 물체까지 한 번의 충돌 검사일 것 같지만 왜 두 번의 충돌 검사가 필요한지 이 글에서 다룬다. 첫 번째 충돌 검사 먼저 화면 2D상의 좌표인 크로스헤어 텍스처 좌표에서 우리가 바라보는 3차원 깊은 방향으로 선분을 그어 물체와 충돌 여부를 파악해야 한다. 즉, 카메라에서 정면으로 레이저를 쏴서 피격되는 곳에 총알이 피격되길 플레이어는 기대한다. 이를 그림으로 표현하면 다음과 같다. 이를 위해서는 먼저 2D상의 크로스 헤어의 좌표를 3D 공간상의 좌표로 계산해야.. Unreal Engine/Shooting Game 4년 전