3D 게임을 만들려면 Unity 프로젝트를 설정한 다음 관련 개념을 다음 순서대로 숙지하십시오.
게임 오브젝트는 캐릭터, 프랍, 풍경 등을 나타내는 Unity의 기본 오브젝트입니다. 게임의 모든 오브젝트는 게임 오브젝트에 해당합니다.
게임 오브젝트는 씬이라는 3D 환경에 있습니다. 씬은 게임 레벨이기도 하지만, 메뉴, 게임 끝부분의 크레딧 또는 완전히 다른 요소일 수도 있습니다.
게임 오브젝트의 동작은 컴포넌트라는 기능 블록에 의해 정의됩니다. 게임 오브젝트에 여러 개의 컴포넌트를 연결할 수 있습니다. 다음 컴포넌트는 3D 게임의 기본 요소입니다.
Unity에서는 스크립트를 사용하여 직접 컴포넌트를 만들 수 있습니다. 스크립트를 사용하면 게임 이벤트를 트리거하고, 시간의 경과에 따라 컴포넌트 프로퍼티를 수정하고 사용자의 입력에 응답할 수 있습니다. Unity는 C# 프로그래밍 언어를 기본으로 지원합니다. 다음은 게임에서 스크립트를 사용할 수 있는 방법의 예입니다.
Unity에서 스크립트를 사용하는 방법을 알아보려면 스크립팅 개요를 참조하십시오. 스크립팅 기초를 알아보려면 Unity Learn의 스크립팅 기초 교육 과정을 수강하십시오. 보다 심층적인 내용을 알아보려면 코드를 사용하여 만들기 및 크리에이터 키트: 코드 기초 예시 프로젝트를 참조하십시오.
모델은 오브젝트를 3D로 나타낸 것입니다. 3D 게임을 위한 시각 요소는 대부분 캐릭터, 상호작용 가능한 오브젝트 및 플레이어 주변의 월드와 같은 모델로 구성됩니다.
Probuilder와 같은 툴을 사용하여 Unity에서 모델을 만들 수 있습니다. 단, 이러한 툴은 최종 산출물보다는 프로토타이핑에 더 적합합니다.
최종 산출물에 보다 완성도 높은 3D 에셋을 추가하려면 3D 모델링 소프트웨어에서 3D 모델, 머티리얼과 텍스처를 만들고 Unity로 임포트하십시오.
Unity는 .fbx 모델 포맷을 사용합니다. 기타 자주 사용되는 네이티브 모델 포맷(예: .max, .blend, .mb, .ma)을 사용해도 되며, 이러한 모델 포맷이 임포트되면 Unity가 이를 .fbx로 변환합니다.
Unity로 모델을 임포트하여 프로젝트에서 사용하십시오.
3D 메시는 3D 모델의 구조적 빌드입니다. 3D 메시는 여러 개의 폴리곤 셰이프로 구성됩니다. 게임 오브젝트에 3D 모델을 추가하려면 게임 오브젝트에 메시 필터를 추가하십시오. Mesh Renderer 컴포넌트는 씬에 메시를 렌더링합니다. 모델이 게임에 나타나게 하려면 Mesh Filder 컴포넌트가 있는 게임 오브젝트에 메시 렌더러를 추가하십시오.
머티리얼은 텍스처, 컬러 틴트와 셰이더와 같은 표면의 시각적 형상 정보를 조합합니다. 머티리얼을 사용하여 표면을 렌더링하는 방법을 정의하십시오.
Unity Learn의 [머티리얼 디자인]에 대한 튜토리얼(https://learn.unity.com/tutorial/shading-material-design)을 참조하십시오.
환경 디자인은 게임플레이가 진행되는 환경을 만드는 과정입니다. Unity 에디터에서 환경을 디자인하는 동시에 빌드할 수도 있고, Unity 외부에서 환경을 디자인한 다음 Unity에서 빌드할 수도 있습니다.
게임 내 환경을 빌드하려면 씬에 게임 오브젝트를 추가하고 선호와 디자인에 맞춰 위치를 지정해야 합니다. Unity 에디터에서는 씬에 모델을 직접 배치할 수 있을 뿐 아니라, 빌트인 터레인 기능을 사용하여 게임에 랜드스케이프를 추가할 수 있습니다. 에디터에서 여러 개의 터레인 타일을 만들고, 랜드스케이프의 높이나 형상을 조정하고, 랜드스케이프에 나무나 풀을 추가할 수 있습니다. 터레인 만들기 및 사용에 대해 자세히 알아보십시오.
다른 프로그램에서 제작한 애니메이션을 임포트하거나, 에디터에서 직접 에셋을 애니메이션화할 수 있습니다. 3D 애니메이션에 대해 자세히 알아보려면 Unity Learn의 3D 애니메이션 시스템 소개 교육 과정을 참조하십시오.
애니메이션이 포함된 모델을 임포트하면, Unity가 애니메이션 클립을 임포트할 수 있습니다. 즉, 다른 프로그램에서 모델을 애니메이션한 다음 Unity에서 클립에 액세스하여 조작할 수 있습니다.
Unity 내에서 직접 애니메이션 클립을 만들고 수정하려면 Animation 창을 사용하십시오. 씬 내 게임 오브젝트에 간단한 애니메이션(예: 포지션, 크기, 회전 변경 등)을 추가하려면 키프레임 애니메이션을 사용하십시오.
재생할 애니메이션 클립을 제어하려면 Animator 클래스로 스크립트에서 해당 클립을 직접 호출하거나, Animator 창에서 애니메이터 컨트롤러를 만들고 수정하십시오.
Animator 창을 사용하여 다음을 수행할 수 있습니다.
씬에 조명을 추가하여 환경에 뎁스와 분위기를 더하고, 플레이어가 여러분이 만든 게임 월드를 경험할 수 있게 하십시오. 조명을 설정하려면 다음 단계를 따르십시오.
Unity Learn의 URP의 조명 튜토리얼을 참조하십시오.
Unity에서 게임에 배경 음악과 음향 효과를 추가할 수 있습니다. 오디오 개요를 참조하십시오. 타사 소프트웨어를 사용하여 오디오를 만든 다음, 권장 설정의 Unity로 임포트하면 됩니다.
Unity의 물리 엔진을 사용하여 게임 오브젝트의 상호작용 방식을 제어하십시오. 물리 엔진으로 중력 및 메커니즘과 같은 힘을 리플리케이트할 수 있습니다. 이러한 힘은 현실에서의 충돌 시 게임 오브젝트의 동작을 정의합니다. 물리 설정을 통해 게임 디자인에 알맞은 커스텀 물리를 만들 수도 있습니다. 이러한 커스텀 물리는 현실을 정확하게 시뮬레이션하지 않을 수 있습니다. Unity의 물리 엔진을 사용하는 방법을 알아보려면 Unity Learn의 물리 튜토리얼을 참조하십시오. 자세한 내용은 사용자 매뉴얼의 물리 섹션을 참조하십시오.
게임 오브젝트의 물리를 설정하려면 다음 단계를 따르십시오.
게임에 메뉴나 도움말을 추가하려면 사용자 인터페이스를 설정해야 합니다. 사용자 인터페이스를 설정하려면 Unity UI를 사용하십시오.