아래는 엔티티, 컴포넌트, 프리팹을 프로젝트에 추가하기 위한 워크플로입니다. 이러한 워크플로를 사용하여 복잡한 오브젝트를 제작한 후 경험에 추가할 수 있습니다.
엔티티 생성하기
엔티티를 생성하려면 다음 작업을 수행합니다.
액터 배치(Place Actors) 패널을 엽니다.
엔티티 아이콘을 선택합니다.
뷰포트에 빈 엔티티를 드래그합니다.
디테일(Details) 패널에서 엔티티에 컴포넌트를 추가하는 작업을 시작할 수 있습니다.
아웃라이너를 통해 더 많은 엔티티 추가하기
씬에 엔티티가 생겼다면, 아웃라이너를 통해 더 많은 엔티티를 추가할 수 있습니다.
엔티티를 복제하면 아웃라이너에 더 많은 엔티티가 생성됩니다.
또한 아웃라이너에서 엔티티를 우클릭하고 다음 옵션 중에서 선택할 수도 있습니다.
엔티티 추가(Add Entity): 이 옵션은 원래 선택했던 엔티티 아래 중첩된 새 엔티티를 추가합니다.
새 엔티티 아래에 그룹화(Group Under New Entity): 이 옵션은 원래 선택했던 엔티티의 부모가 되는 새 엔티티를 생성합니다. 원본 엔티티가 다른 엔티티 아래 중첩된 경우, 구조는 동일하게 유지되면서 새 엔티티가 원본 부모와 자손 엔티티 간에 삽입됩니다.
엔티티 중첩 및 구조화하기
엔티티를 계층형 구조에 배치하면 계층구조 내에서 엔티티 간의 관계가 생성됩니다. 중첩 구조에는 4가지 레벨이 있습니다.
조상(Ancestor): 부모 위의 레벨(부모, 조부모, 증조부모 등).
후손(Descendent): 현재 선택한 엔티티의 아래 레벨(자손, 자손의 자손 등).
부모(Parent): 현재 선택한 엔티티의 한 레벨 위에 있는 하나의 조상.
자손(Child): 현재 선택한 엔티티의 한 레벨 아래에 있는 후손.
이 구조에서 조상 엔티티는 아래에 중첩된 모든 엔티티의 수명을 제어합니다.
아래 예시에서 가로등 자체는 컴포넌트가 설정된 대로 가로등의 스태틱 메시라는 하나의 역할만 할 수 있는 단순한 게임 오브젝트입니다.
Rotation_Point 엔티티, Dock_Lantern 엔티티, SpotLight 엔티티가 Default_Wooden_LightPost_Prefab_C 엔티티 아래에 중첩되면, 가로등에 자손의 특성이 반영되면서 더 복합적인 게임 오브젝트가 만들어집니다.
여기에는 몇 가지 이유가 있습니다.
엔티티의 컴포넌트 기능을 확장하여 엔티티가 씬에서 작동하는 방식을 지정합니다.
자손 및 후손 엔티티가 부모 및 조상 엔티티와 상호작용하는 방식을 결정합니다.
계층형 구조는 게임 내 오브젝트 수명을 나타냅니다. 조상 오브젝트가 파괴되는 경우 모든 후손 및 자손 오브젝트도 마찬가지로 파괴됩니다.
엔티티를 그룹화할 때는 부모 엔티티가 어떤 엔티티인지 알 수 있도록 이름을 변경하세요.
중첩이라는 콘셉트는 다양하게 활용 가능합니다. 예를 들어, 건물 틈새의 유사성을 줄이기 위해 건축 에셋을 정렬할 수 있습니다.
후손 엔티티는 월드 내 조상의 위치를 기준으로 오프셋이 적용될 수 있습니다. 따라서 씬에서 복제되거나 이동할 때 건물의 벽, 바닥 등의 배치를 제어하는 중앙 피벗 포인트를 설정할 수 있습니다.
컴포넌트 추가하기
엔티티에 컴포넌트를 추가하는 경우 프로젝트 내 게임 오브젝트의 비헤이비어가 결정됩니다.
엔티티에 컴포넌트를 추가하고 디테일(Details) 패널에서 커스터마이징하려면 다음 작업을 수행합니다.
뷰포트 또는 아웃라이너에서 엔티티를 선택합니다.
엔티티의 디테일 패널에서 +컴포넌트(+Component)를 선택합니다.
컴포넌트 드롭다운 메뉴에서 컴포넌트를 찾아 선택합니다. 이렇게 하면 엔티티에 컴포넌트가 추가되며, 해당 컴포넌트의 엔트리 필드가 엔티티의 디테일 패널에 나타납니다.
디테일 패널의 컴포넌트 옵션에서 컴포넌트를 커스터마이징합니다.
컴포넌트는 메시처럼 단순할 수도 있고, 커스텀 Verse 스크립트처럼 복잡할 수도 있습니다. 하나의 엔티티에 다수의 컴포넌트를 할당하여 해당 엔티티가 프로젝트에서 작동하는 방식을 정의할 수 있습니다. 하지만 한 번에 하나의 엔티티에서 하나의 컴포넌트 타입만 사용할 수 있습니다.
따라서 컴포넌트 타입을 선택하면 같은 엔티티에 이 컴포넌트 타입을 재사용할 수 없습니다. 같은 컴포넌트를 사용하려면 다른 엔티티에 추가하고 같은 컴포넌트를 새 엔티티에 추가해야 합니다. 씬 그래프에서 사용 가능한 컴포넌트에 대해 자세히 알아보려면 컴포넌트를 참고하세요.
필요한 컴포넌트를 찾을 수 없다면 자신만의 컴포넌트를 만들 수 있습니다. Verse에서 직접 컴포넌트를 생성하는 방법을 확인해 보세요.
현재는 주어진 컴포넌트 서브클래스를 하나만 추가할 수 있습니다. 예를 들어 엔티티가 가질 수 있는 point_light_component는 하나지만, 엔티티가 point_light_component와 rect_light_component를 하나씩 가질 수는 있습니다. 동일한 제한이 Verse에서 만든 커스텀 컴포넌트에도 적용됩니다.
에셋 생성 컴포넌트
에셋 생성 컴포넌트란 프로젝트의 기존 콘텐츠(예: 메시, 사운드 또는 파티클 시스템 에셋)에 따라 자동으로 생성되는 컴포넌트 클래스입니다. 이러한 에셋에는 생성된 컴포넌트에서 수정할 수 있는 프로퍼티가 노출될 수도 있습니다.
컴포넌트 오버라이드하기
프리팹 에디터의 디테일 패널이나 씬에서 컴포넌트를 오버라이드할 수 있습니다. 즉, 새로운 엔티티를 생성하거나 현재 컴포넌트를 제거할 필요 없이 신규 기능을 추가하거나 컴포넌트에 연결된 에셋을 변경하여 컴포넌트의 특성을 변경할 수 있습니다.
컴포넌트는 4가지의 서로 다른 오버라이드 상태를 가질 수 있습니다. 이러한 상태는 다음 컴포넌트 카드에서 볼 수 있습니다.
| Image | 이름 | 설명 |
|---|---|---|
오버라이드 없음(No Override) | 컴포넌트에 오버라이드가 없습니다. | |
여기에 오버라이드(Override Here) | 컴포넌트가 이 수준에서 오버라이드됩니다. | |
내부 오버라이드(Override Inside) | 컴포넌트가 오버라이드 상태를 옵션 중 하나에서 가집니다. [INCLUDE:#state] | |
고유 오버라이드(Unique Override) | 오버라이드가 이 프리팹 인스턴스에 대해 고유합니다. [INCLUDE:#state] |
컴포넌트를 오버라이드하려면 다음 작업을 수행합니다.
컴포넌트의 디테일 패널에서 더하기(+) 모양의 컴포넌트 카드 드롭다운 메뉴 버튼을 클릭합니다.
드롭다운 메뉴에서 컴포넌트 오버라이드(Override Component)를 선택합니다.
아래 이미지에서 디테일 패널의 컴포넌트 옆 모든 빈 아이콘에 이제 오버라이드 아이콘이 표시됩니다.
또한 라이트 컴포넌트의 기본값을 높이는 등 컴포넌트 옵션의 기본값을 변경하면 해당 컴포넌트 기능에 대한 오버라이드도 생성됩니다. 기본값을 변경하는 경우, 기본값이 변경되었다는 신호를 보내기 위해 컴포넌트 컨트롤 버튼에 + 아이콘이 표시됩니다.
오버라이드 지우기
원본 프리팹 디자인으로 돌아가려면 다음 작업을 수행합니다.
디테일 패널에서 컴포넌트 카드 드롭다운 메뉴 버튼을 클릭합니다.
오버라이드 지우기(Clear Override)를 선택합니다. 프리팹이 원래 상태로 되돌아갑니다.
컴포넌트 제거하기
엔티티에서 컴포넌트를 제거하려면 다음 작업을 수행합니다.
컴포넌트의 디테일 패널에서 더하기(+) 모양의 컴포넌트 카드 드롭다운 메뉴 버튼을 클릭합니다.
드롭다운 메뉴에서 컴포넌트 제거(Remove Component)를 선택합니다. 컴포넌트가 엔티티에서 제거됩니다.
이 워크플로는 프리팹 에디터에서도 작동합니다.
엔티티를 프리팹으로 저장하기
엔티티를 생성하고 컴포넌트를 엔티티에 추가했다면, 특정 엔티티를 프리팹으로 저장할 수 있습니다. 즉, 동일한 엔티티 및 컴포넌트 구조의 인스턴스를 다수 생성할 수 있으며, 이 경우 변경사항은 모든 인스턴스로 즉시 전파됩니다. 프리팹을 생성하고 변경사항을 전파하는 방법을 알아보려면 프리팹 및 프리팹 인스턴스를 참고하세요.
포크리에서 씬 그래프로 작업하기
포크리에서 씬 그래프 엔티티(Scene Graph Entity)를 사용할 수 있습니다. 휴대폰 도구(Phone Tool)를 사용하면, 편집 모드(Edit Mode)와 같은 친숙한 컨트롤과 피드백으로 씬 그래프의 기본 편집 기능을 사용할 수 있습니다. 이러한 지원 기능 덕분에 휴대폰 도구로 씬에서 모든 엔티티 및 액터와 동시에 상호작용할 수도 있습니다.
포크리와 씬 그래프 사이의 이러한 기본적인 상호작용은 전체 엔티티 계층구조가 휴대폰 도구에 의해 하나의 오브젝트로 선택되기 때문에 가능합니다.
씬 그래프 엔티티는 포크리 편집 모드에서는 생성할 수 없습니다.