Skip to content

Commit

Permalink
update Open Source Docs from Roblox internal teams
Browse files Browse the repository at this point in the history
  • Loading branch information
rbx-open-source-docs[bot] committed Oct 14, 2024
1 parent d2ee7d9 commit 7908de7
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 26 deletions.
14 changes: 12 additions & 2 deletions content/common/navigation/cloud/legacy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,26 @@ navigation:
versions:
- name: v1
path: /cloud/legacy/assetdelivery/v1
- title: Auth v2
- title: Authentication v3
type: cloudapi
versions:
- name: v3
path: /cloud/legacy/auth/v3
- title: Authentication v2
type: cloudapi
versions:
- name: v2
path: /cloud/legacy/auth/v2
- title: Auth v1
- title: Authentication v1
type: cloudapi
versions:
- name: v1
path: /cloud/legacy/auth/v1
- title: Avatar v3
type: cloudapi
versions:
- name: v3
path: /cloud/legacy/avatar/v3
- title: Avatar v2
type: cloudapi
versions:
Expand Down
5 changes: 0 additions & 5 deletions content/common/navigation/engine/art.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,6 @@ navigation:
path: /art/characters/exporting-avatar-animations-from-maya
- title: Animating Heads
path: /art/characters/facial-animation/animating-heads
- heading: Environment and Lighting
- title: Assembling Modular Environments
path: /tutorials/use-case-tutorials/modeling/assembling-modular-environments
- title: Enhancing Outdoor Environments with Future Lighting
path: /tutorials/use-case-tutorials/lighting/enhancing-outdoor-environments-with-future-lighting

- heading: Example Projects
path:
Expand Down
19 changes: 16 additions & 3 deletions content/en-us/art/accessories/clothing-specifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,21 @@ For more information on basic skinning in third-party modeling software, such as

### Cage Meshes

**Cage meshes**, or **cages**, are invisible meshes that define the inner and outer surfaces of your asset. Similar to collision boxes, these surfaces prevent other accessories or bodies from clipping or breaking and allow other accessory items with cages to layer on top of the previous object.
**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.

<Alert severity = 'error'>
Assets with invalid cage configurations may fail validation and are subject to moderation. This includes, but is not limited to:

<ul>
<li>**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.</li>
<li>**Extreme space between the two cages** - Large spaces between the inner and outer cages can make the accessory look unrealistic puffy or excessively large.</li>
<li>**Outer cage is within the inner cage** - The outer cage needs to be outside the inner cage otherwise the asset will fail validation.</li>
</ul>
</Alert>

For a basic overview on caging, see the [Basic Clothing Tutorial](../accessories/creating/caging-setup.md) and the relevant section of the tutorial video at [8:32](https://www.youtube.com/watch?v=C-DwGRBHvmE&t=512s):

<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

Expand All @@ -191,8 +205,7 @@ The outer cage mesh object must have the same name as the accessory model append
<img src="../../assets/accessories/lc-requirements-outercage-outliner.png" width="60%" />

<Alert severity="warning">
The vertexes and UVs of the inner and outer cage meshes should not be altered, as they are used to match coordinates between other cages.
You can complete the UV texturing of the actual accessory mesh layer (not the \_InnerCage or \_OuterCage objects) at your discretion.
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.
</Alert>

## Marketplace Requirements
Expand Down
3 changes: 3 additions & 0 deletions content/en-us/art/accessories/creating/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ description: This tutorial covers the basic steps required in Blender to Studio-
next: /art/accessories/creating/modeling-setup
---

<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>
<br /><br />

You can create your own custom avatar clothing using Blender and Roblox's downloadable project templates. These project templates include [components required for layered clothing](../../../art/accessories/layered-clothing.md#components-of-a-layered-clothing-accessory), and can double as a mannequin to quickly begin shaping and sculpting your clothing assets. By the end of this tutorial, you will have a clothing asset that contains all the required components for a layered clothing accessory on the Marketplace.

<Alert severity ='info'>
Expand Down
25 changes: 9 additions & 16 deletions content/en-us/art/characters/specifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Avatar character models are made up of 15 separate mesh objects and require addi
- **No N-gons** - Model your assets in quads where possible.
- **Transformations** - All translation, rotation, and scale values must be frozen and pivots set to `0`, `0`, `0`.
- **Orientation** - Characters must face positive Z and stand up in positive Y.
- **Pose** - Before exporting, set your character to an I-Pose when possible.
- **Pose** - Before exporting, set your character to an I-Pose, A-Pose, or T-Pose when possible.

### Body Scale

Expand Down Expand Up @@ -471,14 +471,10 @@ To ensure that avatar sizes are visually consistent, you must standardize body p

Attachments are points on the humanoid model where rigid accessories attach. Like many [character components](./index.md#components-of-an-avatar), attachment points are set up in third-party modeling software and imported as `Class.Attachment` objects.

The 3D Importer automatically recognizes and converts mesh objects as attachment points if the objects include the affix `\_Att` and follow the naming conventions below. This only applies when importing meshes with caging data, such bodies. Check out examples of this implementation in any of the [downloadable reference models](../../avatar/resources.md#references).
The 3D Importer automatically recognizes and converts mesh objects as attachment points if the objects include the affix `\_Att` and follow the naming conventions below. This only applies when importing meshes with caging data, such as bodies (accessory attachment points are created using the Accessory Fitting Tool). Check out examples of this implementation in any of the [downloadable reference models](../../avatar/resources.md#references).

Generally, when placing attachment points, position them so they overlap halfway with the character model's mesh part.

<Alert severity = 'info'>

</Alert>

<GridContainer numColumns="2">
<figure>
<img src="../../assets/modeling/meshes/Collar-Attachment-1.png" />
Expand Down Expand Up @@ -564,7 +560,7 @@ Attachments must follow a specific naming convention and positional consistency:
<tr>
<td>RightHand</td>
<td>RightGrip_Att</td>
<td>Anywhere in mesh bounding box, must set the rotation of the RightGrip_Att to `90`, `0`, `0`</td>
<td>Anywhere in mesh bounding box. <br/><br/>Orient grip attachments **perpendicular** to the lower arm bone. For example, for I-Pose (arms pointing down), set the grip attachment to `90`, `0`, `0` (grip attachment pointing forward).<br/><br/><img src="../../assets/modeling/meshes/Grip_Attachments.png" width="250" /></td>
</tr>
<tr>
<td>LeftUpperArm</td>
Expand All @@ -574,7 +570,7 @@ Attachments must follow a specific naming convention and positional consistency:
<tr>
<td>LeftHand</td>
<td>LeftGrip_Att</td>
<td>Anywhere in mesh bounding box, must set the rotation of the LeftGrip_Att to `90`, `0`, `0`</td>
<td>Anywhere in mesh bounding box. <br/><br/>Orient grip attachments **perpendicular** to the lower arm bone. For example, for I-Pose (arms pointing down), set the grip attachment to `90`, `0`, `0` (grip attachment pointing forward).<br/><br/><img src="../../assets/modeling/meshes/Grip_Attachments.png" width="250" /></td>
</tr>
<tr>
<td>RightFoot</td>
Expand Down Expand Up @@ -638,7 +634,7 @@ See the following requirements for humanoid rigging:
</GridContainer>

- **LowerTorso and Root** - The LowerTorso and Root bone or joint position must be set to `0`, `0`, `0`.
- **Pose** - Export your character model in an I-Pose for the best Studio compatibility. The LeftUpperArm and RightUpperArm bones can be exported with rotation values to meet this requirement.
- **Pose** - Export your character model in an I-Pose, A-Pose, or T-Pose for the best Studio compatibility. The LeftUpperArm and RightUpperArm bones can be exported with rotation values to meet this requirement.

## Skinning

Expand Down Expand Up @@ -717,15 +713,12 @@ The following are examples of skin tone shading for the face, and you can apply

## Outer Cages

Outer cages are non-rendered meshes that Roblox uses to define the outer surfaces of a body part using a `Class.WrapTarget` instance. Outer cages on your character model allow your character to wear layerable accessories, such as clothing.

For general use, see the following requirements for adding inner and outer cage meshes to your model:

- **Naming Conventions** - The inner and outer cage must be named after the primary mesh object with **\_InnerCage** and **\_OuterCage** affixed.
Outer cages on your character model allow your character to wear layerable accessories, such as clothing. Models, such as an avatar character, that are the target of meshes that will stretch over it, only require an outer cage, but meshes that deform, like [layered clothing](../accessories/clothing-specifications.md#cage-meshes), require an inner and outer cage.

<img src="../../assets/accessories/lc-blender-selecting-cage-in-outlier.png" />
For general use, see the following requirements for adding outer cage meshes to your model:

- **Outer Cage** - Models, such as a playable character, that aren't expected deform but are the target of meshes that will stretch over it, only require an Outer Cage.
- Use Roblox's [Body Cage templates](../../avatar/resources.md#project-files) to ensure naming convention and other configurations are correct.
- **Naming Conventions** - The outer cage of a body part must be named after the primary mesh object with **\_OuterCage** affixed, for example `LeftUpperArm_OuterCage`.
- **Vertices and UV Map** - Don't delete vertices or alter the UVs on the Outer Cages as this can cause errors when importing in Studio or when equipping onto a character. Use the Roblox provided templates for the cage meshes to ensure compatibility with other layered assets.
- **Symmetry and consistency** - Keep each face (the space between vertices) consistently sized and retain symmetry wherever possible. Use symmetry tools in your modeling software whenever possible.

Expand Down
3 changes: 3 additions & 0 deletions content/en-us/assets/modeling/meshes/Grip_Attachments.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions tools/checks/utils/allowedHttpLinks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,8 @@ https://www.youtube-nocookie.com/embed/llR_pNlJDQw
https://youtu.be/OEmFocfE0Xs
https://www.youtube.com/watch?v=SgPU84AqpkY&t=74s
https://www.youtube.com/watch?v=9mXvhYSv7fc&t=96s
https://www.youtube.com/watch?v=C-DwGRBHvmE&t=512s
https://www.youtube-nocookie.com/embed/C-DwGRBHvmE
https://en.wikipedia.org/wiki/Exponential_backoff
https://en.wikipedia.org/wiki/Moment_of_inertia
https://en.wikipedia.org/wiki/Shard_(database_architecture)
Expand Down

0 comments on commit 7908de7

Please sign in to comment.