Skip to content

Latest commit

 

History

History
220 lines (168 loc) · 12.2 KB

clothing-specifications.md

File metadata and controls

220 lines (168 loc) · 12.2 KB
title description
Clothing Specifications
Layered clothing specifications lists the specific technical requirements for the visible mesh, cages, and proper rigging and skinning data.

When creating clothing for Roblox, it's important to meet specific technical requirements to ensure compatibility and optimize for performance and quality. Many of these requirements must be applied when designing and modeling your asset in a third-party modeling application.

Although rigid accessories and layerable accessories share many technical requirements, layerable clothing accessories must include additional components to ensure the accessories deform and stretch appropriately on different body scales.

If you are intending to publish and sell these assets on the Marketplace, there are additional Marketplace Policy standards that you must follow for any accessory or clothing item.

When ready to export, see Export Requirements for mesh export settings for Blender and Maya.

If creating other types of 3D models:
  • When creating a generic mesh, your model must meet [General Mesh Specifications](../modeling/specifications.md).

  • When creating a rigid accessory model, see [Accessory Specifications](../../art/accessories/specifications.md).

  • When creating avatar characters, see [Avatar Specifications](../../art/characters/specifications.md).

Geometry and Budgets

  • Single Mesh - Accessories must be a single mesh.
  • Budgets - Accessories can't exceed 4k triangles.
  • Watertight - All geometry must be watertight without exposed holes or backfaces.
  • Use quads whenever possible. Avoid faces with 5 or more sides.
  • Mesh Size - Depending on the type of accessory asset, meshes must follow a standard size (in studs, centered on attachment point) depending on the body scale it is designed for.

Size Requirements

Depending on the type of layerable asset, the size requirements can't exceed the following maximum width, height, and depth (in studs).

Asset Type Width (X) Height (Y) Depth (Z)
T-Shirt, Shirt, Sweater, Jacket, Pants, Shorts, Dress & Skirt 8 8 8
Hair 3 5*
(Not centered: 2 up, 3 down)
3.5*
(Not centered: 1.5 front, 2 behind)
Eyebrow and Eyelashes 1.5 0.5 0.5

Attachment Points

Class.Attachment objects indicate where an accessory model attaches to a point on a character body. Whether you are creating rigid or layered accessories, Studio's Accessory Fitting Tool automatically adds and configures the appropriate Class.Attachment with the following specifications:

  • One attachment - Each accessory, including layered clothing, require at least one attachment point to its associated body part.
  • Naming Convention - The Class.Attachment name must follow a specific naming convention depending on the Class.Accessory.AccessoryType. The Accessory Fitting Tool generates an appropriate Class.Attachment name automatically.

If setting attachment names manually in Studio, use the following Class.Attachment name for each accessory type:

Accessory Type Attachment Name
Hat `HatAttachment`
Hair `HairAttachment`
Back `BodyBackAttachment`
Waist `WaistFrontAttachment`, `WaistCenterAttachment`, `WaistBackAttachment`
Shoulder `RightShoulderAttachment`, `RightCollarAttachment`, `NeckAttachment`, `LeftCollarAttachment`, `LeftShoulderAttachment`
Face, Eyelash, Eyebrow `FaceFrontAttachment`, `FaceCenterAttachment`
Neck `NeckAttachment`
Front `BodyFrontAttachment`
Layered tops (Shirt, TShirt, Sweater, Jacket) `BodyFrontAttachment`
Layered bottoms (Pants, Shorts, DressSkirt) `WaistCenterAttachment`
The 3D Importer automatically recognizes mesh objects as attachment points if the objects include the affix `\_Att`. This only applies when importing meshes with caging data, such as clothing or bodies.
  • Shoulders and Collars - Even though they are in similar locations, Shoulder and Collar attachment points interact with character rigs differently for rigid accessories.
    • Items using RightShoulderAttachment or LeftShoulderAttachment move with the character's arm.
    • Items using RightCollarAttachment or LeftCollarAttachment do not move with the character's arm.

Face Accessories

Face accessories, such as hair, eyebrows, and eyelashes are unique accessories that you can bundle with an avatar body upload. At this time, eyebrows and eyelashes can not be uploaded as standalone accessories and must be bundled with avatar bodies. For more information on bundling your face accessories with avatar models, see Publishing Bodies with Eyelashes and Eyebrows.

  • Naming Convention when bundled - When including these assets with an avatar body upload, the accessory objects must use the following name conventions:
    • EyebrowAccessory
    • EyelashAccessory
    • HairAccessory

Textures

Textures created for accessories must meet Roblox's texture specifications. Keep in mind that smaller assets, such as accessories, can use smaller texture map sizes, such as 256×256px, to optimize performance with virtually no loss in detail.

Layerable Properties

Clothing and accessories that deform and fit around any characters and existing clothing items require additional configuration in a 3D modeling software such as Blender or Maya.

To achieve the layering effect, your clothing must meet the following requirements:

See Creating Layered Models for a basic guide on applying these requirements on a reference asset in Blender. Once the .fbx file is exported, see Accessory Fitting Tool for instructions on creating an accessory from your model.

Rigging and Skinning

Rigging and skinning a layered accessory allows the accessory to move naturally with a character body. You can perform this manually through a modeling tool, or use automatic skinning transfer to generate an accessory's skinning data at run time.

If using modeling software to skin your accessories, keep in mind that Joint Influences (Maya) or Bone Assignments (Blender) per vertex should be limited to 4.

For more information on basic skinning in third-party modeling software, such as Blender's Automatic Weights, see Skinning a Simple Mesh for instructions on rigging, applying weights, and skinning a basic mesh.

Cage Meshes

Cage meshes, or cages, are invisible meshes that define the inner and outer surfaces of your asset and are fundamental to the layerable properties of clothing items. The inner cage determines the inside surface of a clothing item while the outer cage determines the outside surface of a clothing item.

Assets with invalid cage configurations may fail validation and are subject to moderation. This includes, but is not limited to:
  • **No difference between the two cages** - The outer cage needs to envelope the layered clothing item as much as possible. If the inner and outer cages are exactly the same, the layered accessory behaves like a rigid accessory and doesn't deform.
  • **Extreme space between the two cages** - Large spaces between the inner and outer cages can make the accessory look unrealistic puffy or excessively large.
  • **Outer cage is within the inner cage** - The outer cage needs to be outside the inner cage otherwise the asset will fail validation.

For a basic overview on caging, see the Basic Clothing Tutorial and the relevant section of the tutorial video at 8:32:

<iframe width="800" height="450" src="https://www.youtube-nocookie.com/embed/C-DwGRBHvmE" title="YouTube video player" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Inner Cage

The inner cage is the inner surface of your model and defines how the layered asset fits over another layered model. As a best practice, the shape of the inner and outer cage should match each other before editing the outer cage to completely cover your asset.

The inner cage mesh object must have the same name as the accessory model appended with _InnerCage.

Outer Cage

The outer cage defines the external surface that another item's inner cage would layer on top of. Avatar character models must have an outer cage included with its model in order to be compatible with layered clothing. All avatar models available on the Marketplace include a properly configured outer cage and are compatible with layered assets.

The outer cage of a layered clothing asset is a mesh that precisely covers the clothing item. The outer cage included in the template files is identical to the inner cage by default and must be the only cage adjusted to fit over an accessory.

The outer cage mesh object must have the same name as the accessory model appended with _OuterCage.

The vertexes and UVs of the inner and outer cage meshes should not be deleted or removed, as they are used to match coordinates between other cages.

Marketplace Requirements

Your items must meet the following requirements before you upload them to the Marketplace to sell:

  • Ensure that your items adhere to the Marketplace Program Guidelines.
  • Whenever applicable, ensure that your items adhere to Roblox's custom mesh specifications and rigid accessory specifications.
  • Object Class.MeshPart.Material|Material is set to Plastic.
  • Object Class.MeshPart.Transparency|Transparency is set to 0.
  • Object Class.MeshPart.VertexColor|VertexColor is the default 1, 1, 1.
  • Your Class.Accessory instance does not contain extraneous objects, like Class.Script or additional Class.Part instances.