From 7908de73893b8ab7692d98878f2f9c0def78546b Mon Sep 17 00:00:00 2001 From: "rbx-open-source-docs[bot]" <138828531+rbx-open-source-docs[bot]@users.noreply.github.com> Date: Mon, 14 Oct 2024 23:18:46 +0000 Subject: [PATCH] update Open Source Docs from Roblox internal teams --- content/common/navigation/cloud/legacy.yaml | 14 +++++++++-- content/common/navigation/engine/art.yaml | 5 ---- .../accessories/clothing-specifications.md | 19 +++++++++++--- .../en-us/art/accessories/creating/index.md | 3 +++ .../en-us/art/characters/specifications.md | 25 +++++++------------ .../modeling/meshes/Grip_Attachments.png | 3 +++ tools/checks/utils/allowedHttpLinks.txt | 2 ++ 7 files changed, 45 insertions(+), 26 deletions(-) create mode 100644 content/en-us/assets/modeling/meshes/Grip_Attachments.png diff --git a/content/common/navigation/cloud/legacy.yaml b/content/common/navigation/cloud/legacy.yaml index 7d18aa198..c894a970d 100644 --- a/content/common/navigation/cloud/legacy.yaml +++ b/content/common/navigation/cloud/legacy.yaml @@ -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: diff --git a/content/common/navigation/engine/art.yaml b/content/common/navigation/engine/art.yaml index df4956e40..4113c6124 100644 --- a/content/common/navigation/engine/art.yaml +++ b/content/common/navigation/engine/art.yaml @@ -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: diff --git a/content/en-us/art/accessories/clothing-specifications.md b/content/en-us/art/accessories/clothing-specifications.md index d2ca78564..6705f5094 100644 --- a/content/en-us/art/accessories/clothing-specifications.md +++ b/content/en-us/art/accessories/clothing-specifications.md @@ -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. + + +Assets with invalid cage configurations may fail validation and are subject to moderation. This includes, but is not limited to: + + + + +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): + + #### Inner Cage @@ -191,8 +205,7 @@ The outer cage mesh object must have the same name as the accessory model append -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. ## Marketplace Requirements diff --git a/content/en-us/art/accessories/creating/index.md b/content/en-us/art/accessories/creating/index.md index 835e1a22c..ac8b6a2ff 100644 --- a/content/en-us/art/accessories/creating/index.md +++ b/content/en-us/art/accessories/creating/index.md @@ -4,6 +4,9 @@ description: This tutorial covers the basic steps required in Blender to Studio- next: /art/accessories/creating/modeling-setup --- + +

+ 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. diff --git a/content/en-us/art/characters/specifications.md b/content/en-us/art/characters/specifications.md index 8918867e8..b9bae472f 100644 --- a/content/en-us/art/characters/specifications.md +++ b/content/en-us/art/characters/specifications.md @@ -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 @@ -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. - - - -
@@ -564,7 +560,7 @@ Attachments must follow a specific naming convention and positional consistency: RightHand RightGrip_Att - Anywhere in mesh bounding box, must set the rotation of the RightGrip_Att to `90`, `0`, `0` + Anywhere in mesh bounding box.

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).

LeftUpperArm @@ -574,7 +570,7 @@ Attachments must follow a specific naming convention and positional consistency: LeftHand LeftGrip_Att - Anywhere in mesh bounding box, must set the rotation of the LeftGrip_Att to `90`, `0`, `0` + Anywhere in mesh bounding box.

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).

RightFoot @@ -638,7 +634,7 @@ See the following requirements for humanoid rigging: - **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 @@ -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. - +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. diff --git a/content/en-us/assets/modeling/meshes/Grip_Attachments.png b/content/en-us/assets/modeling/meshes/Grip_Attachments.png new file mode 100644 index 000000000..d221399a4 --- /dev/null +++ b/content/en-us/assets/modeling/meshes/Grip_Attachments.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6934bad0dde52665ef6473f25dc66b46a1c57129c738eab28d017147f5847f61 +size 92829 diff --git a/tools/checks/utils/allowedHttpLinks.txt b/tools/checks/utils/allowedHttpLinks.txt index 5b3c3f9fa..fc2a5d06e 100644 --- a/tools/checks/utils/allowedHttpLinks.txt +++ b/tools/checks/utils/allowedHttpLinks.txt @@ -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)