모든 장소는 데이터 모델로 표시됩니다. 데이터 모델은 플레이스대한 모든 것을 설명하는 개체의 계층입니다. 데이터 모델에는 부품, 지형, 조명, 다른 환경 요소와 같은 3D 세계를 구성하는 모든 개체가 포함되어 있습니다. 또한 속성을 수정하는 스크립트,
Roblox 엔진은 플레이스상태에 대한 진실의 근원으로 데이터 모델을 사용하므로 클라이언트 장치에서 시뮬레이션하고 렌더링할 수 있습니다. For more information on how the Roblox 엔진이 데이터 모델을 해석하는 방법에 대한 자세한 내용은 클라이언트-서버 런타임 을 참조하십시오.
개체
Roblox에서 장소를 설명하기 위해 데이터 모델에 개체를 배치하고 구성하십시오. Roblox의 모든 개체는 Instance 클래스에서 상속되는데, 모든 개체에 공통인 일반적인 속
For a comprehensive list of all the features of the Roblox engine, see the Roblox 엔진의 모든 기능에 대한 포괄적인 목록은 참조 문서에서 확인하십시오.
3D 빌딩 블록
BasePart는 세계에서 물리적으로 시뮬레이션된 3D 빌딩 블록의 핵심 클래스입니다. 이는 위치, 크기 및 방향과 같은 속성을 가진 모든 물리적 개체에 공통된 속성 및 메서드를 정의합니다.
개체 | 설명 |
---|---|
Part | 블록, 볼, 실린더, 쐐기 또는 모서리 쐐기의 모양을 취할 수 있는 기본 부품. |
MeshPart | Maya 또는 Blender와 같은 3D 모델링 소프트웨어에서 가져온 메쉬입니다. |
TrussPart | 캐릭터가 사다리처럼 올라갈 수 있는 트러스 빔입니다. |
이론적으로 간단한 부품만 사용하여 완전히 기능적인 Roblox 경험을 만들 수 있지만, 메쉬를 가져와 솔리드 모델링을 통해 기본 부품을 더 복잡한 개체와 구조로 결합할 것입니다.
스크립트
플레이스3D 세계에 상호 작용 및 동작을 추가하고 스크립트로 논리를 정의할 수 있습니다. Lua 프로그래밍 언어로 스크립트를 작성하여 부품 이동, 다른 스크립트 호출, 이벤트 응답 등의 작업을 수행할 수 있습니다. Roblox는 클라이언트-서버 모델로 작동하므로 서버나
- Class.Script 개체는 서버에서만 실행할 수 있는 스크립트를 나타냅니다.
- Class.LocalScript 개체는 클라이언트에서만 실행할 수 있는 스크립트를 나타냅니다.
- Class.ModuleScript 개체는 서버와 클라이언트 스크립트 모두에서 require() 가능한 재사용할 수 있는 스크립트를 나타냅니다.
스크립트가 올바르게 동작하려면 데이터 모델의 올바른 컨테이너에 배치해야 합니다. 자세한 내용은 서버 및 클라이언트 섹션을 참조하십시오.
개체 조직
데이터 모델을 구성하는 방법에는 많은 유연성이 있지만, Roblox 엔진은 특정 개체를 특정 컨테이너 서비스 에 있기를 기대합니다. 이는 특정 행동을 가진 개체를 포함하는 개체입니다. 컨테이너 서비스의 주요 카테고리는 다음과 같습니다.
- 작업 공간 - Workspace에는 3D 세계에서 렌더링되는 모든 개체를 저장합니다.
또한 다음 개체로 개체를 더 구성할 수 있습니다.
- 폴더 - Folder는 조직적인 목적을 위한 것이며 어떤 동작도 정의하지 않습니다. 예를 들어, 폴더를 사용하여 서버 스토리지의 스크립트 세트와 같은 유사한 개체를 그룹화할 수 있습니다.
- 모델 - Model은 의자, 테이블 및 램프가 포함된 책상 세트를 그룹화하는 것과 같은 부품의 기하학적 그룹화 용입니다. 더 복잡한 세트를 구성하려면 모델 내에 모델을 중첩할 수도 있습니다.
작업 공간
Workspace는 플레이스3D 세계를 구성하는 모든 개체를 포함합니다. 기본 부품, 메쉬 부품 및 모델과 같은 개체를 작업 공간에
카메라
Camera 클라이언트가 3D 세계를 보는 방법을 결정합니다. 기본적으로 작업 공간에는 하나의 카메라가 있지만, 다양한 관점과 보기를 생성하기 위해 여러 개의 카메라 개체를 추가할 수 있습니다. 모든 클라이언트는 이러한 설정을 사용하여 서버가 직접 수정할 수 없는 자체 카메라 �
예를 들어, 카메라가 사용자 이동을 따르거나 특정 위치에 고정되도록 설정할 수 있습니다. 또한 시야, 거리 및 각도를 조정하여 사용자가 3D 세계를 보는 방식의 다양한 시각적 효과를 만들 수 있습니다.
자세한 내용은 카메라 사용자 정의를 참조하십시오.
지형
Terrain 을 사용하면 장소에 풍경을 조성할 수 있습니다. 지형에 재료를 적용하여 잔디, 물, 모래 또는 사용자 정의 재료와 같은 원하는 자연 환경을 시뮬레이션할 수 있습니다. 3D 세계에 대한 지형 개체를 하나만 가
자세한 내용은 환경 지형을 참조하십시오.
환경
조명 및 음향 효과는 3D 세계를 훨씬 더 몰입감 있고 현실감 있게 만들 수 있습니다. 이러한 효과를 플레이스추가할 필요는 없지만 시각적으로나 청각적으로 더 매력적으로 만들 수 있습니다.
조명
Lighting 에는 대기 효과를 시뮬레이션하기 위한 Atmosphere 또는 환경의 태양, 달 및 별을 변경하기 위한 Sky 와 같은 장소의 전체 조명 설정을 제어하는 개체가 포함되어 있습니다.
자세한 내용은 조명을 참조하십시오.
음향
SoundService 는 배경 음악이나 환경 음향 효과를 위해 자식 `Class.SoundS 개체의 볼륨 및 재생 설정을 제어할 수 있습니다.
자세한 내용은 음향에参조하십시오.
복제
복제 는 서버가 연결된 모든 클라이언트와 장소의 상태를 동기화하는 프로세스입니다. Roblox 엔진은 많은 경우 서버와 클라이언트 사이에서 데이터, 물리 및 채팅 메시지를 지능적으로 자동으로 복제하지만 특정 컨테이너에 배치하여 복제할 특정 개체를 지정할 수도 있습니다.
ReplicatedFirst
ReplicatedFirst 에는 클라이언트가 귀하의 플레이스합류할 때 복제하려는 개체가 포함되어 있습니다. 일반적으로 클라이언트 측 LocalScript 개체 및 스크립트와 관련된 개체와 같은 플레이어를 초기화하는 데 필수적인 개체가 포함되어 있습니
ReplicatedStorage
ReplicatedStorage 에는 서버와 연결된 클라이언트 모두에게 사
For more information on how replication works, see 클라이언트-서버 런타임 .
서버
데이터 모델은 클라이언트에 결코 복제되지 않는 서버 사이드 개체만 위해 전용 컨테이너를 정의합니다. 이를 통해 서버는 클라이언트의 행동과 상태에 영향을 줄 수 있으면서도 클라이언트에 서버의 개체와 로직을 노출시키지 않습니다.
ServerScriptService
ServerScriptService 에는 Script 개체, 서버 스크립트에 의해 필요로 하는 ModuleScript 개체 및 서버용으로만 사용되는 기타 스크립트 관련 개체가 포함되어 있습니다. 스크
ServerStorage
ServerStorage 에는 서버 사용을 위한 개체만 포함되어 있습니다. 이 컨테이너를 사용하여 런타임에 작업 공간이나 다른 컨테이너에 복제하고 부모가 되는 개체를 저장할 수 있습니다. 예를 들어, 필요할 때만 컨테이너로 이동하고 필요 없을 때는 클라이언트
클라이언트
클라이언트 컨테이너 서비스는 연결된 모든 클라이언트에 복제되는 개체를 위한 것입니다. 이 카테고리의 컨테이너는 연결된 모든 클라이언트에 복제되며 일반적으로 3D 개체와 관련된 LocalScript 개체를 포함합니다. 이 컨테
클라이언트가 서버에 연결하면 Players 컨테이너 서비스가 귀하의 장소에 참여하는 사용자를 감지하고 모든 클라이언트를 위해 Player 개체를 생성합니다. 서버는 편집 데이터
데이터 모델 편집 | 런타임 데이터 모델 | 노트 |
---|---|---|
StarterPack | Player.Backpack | 플레이어의 인벤토리를 설정하는 스크립트이며 일반적으로 Tool 개체를 포함하지만 종종 로컬 스크립트도 포함합니다. |
StarterGui | Player.PlayerGui | 플레이어의 로컬 GUI를 관리할 수 있는 스크립트입니다. 플레이어가 재생성되면 PlayerGui의 콘텐츠가 비워집니다. 서버는 StarterGui 내부의 개체를 PlayerGui에 복사합니다. |
StarterPlayerScripts | Player.PlayerScripts | 클라이언트의 일반 목적 스크립트. 예를 들어, 특정 조건이 충족될 때 클라이언트에서 특수 효과를 생성하려면 이 컨테이너에 로컬 스크립트를 배치하여 수행할 수 있습니다. 서버는 이 컨테이너에 액세스할 수 없습니다. |
StarterCharacterScripts | Player.Character | 스크립트는 플레이어가 생성할 때 클라이언트에 복사됩니다. 이 스크립트는 플레이어가 재생성할 때 지속되지 않습니다. |
ReplicatedFirst | 이 컨테이너의 콘텐츠는 다른 무엇보다 먼저 모든 클라이언트에 복제(그러나 서버에 다시 복제되지 않음)됩니다. |
채팅
TextChatService
TextChatService는 채널 관리, 메시지 장식, 텍스트 필터링, 명령 생성 및 사용자 정의 채팅 인터페이스 개발과 같은 다양한 경험 없는 텍스트 채팅 작업을 처리하는 서비스를 나타냅니다.
자세한 내용은 경험 내 텍스트 채팅 시스템에 참조하십시오.
VoiceChatService
VoiceChatService는 다른 사용자와 얼마나 가까이 있는지에 따라 현실적인 통신을 시뮬레이션하는 근접 기반 음성 채팅 기능을 나타냅니다. 이 서비스를 사용하여 기능을 끄기끌 수 있습니다.
자세한 내용은 음성 채팅 을 참조하십시오.
폴더 및 모델
데이터 모델에서 개체를 그룹화하기 위한 두 가지 주요 메서드가 있습니다: 폴더 및 모델. 둘 다 개체용 컨테이너이지만 목적이 다릅니다.
- 폴더 는 로비 또는 전투 아레나와 같은 환경의 섹션을 저장하는 데 가장 좋습니다.
- 모델 은 의자, 테이블 및 램프가 포함된 책상 세트와 같은 개체 세트에 사용됩니다. 더 복잡한 세트를 구성하려면 모델 내부에 모델을 중첩하십시오.
항상 개체에 서술적인 이름을 지정해야 합니다. 이렇게 하면 나중에 필요할 때 개체를 쉽게 찾고 수정할 수 있습니다.