온보딩 투어를 완료하고 Roblox Studio의 사용자 인터페이스에 익숙해지면 플랫폼에서 경험을 만들기 시작할 준비가 완료됩니다.
샘플 고품질 카타펄트 자산 팩을 사용하여 이 자습서는 플레이어가 부표 플랫폼에서 대상으로 5개의 발사체를 발사할 수 있는 경험의 생성 프로세스를 안내하며, 다음과 같은 지침을 포함합니다.
- Studio의 프로젝트 템플릿 중 하나를 사용하여 단일 장소에 대한 데이터 모델을 빌드하고 구성합니다.
- 크리에이터 스토어에서 기본 및 복잡한 3D 개체를 사용자 게임 요구에 맞게 고유한 속성으로 사용자 정의합니다.
- Roblox 엔진이 게임 플레이적절하게 시뮬레이션하고 렌더링할 수 있도록 스크립트를 올바른 위치에 구성하고 배치
- 다양한 장치를 사용하여 플랫폼에 액세스하는 전 세계 대상에 크리에이션을 플레이테스트하고 게시하여 플랫폼을 테스트합니다.
이 프로세스를 완료한 후 코어 커리큘럼으로 간단한 3D 플랫폼 경험을 재현하는 방법을 배우거나, 다양한 사용 사례 튜토리얼을 실험하거나, 자신만의 프로젝트를 시작할 수 있습니다.

프로젝트 생성
A 프로젝트 는 경험을 나타내는 자산, 설정 및 기타 리소스의 모음입니다.모든 프로젝트는 플레이어가 경험에 참여할 때 로드하는 단일 장소 로 시작하지만, 같은 경험 내에서 추가 장소를 만들어 다른 게임 플레이 영역에 대한 자산을 구성할 수 있습니다.예를 들어, 플레이어가 광활한 사막이나 스푸키 섬으로 순간이동하기 전에 던전에 참여하도록 하려면 각 지역의 자산을 각자의 플레이스구성할 수 있습니다.

플레이스개체 계층은 그 데이터 모델이며, 3D 세계를 구성하는 개체에서 런타임 행동을 제어하는 개체까지 그 게임 영역을 구성하는 모든 것을 설명합니다.프로젝트를 처음 열 때 시작 플레이스데이터 모델은 상대적으로 간단하지만, 경험에서 구현하려는 개체 수, 상호 작용 또는 동작에 따라 빠르게 더 복잡해질 수 있습니다.


첫 번째 경험을 위해 이 자습서는 Studio의 프로젝트 템플릿 중 하나를 사용하여 단일 장소에 대한 데이터 모델을 빌드하고 구성하는 방법을 가르쳐줍니다. 프로젝트 템플릿 은 시작 플레이스데이터 모델에서 다양한 장르에 대한 경험을 구축하는 데 사용할 수 있는 기본 개체 집합을 제공하기 때문에 유용합니다.
예를 들어, 펼쳐지는 도시로 롤플레이 경험을 빌드하려는 경우, 함께 스냅해서 독특한 건물 변형을 만들 수 있는 재사용 가능한 벽, 창문 및 문 개체를 포함하는 현대 도시 템플릿을 열 수 있습니다.마찬가지로, 레이싱 경험을 구축하려는 경우, 수많은 구성에서 재구성할 수 있는 작동 레이스카와 회오리 트랙 개체를 포함하는 레이싱 템플릿을 열 수 있습니다.


간단하게 유지하기 위해 이 자습서에서는 기본 플레이트 템플릿을 사용하여 플랫폼의 거의 모든 경험에 중요한 두 개의 기본 개체를 포함하는 프로젝트를 만드는 방법을 알려줍니다.
- 스폰 위치 – A SpawnLocation 개체는 플레이어 캐릭터가 경험에 참여할 때 3D 공간에 나타나는 곳이자 체력이 0에 도달할 때 재생성되는 곳입니다.
- 기본 플레이트 – 기본 플레이트는 4x4 격자 텍스처가 있는 바닥입니다.
이 템플릿은 중립적인 세계에 고품질 조명 기술을 제공하고 그리드에서 3D 개체를 위치하고 방향을 조정할 수 있는 바닥을 제공하므로 첫 번째 경험을 만드는 좋은 출발점입니다.스터드는 스튜디오의 기본 길이 단위이며, 각 스터드는 약 28cm에 해당합니다.Studio의 주요 유닛에 대한 자세한 정보는 Roblox 유닛을 참조하십시오.

베이스플레이트 템플릿으로 프로젝트를 열려면:
Open Roblox Studio 를 엽니다. 착륙 페이지에는 사용 가능한 모든 프로젝트 템플릿이 표시됩니다.
기본 플레이트 템플릿 타일을 선택합니다. Studio는 스폰 위치와 기본 플레이트를 사용하여 새로운 경험을 엽니다.
자산 팩 받기
이제 프로젝트가 열려 있으므로 스폰 위치와 베이스플레이트 외에 추가 3D 개체를 데이터 모델에 추가할 수 있습니다.Studio는 3D 공간에서 물리 시뮬레이션으로 렌더링되는 BasePart 개체로 3D 개체를 나타내며, 중력, 마찰 및 포스와 같은 실제 세계 물리 행동을 모방합니다.
여러 유형의 BasePart 개체가 있지만 가장 일반적인 것은:
- 부품 – A Part 개체는 Studio의 기본 3D 개체로, 5가지 다른 모양의 공, 블록, 실린더, 쐐기, 그리고 모서리 쐐기로 구성됩니다.
- 메쉬 – MeshPart 개체는 타사 모델링 응용 프로그램에서 개체를 구성하는 변형, 가장자리 및 면의 집합입니다.
3D 개체의 두 유형에 익숙해지도록 돕기 위해 이 자습서에서는 다음 부분과 메쉬를 포함하는 자산 팩을 제공하여 첫 번째 경험에 대한 핵심 게임플레이를 만듭니다.



이 자산 팩은 크리에이터 스토어 에서 찾을 수 있으며, 모델, 이미지, 메쉬, 오디오, 플러그인, 비디오 및 폰트 자산을 포함하여 Roblox와 Roblox 커뮤니티의 자산을 사용할 수 있는 마켓플레이스입니다.크리에이터 스토어는 Studio 내 도구 상자 및 크리에이터 허브에서 직접 액세스할 수 있으며, 도구 상자에서도 액세스할 수 있습니다.이 마켓플레이스에 대한 자세한 정보는 크리에이터 스토어에 참조하십시오.

크리에이터 스토어에서 이 자습서의 자산 팩을 스튜디오 인벤토리에 삽입하려면 다음 구성 요소의 인벤토리에 추가 링크를 클릭하십시오.자산이 인벤토리에 있으면 플랫폼의 모든 프로젝트에서 다시 사용할 수 있습니다.
인벤토리에서 경험으로 이 자산 팩을 가져오려면:
도구 모음에서 보기 탭을 선택합니다.
클릭하십시오 도구 상자 . 도구 상자 창이 표시됩니다.
도구 상자 창에서 인벤토리 탭을 클릭하십시오. 내 모델 정렬이 표시됩니다.
클릭하십시오 Studio - Catapult & Platforms 타일. 자산 팩이 뷰포트에 표시됩니다.
대상 사용자 지정화
경험에 3D 개체를 추가하면 Studio는 탐색기 창을 업데이트하여 개체의 이름과 Workspace 내의 자식 네스트를 표시합니다.예를 들어, 뷰포트에 카타펄트 모델을 추가한 후, 탐색기 창에서 스폰 위치와 기본 플레이트 옆에 IntrotoStudioCatapult 폴더와 자식 자산이 표시됩니다.

탐색기 창은 경험에서 열린 장소의 데이터 모델을 나타내는 기본 Studio 창입니다.즉, 여러 장소에 대한 경험이 있는 경우 현재 작업 중인 장소에 따라 다른 개체가 이 창에 표시됩니다.
탐색기 창에서 개체를 선택하면 Studio는 스크립트를 사용하지 않고 해당 개체에 대해 사용자 지정할 수 있는 속성의 선택을 표시하기 위해 속성 창을 업데이트합니다. 예를 들어 개체의 크기, 색상, 위치 또는 방향.이 과정을 보여주기 위해, 이 튜토리얼의 이 섹션에서는 떠있는 플랫폼의 회색 대상의 시각적 및 행동적 특성을 사용자 정의하는 방법에 대한 지침을 제공합니다.
대상을 사용자 지정하려면:
대상 개체 중 하나를 선택합니다.
탐색기 창에서 Explorer 창에서 IntroToStudioCatapult 폴더의 왼쪽에 있는 드롭다운 화살표를 클릭하여 모든 자식을 표시합니다.
이 프로세스를 사용하여 타겟 플랫폼 폴더, 바닥에 떨어진 카타펄트 플랫폼에 가장 가까운 자식 타겟 플랫폼 모델, 그리고 그 자식 타겟 파트 폴더를 확장하여 플로팅 플랫폼에서 모든 부품을 표시합니다.
부품 중 하나를 클릭합니다.보기 창 개체를 선택했음을 나타내기 위해 개체 주위의 개요를 표시하고, 속성 창이 해당 특정 부분에 대한 사용자 지정 가능한 속성의 선택을 표시하도록 업데이트됩니다.
속성 창 에서,
- BrickColor 을 부품을 염색하려는 색상으로 설정합니다.
- X, Y 및 Z축을 따라 부품이 가지길 원하는 크기 를 설정합니다.
- CFrame.Position 을 플랫폼에서 부품이 있어야 하는 위치로 설정합니다.
- CFrame.Orientation 을 Y축을 따라 부품이 가지고 있어야 하는 회전으로 설정하십시오.
부유 플랫폼의 다른 부품에 대해 이 프로세스를 반복합니다.
스크립트 정리
프로젝트 내에서 데이터 모델을 구성하는 방법에는 많은 유연성이 있지만, Roblox 엔진은 서버와 클라이언트 사이에서 시뮬레이션 및 렌더링 기능이 제대로 작동하려면 특정 컨테이너 서비스에 특정 개체가 있어야 한다고 기대합니다. 서버 는 경험의 상태를 유지하는 최종 권한을 수행하는 Roblox 컴퓨터를 가리키며, 모든 연결된 클라이언트 나 모바일 전화기 및 노트북과 같은 플레이어 장치를 진실의 근원과 동기화하여 유지합니다.

컨테이너 서비스의 주요 범주는 다음과 같습니다:
- 작업 공간 - 3D 세계에서 렌더링하는 개체를 포함합니다.
- 환경 - 환경 설정 및 요소의 개체를 포함합니다.
- 복제 - 서버와 클라이언트 사이에서 복제되는 콘텐츠와 논리를 포함합니다.
- 서버 - 서버 전용 콘텐츠 및 로직만 포함합니다.
- 클라이언트 - 클라이언트 측 콘텐츠 및 로직을 포함합니다.
- 채팅 - 채팅 기능을 활성화하는 개체를 포함합니다.
이 자습서의 지점까지, 데이터 모델의 Workspace 서비스에 있는 개체와만 상호작용했습니다.그러나 카타파ult가 제대로 작동하려면 자식 스크립트 개체 일부를 다른 컨테이너 서비스로 이동해야 합니다.Roblox는 개체 행동을 수정하고 경험의 전반적인 논리를 구현하는 Luau 코드를 포함하기 위한 두 가지 종류의 스크립트 개체를 제공합니다:
- Scripts - 설정 속성에 따라 서버나 클라이언트에서 실행할 수 있는 스크립트입니다. RunContext - 속성 집합에 따라 서버나 클라이언트에서 실행할 수 있는 스크립트입니다.
- ModuleScripts - 서버와 클라이언트 스크립트 모두에서 요구할 수 있는 재사용 가능한 스크립트.
A Script 개체의 RunContext 속성은 스크립트가 클라이언트 또는 서버에서 실행되는지 여부를 결정합니다. 실행 컨텍스트에는 세 가지 유형이 있습니다.
- 유산 - 스크립트는 부모 컨테이너에 따라 실행됩니다. 유산은 기본 실행 컨텍스트입니다.
- 서버 - 스크립트는 부모 컨테이너에 관계없이 서버에서만 실행됩니다.
- 클라이언트 - 스크립트는 부모 컨테이너에 관계없이 클라이언트에서만 실행됩니다.
스크립트가 실행되는 위치를 인식하는 것이 중요하며, 그렇지 않으면 개체가 원하는 대로 동작하지 않을 수 있습니다.예를 들어, 지금 경험을 플레이테스트하면 플레이어가 카타펄트에 발사체를 장착하거나 목표물에 발사할 수 없습니다.게임플레이가 제대로 작동하도록 하려면 ReplicatedStorage 및 ServerScriptService 폴더 내의 자식을 각각의 컨테이너 서비스로 이동해야 합니다.
ReplicatedStorage 은 서버와 연결된 클라이언트 모두에서 사용할 수 있는 개체를 포함하여 플레이어가 UI를 표시하기 전에 발사하는 발사체의 수를 추적해야 하는 경험의 게임플레이 논리를 위한 최상의 위치를 제공합니다.ServerScriptService 에는 서버 사용을 위한 스크립트 관련 자산만 포함되어 있으므로 발사체를 카타펄트에 연결하고, 특정 방향으로 발사하고, 카타펄트를 시작 위치로 재설정하는 경험의 게임 논리를 최적의 위치로 만듭니다.
카타파ult가 제대로 작동하도록 폴더를 올바른 컨테이너 서비스로 구성하려면:
탐색기 창에서 복제된 저장소 및 서버 스크립트 서비스 폴더를 확장합니다.
ReplicatedStorage 폴더 내의 모든 자식을 선택한 다음 그들을 ReplicatedStorage 서비스로 끌어옵니다.
서버스크립트 서비스 폴더( ServerScriptService ) 내의 모든 자식을 선택한 다음, 그들을 서버스크립트 서비스 서비스로 끌어옵니다.
ReplicatedStorage 및 ServerScriptService 폴더를 삭제합니다.
- 두 폴더를 모두 선택합니다.
- Press Delete를 누르십시오.
이제 카타펄트가 제대로 작동하는지 확인하기 위해 플레이테스트를 수행합니다.
도구 모음에서 플레이 버튼을 클릭하십시오. Studio가 플레이테스트 모드로 들어갑니다.
캐놀라에 얼음 발사체를 장착하고, 가장 가까운 떠있는 플랫폼을 목표로 하여 발사하십시오.
목재 판자 프로젝틀을 카타펄트 에 장착하고, 가장 멀리 떠있는 플랫폼을 목표로 하여 발사하십시오.
플레이테스트를 완료하면 중지 버튼을 클릭하십시오. Studio가 플레이테스트 모드를 종료합니다.
발사체 사용자 정의
프로젝틀은 정확히 동일한 크기이지만, 발사대에서 발사할 때 서로 다른 거리를 이동합니다.이는 각 발사체에 밀도, 탄성 및 마찰을 포함하여 실제 세계의 상대와 물리적 특성을 모방하는 독특한 재료 가 있기 때문입니다.
뉴턴의 두 번째 운동 법칙(Newton's second law of motion)에 따르면, 개체의 가속은 개체에 작용하는 힘과 개체 자체의 질량에 달려 있습니다.카타파ult는 각 시작동일한 힘을 제공하므로, 각 발사체의 가속은 질량에 비례해 변경됩니다.질량이 적은 발사체는 질량이 많은 발사체보다 빠르게 가속되고, 질량이 많은 발사체는 질량이 적은 발사체보다 느리게 가속됩니다.
이 원칙을 실제로 보려면 이전 플레이테스트의 결과를 검사하십시오.WoodPlanks 재료는 Ice 재료보다 밀도가 낮으므로 나무 발사체가 더 빨리 가속되고, 따라서 같은 발사점에서 얼음 발사체보다 더 많은 거리를 이동할 수 있습니다.카타펄트에 가장 가까운 목표물에 나무 발사체를 발사하면 발사체가 전체 플랫폼 위로 이동합니다.마찬가지로, 발사대에서 가장 멀리 있는 목표물에 얼음 발사체를 발사하면 발사체가 거리를 이동하고 목표물에 영향을 미치지 못할 것입니다.
Roblox Studio는 실제 세계 시뮬레이션 엔진으로, 물리적 특성에 따라 개체의 동작이 실시간으로 변화하므로 개체가 어떻게 다르게 동작하는지 고려하는 것이 중요합니다.튜토리얼의 마지막 게임 섹션에서는 목표의 세 번째 부유 플랫폼에 도달할 수 있는 재료로 세 번째 발사체를 사용자 정의하여 실험할 것입니다.각 재료에 대한 물리적 속성 목록을 참조하려면 재료 - 기본 물리적 속성을 참조하십시오.
세 번째 발사체를 사용자 지정하려면:
대상의 세 번째 부유 플랫폼 생성.
- 탐색기 창에서 타겟 플랫폼 개체를 선택합니다.
- 플랫폼과 대상을 복제하려면 CMD + D 을 누르십시오.
- 새로운 플랫폼을 새 위치로 이동하려면 이동 도구를 사용하십시오.
세 번째 발사체의 재료를 변경하여 세 번째 플랫폼의 목표로 이동할 적절한 질량을 갖도록 합니다.
- 탐색기 창에서 프로젝틀 재료 폴더를 확장하고 프로젝틀C 를 선택합니다.
- 속성 창 에서 부품을 시뮬레이션하려는 실제 세계 재료에 재료 를 시각적 및 물리적 특성을 포함하여 설정하십시오.이 재료는 새 플랫폼에 도달하기 위해 적절한 질량을 필요로 합니다.
프로젝틀이 세 번째 떠있는 플랫폼의 대상에 영향을 미치는지 확인하기 위해 경험을 플레이테스트합니다.
경험 게시
Roblox는 경험을 만들고 실행하기 위한 도구 및 엔진뿐만 아니라, 전화, 컴퓨터, 태블릿, 콘솔 및 VR 하드웨어를 포함한 광범위한 장치에서 플랫폼에 액세스하는 큰 소셜 네트워크에 액세스할 수도 있습니다.경험을 이 글로벌 대상 오디언스에 출시할 준비가 되면 경험의 설정을 게시하고 구성하여 지원하려는 모든 장치에서 모든 플레이어에게 사용할 수 있도록 해야 합니다.

Roblox의 거의 모든 것이 고유한 식별자를 가진 클라우드 기반 자산으로 표시됩니다.이 ID는 일반적으로 rbxassetid://[ID] 형태로 적용되며, 특정 자산 입력적합한 속성으로 다양한 개체에 적용됩니다.경험을 게시할 때, 경험 자체는 UniverseID를 받고, 각각의 개별 장소는 PlaceID를 받습니다.
이 발생하면 크리에이터 대시보드 에서 도구와 리소스를 제공하여 경험과 장소에 대한 작업을 모니터링하고, 관리하고, 수행할 수 있습니다. 예를 들어:
- 분석 기능으로 플레이어 활동, 보존 및 성장을 모니터링하고 분석합니다.
- 다양한 언어로 이루어진 글로벌 청중을 위해 경험 내 콘텐츠를 자동으로 번역하고 로캘라이제이션 기능을 사용합니다.
- 경험 내 구매 및 몰입형 광고 구성을 위한 수익 기능 사용.
크리에이터 대시보드에서 배우는 내용은 프로젝트를 계속 반복하고 대상을 참여시키는 방법에 대한 중요한 통찰력을 제공할 수 있습니다.예를 들어, 대상자가 멀티플레이어 경쟁에 가치를 두는 것을 알게 되면, 각 플레이어가 넘어뜨린 목표 수를 추적하는 여러 카타펄트를 만들고, 한 번의 클릭으로 플랫폼에서 업데이트를 즉시 사용할 수 있도록 경험을 다시 게시할 수 있습니다.
처음으로 경험을 게시하려면:
경험을 클라우드에 업로드합니다.
- 메뉴 바에서 파일 을 클릭한 다음 Roblox에 게시 를 선택합니다.
- 게임 게시 창에서 모든 적용 가능한 필드를 채우십시오 .
- 이름 필드에서 경험의 이름을 제공하십시오.
- 설명 필드에서 플레이어가 경험에서 기대할 수 있는 요점을 요약하십시오 .
- 장르 드롭다운 메뉴에서 경험을 나타내고 싶은 장르를 선택합니다.
- 장치 섹션에서 플레이어가 경험에 액세스하도록 하려는 모든 장치를 활성화합니다.
모든 플레이어에게 경험을 공개합니다.
탐색하여 크리에이터 대시보드로 이동합니다. 크리에이션 착륙 페이지에는 첫 번째 경험이 표시됩니다.
경험의 타일 위로 마우스를 이동하고, ⋯ 버튼을 클릭하고, 컨텍스트 메뉴에서 공개 만들기 를 선택합니다.
(옵션) 다른 사람들과 경험을 공유하십시오.
크리에이터 대시보드에서 타일을 마우스로 가리키고 , ⋯ 버튼을 클릭하고, 컨텍스트 메뉴에서 URL 복사 를 선택합니다.
URL을 다른 사람들과 공유하여 경험의 랜딩 페이지로 직접 연결합니다.