Skip to content

Latest commit

 

History

History
104 lines (83 loc) · 5.22 KB

index.md

File metadata and controls

104 lines (83 loc) · 5.22 KB
title description
3D Workspace
Describes the Workspace container service, which holds all objects that exist in the 3D world.

Class.Workspace is a container service that holds objects that you want the Roblox engine to render in the 3D world. You typically will add these objects to the workspace:

  • Class.BasePart objects, which includes both Class.Part and Class.MeshPart objects.
  • Class.Attachment objects, which you can attach to special effect generators like a Class.ParticleEmitter, UI objects like a Class.BillboardGui, physical Class.Constraint|Constraints, and more.
  • Class.Model objects that organize geometric groupings.
  • Class.Script objects that are parented by other objects in the workspace. Scripts aren't rendered but can affect another object's rendering.

Parts

Class.Part objects represent the primitive building blocks in Roblox. By default, all parts have their physics simulated and are rendered if they appear in the 3D workspace. Parts can take the shape of blocks, spheres, cylinders, wedges, or corner wedges. In addition, Class.TrussPart acts as a truss beam that characters can climb like a ladder.

Block Sphere Cylinder Wedge Corner Wedge
A single gray block part A single gray sphere part A single gray cylinder part A single gray wedge part A single gray corner wedge part

You can also apply solid modeling operations to parts, such as union or negate, to combine them into something more complex like bowls or hollow pipes.

Meshes

A Class.MeshPart is an object that represents a mesh (a collection of vertices, edges, and faces that make up a 3D object). You typically create meshes using third-party software such as Blender or Maya, then import them as a Class.MeshPart using Studio.

Meshes can include far more detail than any solid modeling you can do in Studio. They can also have internal rigs and textures, allowing you to create lifelike objects that you can pose and animate.

A high-quality treasure chest mesh with a texture.

Mesh with texture

A realistic looking leafy bush with shadows and depth.

Mesh with SurfaceAppearance

Terrain

The Class.Terrain object allows you to generate and sculpt detailed and realistic terrain environments, such as mountains, bodies of water, grass-covered hills, or a flat desert. Using the Terrain Editor, you can easily generate and alter large regions of terrain.

A viewport view of desert terrain with mountains in the distance.

Models

A Class.Model is a container object for geometric groupings, such as Class.BasePart, Class.Motor6D objects, and other models. Models can be simple groupings or you can set a primary part within the model, so that it functions as an assembly, which the physics engine treats as a single rigid body. Models can also contain scripts that act on the individual objects of the model.

A humanoid model of a creepy girl with four red eyes standing in an A pose. She wears a maroon dress with webs and bright red stockings.

A model named Octavia

A close up view of the model's children in the Explorer window that comprise the model.

The groupings that comprise the model

Accessing the Workspace in Scripts

Within a script, you can access a place's Class.Workspace in three different ways, all of which are valid.

  • workspace
  • game.Workspace
  • game:GetService("Workspace")

From there, you can carry out a large set of use cases to script logic for your experiences and create dynamic worlds and interactions. For example:

  • Obtain a reference to any object in the workspace to change its properties during runtime.
  • Obtain a reference to a user's Class.Camera object to manipulate their view of the workspace.
  • Listen for events on objects in the workspace to carry out logic at specific times, such as when a user's playable character touches an object.