Skip to content

Commit d45b431

Browse files
update Open Source Docs from Roblox internal teams
1 parent 2d0be2d commit d45b431

21 files changed

+301
-87
lines changed

content/common/navigation/avatar/guides.yaml

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,29 @@ navigation:
5454
path: /art/characters/export-settings
5555
- title: Import into Studio
5656
path: /art/characters/import
57-
- title: Heads
57+
- title: Heads
58+
section:
59+
- title: Overview
60+
path: /art/characters/facial-animation/
61+
- title: In Studio
62+
path: /art/characters/facial-animation/use-heads-in-studio
63+
- title: Head animation
64+
path: /art/characters/facial-animation/animate-heads
65+
- title: Moods
66+
path: /art/characters/facial-animation/moods
67+
- title: FACS poses reference
68+
path: /art/characters/facial-animation/facs-poses-reference
69+
- title: Emotes
5870
section:
5971
- title: Overview
60-
path: /art/characters/facial-animation/
61-
- title: In Studio
62-
path: /art/characters/facial-animation/use-heads-in-studio
63-
- title: Head animation
64-
path: /art/characters/facial-animation/animate-heads
65-
- title: Moods
66-
path: /art/characters/facial-animation/moods
67-
- title: FACS poses reference
68-
path: /art/characters/facial-animation/facs-poses-reference
69-
- title: In-experience creation
70-
path: /avatar/in-experience-creation
72+
path: /art/emotes/
73+
- title: Specifications
74+
path: /art/emotes/specifications
75+
- title: Export settings
76+
path: /art/emotes/export-settings
77+
- title: Import and configure in Studio
78+
path: /art/emotes/import
79+
7180

7281
- title: Publish
7382
section:
@@ -97,6 +106,7 @@ navigation:
97106
path: /marketplace/custom-thumbnails
98107
- title: Validation errors
99108
path: /art/validation-errors
109+
100110
- title: 3rd party add-ons
101111
section:
102112
- title: Roblox Blender plugin
@@ -105,3 +115,6 @@ navigation:
105115
path: /art/modeling/calisthenics-tool
106116
- title: Clothing Validation Tool
107117
path: /art/accessories/validation-tool
118+
119+
- title: In-experience creation
120+
path: /avatar/in-experience-creation

content/common/navigation/scale/discovery.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ navigation:
22
- heading: Experiences
33
- title: Overview
44
path: /discovery
5-
- title: Discover page
5+
- title: Charts page
66
section:
77
- title: Genres
88
path: /production/publishing/experience-genres
@@ -12,8 +12,6 @@ navigation:
1212
path: /production/publishing/thumbnails
1313
- title: Badges
1414
path: /production/publishing/badges
15-
- title: Discover page nominations
16-
path: /production/promotion/nominate-for-the-discover-page
1715
- title: Deep links
1816
path: /production/promotion/deeplinks
1917
- title: Events
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
title: Animation export settings
3+
description: Use the appropriate export settings in Maya and Blender to generate Studio-ready .fbx files.
4+
---
5+
6+
You can export animation data from a third-party software, such as Blender or Maya to use in Studio. Both `.fbx` and `.gLTF` formats support animation data.
7+
8+
Typically, creators will use a third-party modeling tool to animate a character model. Once the animation is complete, you export both the model and the animation data into Roblox Studio.
9+
10+
After exporting, you can [import and configure](./import.md) the animation data into Studio.
11+
12+
## Before exporting
13+
14+
When exporting characters with animation or FACS animation, ensure that your animation timeline **Start** and **End** include the entire range of your animations.
15+
16+
<img src="../../assets/art/avatar/basic-creation/Blender-Animation-Start-End.png" width = "60%" alt="Zoom-in of Blender animation track indicating a Start value of 0 and End value of 308." />
17+
18+
## Blender
19+
20+
Blender allows you to export in `.fbx` or `.gltf` as well as other formats. If you are using `.fbx` export, familiarize yourself with [Blender's FBX scaling](../blender.md#adjust-scale-fbx) to ensure that you successfully import the model into Studio at the correct scale.
21+
22+
1. In the topbar, click **File** > **Export** > **FBX (.fbx)**. The Blender file browser window displays.
23+
2. Set **Path Mode** to **Copy** and enable the **Embed Textures** icon.
24+
3. In the Include section, enable **Custom Properties**.
25+
4. If your project doesn't already have `.01` scene unit scaling, set the **Transform** > **Apply Scalings** to `FBX Unit Scale`. For more details, see [Blender FBX scaling](../blender.md#adjust-scale-fbx).
26+
5. Expand the Armature section and uncheck **Add Leaf Bones**.
27+
6. Enable **Bake Animation**.
28+
7. Expand Bake Animation and **uncheck NLA Strips**, **All Actions**, and **Force Start/End Keyframes**.
29+
1. Ensure your project animation timeline has the correct **Start** and **End** range of all your keyframes.
30+
8. In Bake Animation, set **Simplify** to **0.0**.
31+
9. Click the **Export FBX** button. Save the `.fbx` to the directory of your choice.
32+
33+
<img src="../../assets/art/avatar/basic-creation/Export-Settings.png" width = "50%" alt="Screenshot of Blender export settings" />
34+
35+
## Maya
36+
37+
For additional context on exporting animations from Maya, see the [Exporting Characters from Maya](../../art/characters/export-avatar-animations-from-maya.md) tutorial.
38+
39+
To export a mesh in Maya as a `.fbx` file:
40+
41+
1. In the topbar, click **File**. A pop-up menu displays.
42+
2. Select **Export All**. The **Export All** window displays.
43+
3. Near the bottom of the window, click the **Files of type** dropdown, then select **FBX export**.
44+
4. On the right-hand side of the window, navigate to the **Options...** section.
45+
5. In the **Geometry** section, enable **Smooth Mesh** and **Referenced Asset Content**.
46+
6. In the **Animation** section, enable **Animation**. Avatar characters with [facial animation data](../../art/characters/facial-animation/index.md) require animation data.
47+
7. Enable **Bake Animation**.
48+
8. If you need to import textures as a `.png`, in the **Embed Media** section, enable **Embed Media**.
49+
9. In the **Advanced Options** section,
50+
- Navigate to **Units**, then enable **Automatic**.
51+
- Navigate to **Axis Conversion**, then set the **Up Axis** property to **Y**.
52+
10. Click the **Export All** button.
53+
54+
<img src="../../assets/accessories/lc-requirements-maya-settings-with-animation.png" alt = "Screenshot of Maya export settings for exports with animation."/>
55+
56+
11. After exporting, use Studio's [3D importer](../../art/modeling/3d-importer.md) to import your model. See [Test characters in Studio](../../art/characters/testing/studio.md) for additional importing and testing information.

content/en-us/art/emotes/import.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: Import and configure animations
3+
description: Use the 3D Importer to add third-party models to Studio before testing, using, or uploading the character model.
4+
---
5+
6+
Use the following steps to import and configure the animation for publishing emotes:
7+
8+
1. [Import](#import-into-animation-editor) the animation into Studio.
9+
2. [Convert](#convert-to-curveanimation) the animation to a `CurveAnimation`.
10+
3. [Generate an asset ID](#generate-asset-id) from your animation data.
11+
4. [Create an Animation object](#create-an-animation-object) using the asset ID
12+
5. [Upload](#upload-and-publish-an-emote) the animation as an avatar emote.
13+
14+
## Import into Animation Editor
15+
16+
If your animation data is saved to a `.fbx` file and your animation meets the emote [technical specifications](./specifications.md), use the Animation Editor to import your animation. If your animation is already in Studio, skip this step.
17+
<br />
18+
To import your animation in Studio:
19+
20+
1. If you don't already have a rigged R15 character in your workspace, add one by selecting **Avatar** > **Character**.
21+
2. Select **Avatar** > **Animation** to open the Animation Editor.
22+
3. With Animation Editor open, select the rigged character in the Workspace.
23+
4. In the Animation Editor, select **** > **Import** > **From FBX Animation** and select your `.fbx` file.
24+
25+
<img src="../../assets/avatar/avatar-emotes/Animation-Editor-Import.png" />
26+
27+
5. Verify your animation populates and correctly animates on the target rig.
28+
6. Follow steps to [convert to CurveAnimation](#convert-to-curveanimation).
29+
30+
## Convert to CurveAnimation
31+
32+
To generate an asset ID for your animation, use the Animation Editor to convert the animation to a `CurveAnimation` and save the animation to Roblox to generate an asset ID.
33+
34+
<Alert severity = 'warning'>
35+
The animation data for emotes must be a `CurveAnimation` clip.
36+
</Alert>
37+
38+
To convert an existing keyframe sequence to a `CurveAnimation`:
39+
40+
1. In the Animation Editor, select the Curve Editor button next to the timeline. A confirmation prompt displays.
41+
42+
<img src="../../assets/avatar/avatar-emotes/Animation-Editor-Curve-Animation-Icon.png" />
43+
44+
2. Press **Confirm** to convert your keyframes into a `CurveAnimation` clip.
45+
46+
<img src="../../assets/avatar/avatar-emotes/Animation-Editor-Curve-Prompt.png" />
47+
48+
## Generate Asset ID
49+
50+
To create an asset ID of the `CurveAnimation` in the Animation Editor:
51+
52+
1. In the Animation Editor, select the **** > **Publish to Roblox**.
53+
54+
<img src="../../assets/avatar/avatar-emotes/Animation-Editor-Publish.png" />
55+
56+
2. Add a title and description and save the animation.
57+
3. After processing, you should see a successful upload and an asset ID to copy.
58+
59+
<img src="../../assets/avatar/avatar-emotes/Generate-Asset-ID-Success.png" />
60+
61+
## Create an Animation object
62+
63+
To submit an emote to the Marketplace, you must submit an `Class.Animation` object with the `AnimationId` property set to the asset ID of your `CurveAnimation`.
64+
65+
<GridContainer numColumns="2">
66+
<figure>
67+
<img src="../../assets/avatar/avatar-emotes/Animation-Explorer.png" />
68+
<figcaption><center>`Animation` object in the Explorer.</center></figcaption>
69+
70+
</figure>
71+
<figure>
72+
<img src="../../assets/avatar/avatar-emotes/Animation-Properties.png" />
73+
<figcaption><center>`AnimationId` property in the Properties window.</center></figcaption>
74+
</figure>
75+
</GridContainer>
76+
77+
To create an `Class.Animation` object you can publish as an emote:
78+
79+
1. In the Explorer, add a new `Animation` object.
80+
2. In the Properties window, add the asset ID of the emote animation.
81+
82+
## Upload and publish an emote
83+
84+
When you have an `Class.Animation` with your emote animation asset ID set, you can upload the emote to the Marketplace. This process requires an [upload fee](../../marketplace/marketplace-fees-and-commissions.md#upload-fees).
85+
86+
1. Right-click the `Animation` object and select **Save to Roblox**.
87+
2. In the upload window, set the following fields:
88+
1. Add a title and description.
89+
2. Set the **Content Type** to **Avatar Item**.
90+
3. Set the **Asset Category** to **Emotes**.
91+
3. Press Submit to upload your asset for moderation.
92+
93+
For more information on the upload and publishing process, see [publishing Marketplace items](../../marketplace/publish-to-marketplace.md#upload-an-asset).

content/en-us/art/emotes/index.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
title: Emotes
3+
description: All Roblox users are represented by an avatar character which can be customized with body parts, accessories, and clothes from the Marketplace or within experiences.
4+
hideBreadcrumbs: true
5+
---
6+
7+
**Emotes** are short animations that an avatar performs, making it easier to communicate and celebrate with others, enhancing the experience to feel more social and more lively.
8+
9+
Creators sell their own emotes, such as gestures, reactions, dances, and more, by publishing their animation to sell on the Marketplace or within experiences.
10+
11+
<Alert severity = 'info'>
12+
Developers can access and modify emotes within their own experiences. For more information, see [character emotes](../../characters/emotes.md).
13+
</Alert>
14+
15+
## Components of an emote
16+
17+
Emotes are made up of an `Class.Animation` object with the unique `Class.Animation.AnimationId` property set to the asset ID of your animation sequence.
18+
19+
<GridContainer numColumns="2">
20+
<figure>
21+
<img src="../../assets/avatar/avatar-emotes/Animation-Explorer.png" />
22+
<figcaption><center>`Animation` object in the Explorer.</center></figcaption>
23+
24+
</figure>
25+
<figure>
26+
<img src="../../assets/avatar/avatar-emotes/Animation-Properties.png" />
27+
<figcaption><center>`AnimationId` property in the Properties window.</center></figcaption>
28+
</figure>
29+
</GridContainer>
30+
31+
Emotes must meet [technical specifications](./specifications.md) as well as [Marketplace](../../marketplace/marketplace-policy.md) and [Community](https://en.help.roblox.com/hc/en-us/articles/203313410-Roblox-Community-Standards) policies.
32+
33+
## Creation process
34+
35+
There are several ways to create an animation both in Studio or using a third-party tool. See the following table for common workflows and various resources to create your own.
36+
37+
<table><thead>
38+
<tr>
39+
<th>Animation workflow</th>
40+
<th>Description</th>
41+
</tr></thead>
42+
<tbody>
43+
<tr>
44+
<td>Animation Capture</td>
45+
<td>Use the [Animation Capture (Body)](../../animation/capture.md#body) to convert a video of your emote into a keyframe sequence.</td>
46+
</tr>
47+
<tr>
48+
<td>Manual animation with Animation Editor</td>
49+
<td>Use the [Animation Editor](../../animation/editor.md) to manually animate a character rig. For an in-depth tutorial on creating a character animation, see [Create character animations](../../tutorials/use-case-tutorials/animation/create-an-animation.md).</td>
50+
</tr>
51+
<tr>
52+
<td>Third-party plug-ins</td>
53+
<td>Use a third-party animation plugin, such as [Moon Animator](https://create.roblox.com/store/asset/4725618216/Moon-Animator-2), to generate your animation.</td>
54+
</tr>
55+
</tbody>
56+
</table>
57+
58+
To convert your keyframe sequence into an animation and upload to the Marketplace, see [import and configure emotes](../emotes/import.md#configure).
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: Emotes specifications
3+
description: Character specification lists the specific technical requirements for custom characters created outside of Studio.
4+
---
5+
6+
Emotes are made up of an `Class.Animation` object with the `Class.Animation.AnimationId` property set to the asset ID of your animation sequence.
7+
8+
<GridContainer numColumns="2">
9+
<figure>
10+
<img src="../../assets/avatar/avatar-emotes/Animation-Explorer.png" />
11+
<figcaption><center>`Animation` object in the Explorer.</center></figcaption>
12+
13+
</figure>
14+
<figure>
15+
<img src="../../assets/avatar/avatar-emotes/Animation-Properties.png" />
16+
<figcaption><center>`AnimationId` property in the Properties window.</center></figcaption>
17+
</figure>
18+
</GridContainer>
19+
20+
Only the `Class.Animation` object is required to upload an emote to the Marketplace. Animations do not require meshes, textures, or other 3D art components.
21+
22+
## Animation requirements
23+
24+
Emotes must also meet the following requirements or may fail validation:
25+
26+
- Emotes must be less than 10 seconds.
27+
- The joint root of the character can not move too far from its starting position.
28+
- Movement speed can't exceed a certain threshold to prevent teleportation abuse (measured from a frame-by-frame basis).
29+
- Animation data must reference an R15 rig.
30+
- Animation must be sourced from a `CurveAnimation`. For information on converting animation data, see [import and configure](./import.md#generate-asset-id).
31+
- Animations must meet [Marketplace](../../marketplace/marketplace-policy.md) and [Community](https://en.help.roblox.com/hc/en-us/articles/203313410-Roblox-Community-Standards) policies.
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)