Workspace는 Roblox 엔진이 3D 세계에서 렌더링할 객체를 보유하는 컨테이너 서비스입니다. 일반적으로 다음과 같은 객체를 작업 공간에 추가합니다:
- Attachment 객체, 이는 ParticleEmitter와 같은 특수 효과 생성기, BillboardGui와 같은 UI 객체, 물리적 Constraints 등에 부착할 수 있습니다.
- 기하학적 그룹화를 조직하는 Model 객체.
- 작업 공간의 다른 객체에 의해 부모가 되는 Script 객체. 스크립트는 렌더링되지 않지만 다른 객체의 렌더링에 영향을 줄 수 있습니다.
부품
Part 객체는 Roblox의 기본 빌딩 블록을 나타냅니다. 기본적으로 모든 부품은 물리적으로 시뮬레이션되며 3D 작업 공간에 나타나면 렌더링됩니다. 부품은 블록, 구, 실린더, 쐐기 또는 코너 쐐기 모양을 가질 수 있습니다. 또한, TrussPart는 캐릭터가 사다리처럼 오를 수 있는 트러스 빔 역할을 합니다.





부품에 솔리드 모델링 작업을 적용하여, 그들을 더 복잡한 형태인 그릇이나 빈 파이프와 같은 것으로 결합할 수 있습니다.
메쉬
MeshPart는 메쉬(3D 객체를 구성하는 정점, 모서리 및 면의 집합)를 나타내는 객체입니다. 일반적으로 Blender 또는 Maya와 같은 서드파티 소프트웨어를 사용하여 메쉬를 생성한 후, 스튜디오를 사용하여 MeshPart로 가져옵니다.
메쉬는 스튜디오에서 할 수 있는 어떤 솔리드 모델링보다 훨씬 더 많은 세부 정보를 포함할 수 있습니다. 또한 내부 리그와 텍스처를 가질 수 있어, 포즈를 취하고 애니메이션을 적용할 수 있는 생동감 있는 객체를 만들 수 있습니다.


지형
Terrain 객체를 사용하면 산, 수역, 풀밭 언덕 또는 평평한 사막과 같은 상세하고 사실적인 지형 환경을 생성하고 조각할 수 있습니다. Terrain Editor를 사용하면 대규모 지형 지역을 쉽게 생성하고 변경할 수 있습니다.

모델
Model은 기하학적 그룹화를 위한 컨테이너 객체로, BasePart, Motor6D 객체 및 기타 모델을 포함합니다. 모델은 간단한 그룹화일 수 있으며, 모델 내에서 기본 부품을 설정하여 조립체로 작동하게 할 수 있습니다. 물리 엔진은 이를 단일 강체로 취급합니다. 모델은 또한 모델의 개별 객체에 작용하는 스크립트를 포함할 수 있습니다.


스크립트에서의 작업 공간 접근
스크립트 내에서 장소의 Workspace에 접근하는 방법은 세 가지가 있으며, 모두 유효합니다.
- game:GetService("Workspace")
- workspace
- game.Workspace
그곳에서 게임의 스크립트 로직을 작성하고 동적 세계와 상호작용을 생성하기 위한 다양한 사용 사례를 수행할 수 있습니다. 예를 들어:
- 런타임 중에 속성을 변경하기 위해 작업 공간의 모든 객체에 대한 참조를 얻습니다.
- 사용자의 Camera 객체에 대한 참조를 얻어 작업 공간의 뷰를 조작합니다.
- 작업 공간의 객체에서 이벤트를 수신하여 특정 시간에 로직을 수행합니다. 예를 들어 사용자의 플레이 가능한 캐릭터가 객체에 닿을 때입니다.