Unity 검색

3D 실시간 렌더링

Unity에서 3D 개발을 이제 막 시작하는 경우 렌더링(Rendering)이란 정확히 무엇인지 궁금할 수도 있습니다. 가끔 3D 그래픽을 사용하거나 3D 제작을 처음 시작하는 경우 렌더링이 다른 3D 그래픽의 요소보다 어렵게 느껴질 수 있습니다.

다행히도 프로젝트가 의도하는 데로 보이고 작동하도록 Unity에서 렌더링을 설정하는 방법에 대한 많은 기술 자료가 있습니다.

3D 실시간 렌더링의 정의 및 작동 방법

3D 렌더링이란 컴퓨터에 저장된 3D 데이터를 기반으로 이미지를 생성하는 과정입니다. 렌더링은 조명을 사용하여 최종적으로 이미지를 생성하기 때문에 사진 또는 영화 촬영과 같은 창작 과정으로 여겨집니다.

3D 렌더링을 진행할 때 컴퓨터 그래픽은 3D 와이어프레임(Wireframe) 모델을 사실적이거나 최대한 사실적인 3D 효과를 적용한 2D 이미지로 전환합니다. 하나의 이미지 또는 프레임을 렌더링하는 데 수초에서 수일의 시간이 소요될 수 있습니다. 3D 렌더링에는 실시간(Real-time) 렌더링과 오프라인(Offline) 혹은 사전 렌더링(Pre-rendering)이라는 두 가지 유형이 있으며, 이 둘의 주요 차이점은 이미지가 계산되고 처리되는 속도입니다.

비디오 게임 및 인터랙티브 그래픽스에서 가장 흔한 실시간 렌더링에서는 3D 이미지가 매우 빠른 속도로 계산되기 때문에 플레이어가 게임과 인터랙션할 때 수많은 이미지로 구성된 씬이 마치 실시간으로 진행되는 것처럼 보입니다.

그렇기 때문에 실시간 렌더링 과정에서 인터랙션과 속도가 중요한 역할을 합니다. 예를 들어 씬 내에서 캐릭터를 이동하고 싶다면 다음 프레임을 생성하기 전에 캐릭터의 움직임이 반영되도록 하여 사람의 눈이 움직임을 자연스럽게 인지할 수 있는 속도로 프레임이 재생되어야 합니다.

실시간 렌더링의 주요 목표는 일반적으로 허용되는 최저 렌더링 속도인 초당 24프레임 이상으로 가능한 한 최고의 실사 수준을 구현하는 것입니다. 초당 24프레임의 속도는 사람의 눈이 대상이 마치 움직이는 것처럼 인지하도록 하기 위한 최저 속도입니다.

렌더링은 수많은 정교한 계산을 기반으로 하지만 최신 소프트웨어는 여러 가지 쉬운 파라미터를 제공하기 때문에 이해하고 작업하기에 편리합니다. 최신 3D 게임 엔진에는 일반적으로 렌더링 엔진이 포함되어 있으며 이를 통해 뛰어난 그래픽을 구현할 수 있습니다.

Unity를 통한 실시간 렌더링

real time rendering in unity

Unity를 통해 인터랙티브 프로젝트를 제작하면 밝은 낮에서 화려한 네온사인 불빛이 아른거리는 밤까지, 내리쬐는 햇볕에서부터 적막한 밤거리와 어둑한 터널에 이르기까지, 관객의 마음을 사로잡는 멋진 환경을 만들 수 있습니다.

2D, 3D, 모바일 또는 콘솔 게임 등 어떤 게임을 개발할 때든지 Unity의 스크립터블 렌더 파이프라인(SRP)에서 아름다운 이미지를 생성하고 특정 하드웨어에 맞게 최적화할 수 있습니다.

예를 들어 HRDP(고해상도 렌더 파이프라인)는 고사양 PC 및 콘솔을 대상으로 하고, LWRP(경량 렌더 파이프라인)는 모바일을 대상으로 합니다.

Unity 그래픽스 렌더링(Graphics Rendering)에 대해 읽어보기

최신 버전 Unity의 그래픽 업데이트 사항

3D 및 2D 실시간 렌더링

real time rendering 3D and 2D

Unity에서 2D 혹은 3D 중 어떤 프로젝트를 제작할지 결정하지 못했다면, 모든 유형의 2D 및 3D 게임을 제작하거나 이 두 가지의 요소를 섞어 2.5D 인터랙티브 환경을 구현할 수 있는 자유도와 전문적인 툴세트가 있음을 기억하세요.

Unity에서 스프라이트 렌더러(Sprite Renderer)를 이용해 2D 또는 3D 씬에서 스프라이트(Sprite) 유형 이미지를 렌더링할 수 있습니다. 이 컴포넌트를 통해 이미지를 2D 또는 3D 씬에 활용할 수 있는 스프라이트로 나타낼 수 있습니다.

Unity는 레이어 분류의 개념을 이용해 스프라이트를 오버레이(Overlay) 우선 순위에 맞춰 그룹으로 나눌 수 있게 하고, 또한 레이어의 순서를 이용해 동일한 레이어 내의 스프라이트에 일관된 우선 순위를 적용합니다.

Unity 스프라이트 렌더러(Sprite Renderer)에 대해 자세히 알아보기

2D 또는 3D 게임 제작 방법을 실전으로 배우고 싶다면 Unity 콘텐츠 팀에서 두 가지 포괄적인 게임 키트인 2D 게임 키트3D 게임 키트를 제공합니다. 두 키트 모두 코드를 작성할 필요 없이 게임플레이를 구현하는 메카닉스, 툴, 시스템 및 에셋의 컬렉션입니다.

실시간 렌더링 예시

사자의 서

book of the dead

사자의 서(Book of the Dead)는 Unity의 렌더링 아키텍처에 대한 향상된 커스텀 기능을 제공하여 개발자의 활동 반경을 넓히는 2018년 Unity의 새로운 스크립터블 렌더 파이프라인의 가능성을 보여줍니다. ADAMThe Blacksmith의 제작자인 Unity의 데모 팀도 실시간 환경 에셋을 활용했습니다. 모든 에셋은 현실 세계의 물건 및 텍스처를 스캔하여 만들었습니다.

사자의 서에 대해 자세히 알아보기

사자의 서 환경 프로젝트 출시

사자의 서 컨셉 아트에 대해 자세히 알아보기

ADAM

ADAM

ADAM은 Unity 데모 팀에서 Unity를 이용하여 제작한 단편 영화이며 실시간 면 광원(Area Light)과 높은 정확도의 물리 시뮬레이션 툴을 광범위하게 활용하여 실시간으로 렌더링되었습니다. 이 단편 영화는 추후 District 9의 감독 닐 블롬캠프(Neill Blomkamp)에 의해 확장되었습니다.

ADAM 제작 과정에 대해 자세히 알아보기

실시간 ADAM의 2편과 3편 영화에서 이목을 끌었던 효과를 구현하기 위해 Unity에서 여러 가지 컴포넌트를 함께 활용하였습니다. 영화 제작을 담당한 팀은 커스텀 셰이더 및 실시간 렌더링을 이용하였습니다.

"실시간 렌더링 기능으로 인해 엔진을 사용할 때 작업하는 느낌조차 들지 않아요." 네이트 홀로이드(Nate Holroyd), 조명 아티스트

ADAM 2편과 3편 제작 비화 알아보기

ADAM 3편의 렌더링 및 셰이딩에 대해 자세히 알아보기

확인

유니티에서는 웹 사이트의 모든 기능을 최대로 이용할 수 있도록 쿠키를 사용합니다. 자세한 정보는 쿠키 정책 페이지를 참조하세요.