아래 단계를 따라 피직스가 활성화된 나만의 특별한 축구 게임을 만들어 보세요. 이 게임에서는 플레이어가 곡괭이를 사용하여 상대편의 골문에 공을 넣습니다.
프로젝트 구성
원하는 섬 템플릿에서 새 프로젝트를 생성합니다.
평면 영역에서 작업하려면 기본(Blank) 템플릿을 사용하는 것이 좋습니다.
기본 템플릿으로 시작하는 경우 M_FortniteLandscape_Customizable 머티리얼을 GridPlanes에 적용하여 땅이 잔디처럼 보이게 만듭니다.
메뉴 바의 프로젝트 드롭다운에서 프로젝트 세팅(Project Settings)을 선택합니다.
하단으로 스크롤을 내리고 실험단계 액세스(Experimental Access)에서 피직스(Physics) 체크 박스를 찾아 활성화합니다.
축구공 임포트
선호하는 에셋 마켓플레이스에서 축구공 에셋을 다운로드합니다. 이 예시에서는 .glb 에셋을 사용합니다. 이 에셋에는 스태틱 메시, 텍스처, 머티리얼 인스턴스가 포함되어 있습니다.
스케치팹에 있는 tinmanjuggernaut의 Soccer Ball로, 스케치팹 스탠다드 라이선스에 따라 사용 허가되었습니다.
.glb 파일을 콘텐츠 브라우저(Content Browser)로 드래그하여 공을 임포트합니다. 기본 세팅을 그대로 두어도 됩니다.
편집을 위해 스태틱 메시 에셋을 더블클릭하여 엽니다.
뷰포트에서 표시(Show) > 단순 콜리전(Simple Collision)을 선택합니다.
이미 콜리전이 있는 경우에는 삭제합니다.
상단 리본의 콜리전(Collision) 메뉴에서 스피어 단순화 콜리전 추가(Add Sphere Simplified Collision)를 선택합니다.
디테일(Details) 패널의 콜리전 세팅에서 다음과 같이 설정합니다.
반경(Radius) - 102.0
콜리전 프리셋(Collision Preset) - BlockAll
중앙(Center) - 모든 축에서 0
이제 콜리전이 표시될 것입니다. 스태틱 메시를 저장합니다.
축구공 사물 생성
콘텐츠 브라우저에서 스태틱 메시를 우클릭하고 스크립팅된 에셋 액션(Scripted Asset Actions) > 사물로 변환(Convert to Prop) > 석재(Stone)를 선택합니다.
CustomProps라는 폴더가 프로젝트에 생성됩니다. 폴더를 열고 블루프린트 사물을 씬으로 드래그합니다.
디테일 패널에서 +추가(+Add) 버튼을 누르고 Fort Physics 컴포넌트를 추가합니다.
FortPhysics 컴포넌트에서 다음과 같이 설정합니다.
피직스 시뮬레이션(Simulate Physics) - true
질량 오버라이드(Override Mass) - true
질량(Mass) - 20.0
선형 댐핑(Linear Dampening) - 0.1
각도 댐핑(Angular Dampening) - 0.3
적중 시 충격량 배수(Impulse On Hit Multiplier) - 3.0
축구 게임 요소 추가
아웃라이너에서 IslandSettings0을 선택하고 다음 세팅을 변경합니다.
최대 플레이어(Max Players) - 6
팀(Teams) - 팀 인덱스(Team Index): 2
팀 크기(Team Size) - 균일 분배(Split Evenly)
게임 중 합류(Join In Progress) - 생성(Spawn)
무적(Invincibility) - true
건설 허용(Allow Building) - 없음(None)
곡괭이를 갖고 시작(Start With Pickaxe) - true
6개의 플레이어 생성 장치(Player Spawner)를 배치합니다.
처음 3개: 플레이어 팀(Player Team) - 팀 인덱스(Team Index) 1
나머지 3개: 플레이어 팀(Player Team) - 팀 인덱스(Team Index) 2
게임 내 표시(Visible in Game) - false
지금 세션을 실행하여 모든 것이 예상대로 작동하는지 확인해 보세요.
사물을 사용하여 필드를 제작합니다.
Fortnite > 프리팹(Prefabs)의 콜로설 콜로세움(Colossal Coliseum) 사용
경기장으로 Recreation Soccer Field 사용
콘텐츠 브라우저에서 Recreation SoccerGoal을 찾아 골문 영역용 인스턴스를 2개 배치합니다. 공의 크기보다 크게 1.5x로 스케일을 늘립니다.
장벽(Barrier) 장치를 추가하여 필드를 둘러쌈으로써 공이 경계 바깥으로 날라가지 않도록 합니다.
구역 모양(Zone Shape)을 텅 빈 상자(Hollow Box)로 변경하고 장치의 하단을 지면 아래에 놓습니다. 그렇지 않으면 플레이어 생성 장치에 방해가 됩니다.
플레이어 생성 패드가 아닌 스카이다이빙 모드에서 생성하는 경우, 장치의 하단을 너 낮춰야 하거나, 구역 모양을 텅 빈 상자로 설정하지 않아야 할 수 있습니다.
장치 구성
현재 피직스가 작동하는 장치는 모두 Fortnite > 장치(Devices) > !Experimental 폴더에 있습니다.
골을 탐지하도록 두 개의 볼륨(Volume) 장치를 구성합니다.
팀 1 생성 패드 뒤의 볼륨 장치를 Team_A_Goal로 명명합니다.
팀 2 생성 패드 뒤의 볼륨 장치를 Team_B_Goal로 명명합니다.
크기 세팅 너비(Width) - 0.6
깊이(Depth) - 2.2
높이(Height) - 1.0
추적기(Tracker) 장치를 추가합니다.
이름 - Tracker Score Team A
추적할 통계(Stat to Track) - 점수(Score)
추적기 제목(Tracker Title) - 팀 A 점수
공유(Sharing) - 팀(Team)
추적기 장치를 복제하고 사본의 이름을 Tracker Score Team B로 변경합니다. 추적기 제목을 Team B Score로 변경합니다.
HUD 메시지(HUD Message) 장치를 추가합니다.
이름 - HUD Message Device Score A
음향 재생(Play Sound) - Scoring_Point_Added_Cue
배경(Background) - 컬러 선택
배치(Placement) - 커스텀(Custom)
화면 기준점(Screen Anchor) - 중앙(Center)
메시지(Message) - "팀 A 골!!!(Team A Goal)"
HUD 메시지 장치를 복제합니다.
이름 - HUD Message Device Score B
메시지(Message) - "팀 B 골!!!(Team B Goal!!!)"
배경(Background) - 두 번째 컬러 선택
골문 옆에 비스듬하게 2개의 환풍기(Air Vent) 장치를 추가합니다. 공이 이 환풍기 중 하나를 맞추면 골문 영역에서 공이 멀리 튕겨 나갑니다. 띄우기 강도 배수(Knockup Force Multiplier)를 0.1로 설정합니다.
Verse로 게임 관리 장치 만들기
Verse를 사용하면 가장 빠르고 간편하게 게임을 관리할 수 있습니다. 그러면 게임 관리 장치를 만들어 보겠습니다. Verse 장치를 만드는 방법에 대한 자세한 내용은 Verse를 사용하여 나만의 장치 만들기를 확인하세요.
새 Verse 파일을 생성하고 game_manager.verse로 명명합니다. 파일을 더블클릭하여 VS Code에서 엽니다.
파일에 다음 코드를 추가합니다.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
# A Verse-authored creative device that can be placed in a level
game_manager := class(creative_device):
코드를 컴파일하고 프로젝트를 저장합니다.
공을 숨기고 리셋하는 위치를 미세조정해야 할 수 있습니다.
UEFN에서 방금 생성한 Verse 장치를 씬에 배치하고 편집 가능한 모든 변수를 장치에 연결합니다.
세션을 시작하거나 모든 변경사항을 라이브 편집 세션으로 푸시하고 다음 사항을 확인합니다.
공에 부딪히거나 곡괭이로 치면 공이 움직이는지
공을 골문 안으로 넣으면 HUD 메시지가 나타나고 점수가 변경되며 공이 필드의 중앙으로 리셋되는지
새 축구 게임을 즐겨 보세요!
더 많은 공과 장치를 추가하고 스케일을 변경하는 등 다양하게 실험해 보세요! 아래는 수정된 축구 게임의 예시입니다.