mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-25 13:31:37 +00:00
rules
This commit is contained in:
parent
a9b4f8e83b
commit
e6efc04756
8494 changed files with 495610 additions and 0 deletions
|
|
@ -0,0 +1,130 @@
|
|||
---
|
||||
title: Blender configuration
|
||||
description: Roblox avatar template projects have several helper configurations and settings to help expedite the character creation process.
|
||||
next: /art/characters/creating/modeling-best-practices
|
||||
prev: /art/characters/creating/head-objects
|
||||
---
|
||||
|
||||
The Blender project files of each template include additional helper configurations that are not included in the raw `.fbx` template files. If you intend on using Blender for your character creation process, it's important to understand the additions included in the `.blend` versions of the template and what they do.
|
||||
|
||||
### Hierarchy
|
||||
|
||||
The following is a breakdown of what is included in each Blender template file:
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure>
|
||||
- **Cage**: Contains the character's 15 outer body cage meshes.
|
||||
- **Joints**: The parent armature object that includes the following objects:
|
||||
- The **bones** that make up the character's rigging armature.
|
||||
- The **_Geo** mesh objects that make up the avatar appearance.
|
||||
- The **_Att** attachment objects that define where accessories attach when equipped.
|
||||
- The **animation data** for saving facial animation data and poses.
|
||||
- **Fill** and **Sun**: These objects are used to provide lighting, allowing you to preview your characters in a neutral lighting similar to a Studio baseplate. These are not part of the avatar character.
|
||||
</figure>
|
||||
|
||||
<figure><img
|
||||
alt="Head-Related Meshes"
|
||||
src="../../../assets/art/blender-ui/Blender-Project-Objects.png"
|
||||
width="800" /><figcaption>Blender Project Hierarchy</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
### Disabled objects
|
||||
|
||||
When using the template project files for Blender, you might notice some objects, like attachment objects, are permanently hidden in the Viewport even when toggling the **Hide In Viewport** icon <img src="../../../assets/art/blender-ui/Visibility-Icon.png" style={{marginBottom:"0px;"}} width="20px"/>. Since attachment objects are often not modified until the end of the character creation process, these objects have **Disable In Viewport** <img src="../../../assets/art/blender-ui/Disabled-Icon.png" style={{marginBottom:"0px;"}} width="20px"/> enabled to make the organization of your project more efficient, especially when bulk toggling object visibility.
|
||||
|
||||
If you need access to disabled objects, use the following instructions to access the **Disable In Viewport** toggle:
|
||||
|
||||
1. In your Outliner, click the **Filter** dropdown.
|
||||
|
||||
<img src="../../../assets/art/blender-ui/Outliner-Filter.png" />
|
||||
|
||||
2. Enable the **Disable In Viewport** filter.
|
||||
|
||||
<img src="../../../assets/art/blender-ui/Outliner-Menu.png" />
|
||||
|
||||
3. The **Disable In Viewport** icon <img src="../../../assets/art/blender-ui/Disabled-Icon.png" style={{marginBottom:"0px;"}}/> now appears next to every object in the Outliner. Toggle the icon to change the Disabled status for your objects.
|
||||
<img src="../../../assets/art/blender-ui/Outliner-Disabled-Enabled.png" />
|
||||
|
||||
### Custom skin tones
|
||||
|
||||
The Blender project files include a shader configuration that allows you to preview custom skin tones, similar to how they display in Roblox if users customize their skin tones.
|
||||
|
||||
Textures with full or partial transparency allow the underlying `Class.Part.Color` to reveal through the applied texture, enabling a user to personalize their avatar character with custom skin tones.
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/templates/Texture-Map.png" /> <figcaption>A texture map example that uses low opacity to reveal underlying skin color and full opacity to apply a fully-opaque color to the undergarments, eyebrows, mouth, and eyes.</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/templates/Custom-Skin-Tones.png" /><figcaption>The same avatar character using the same texture map. Each model has different underlying part colors except where the texture map applies a full color. </figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
#### Preview skin tones
|
||||
|
||||
<Alert severity = 'warning'>
|
||||
You must use **Blender 3.4+** to ensure that the helper shader configurations render correctly. If you are using a previous version of Blender, textures may not render as expected.
|
||||
</Alert>
|
||||
|
||||
The Blender project file includes shader configurations that allow you to preview custom skin tones similar to how they appear in Studio. These custom colors do not export with the model, but can provide you a quick visual reference for how a custom skin color and texture might look in Roblox.
|
||||
|
||||
For this Blender shader configuration, keep in mind the following requirements:
|
||||
|
||||
- You must switch to **Viewport Shading** mode for textures to render as expected.
|
||||
<img src="../../../assets/art/blender-ui/Viewport-Shading-Setting.png" style={{marginBottom:"0px;"}}/>
|
||||
- When swapping out textures, the normal map's colorspace reverts to **SRGB** instead of **NonColor**. If this occurs, you might need to change it back in order for the normal map to render correctly.
|
||||
|
||||
To preview your character's skin tone in Blender:
|
||||
|
||||
1. In **Layout**, select any geometry object, such as **Head_Geo**.
|
||||
2. Go to the **Shading** tab.
|
||||
3. In the Node panel, ensure **Object** is selected.
|
||||
4. Find the **PartColor** node that is attached to the **Mix** node.
|
||||
5. Pick a color and value on the node to apply a reference custom skin tone.
|
||||
<video
|
||||
controls
|
||||
src="../../../assets/art/avatar/basic-creation/Color_Picker_01.mp4"
|
||||
width="100%"></video>
|
||||
|
||||
#### Export setup
|
||||
|
||||
While the skin tone preview is a critical element to verifying your templates color and tone compatibility in Roblox, it prevents your color texture map from automatically being packaged with the final `.fbx` file. There are two ways to resolve this before exporting your model:
|
||||
|
||||
1. In the Shading tab, disconnect the **Mix** node and replace it with the **ColorMap** node.
|
||||
2. Export your textures manually as separate image files and add them later in Studio.
|
||||
|
||||
For instructions on how to perform either export workflow, see [Export textures](../../../art/characters/creating/export-textures.md).
|
||||
|
||||
### Scene scale
|
||||
|
||||
<Alert severity = 'warning'>
|
||||
You can skip this section if you are using the Blender downloadable templates. The `.blend` versions of the templates which already contain many of the project settings required when setting up a Blender project configuration.
|
||||
</Alert>
|
||||
|
||||
When creating Roblox assets in a modeling application, it's important to ensure your `.fbx` exports scale correctly. The `.fbx` file type scales objects by `100`, meaning that you have to modify your working scale by `.01`. The template files already apply this scaling.
|
||||
|
||||
There are two ways to perform this scaling. You can modify your scene scale properties in your project with the following steps:
|
||||
|
||||
1. In the **Properties** window, navigate to the **Scene Properties** tab.
|
||||
<img src="../../../assets/art/blender-ui/Scene-Options.png" width = "50%" />
|
||||
2. In the Units section, change the **Unit Scale** to `0.01` and the **Length** to **Centimeters**.
|
||||
|
||||
Alternatively, you can modify your scaling when exporting your files:
|
||||
|
||||
1. Navigate to **File** > **Export** > **FBX (.fbx)**.
|
||||
2. Set **Transform** > **Scale** to `.01`.
|
||||
<img src="../../../assets/modeling/skinned-meshes/Blender-Export-Settings-2.png" width="320" />
|
||||
|
||||
### Animation range
|
||||
|
||||
<Alert severity = 'warning'>
|
||||
You can skip this section if you are using the Blender downloadable templates. The `.blend` versions of the templates which already contain many of the project settings required when setting up a Blender project configuration.
|
||||
</Alert>
|
||||
|
||||
For custom characters with facial animation, ensure that the timeline range is set between 0 and 330:
|
||||
|
||||
1. In the top right of the Animation Panel, click and set **Start** to `0`.
|
||||
2. In the top right of the Animation Panel, click and set **End** to `330`.
|
||||
|
||||
<img src="../../../assets/art/blender-ui/Timeline-Frames.png" width = "65%"/>
|
||||
|
||||
<Alert severity = 'info'>
|
||||
After you change your project settings, you can set these as your default Blender project settings by navigating to **File** > **Defaults** > **Save Startup File**.
|
||||
</Alert>
|
||||
60
.cursor/rules/roblox/art/characters/creating/caging.md
Normal file
60
.cursor/rules/roblox/art/characters/creating/caging.md
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
title: Caging character head
|
||||
description: Cage your avatar characters in Blender to support layerable accessories and clothing.
|
||||
next: /art/characters/creating/combine-head-geometry
|
||||
prev: /art/characters/creating/texturing-pbr
|
||||
---
|
||||
|
||||
**Caging** is the process of updating the [cage mesh component](../../../art/characters/index.md#cage-meshes) of your avatar character. To allow your character to correctly wear layered clothing and accessories, you must update the default template cage mesh object to match the sculpting changes you made to your custom character.
|
||||
|
||||
Since this tutorial only applies modeling changes to the head, the caging instructions below only apply to the **Head_OuterCage** object. If you make geometry changes to other parts of the character, you must also adjust those specific **\_OuterCage** objects to match your sculpting changes.
|
||||
|
||||
<Alert severity ='error'>
|
||||
Do not delete any vertices or faces of the provided cages. Destructive modification of the cages can cause import issues and prevent the character model from equipping clothing and cosmetics.
|
||||
</Alert>
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Pre-Caging.png" /> <figcaption>Default head cage mesh no longer fits over sculpted head</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Post-Caging.png" /><figcaption>Head cage mesh after adjustment</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
<Alert severity = 'info'>
|
||||
If your character body shape incorporates many changes with different body parts, it may be more efficient to use the [Blender Cage Template](../../../assets/modeling/meshes/reference-files/Body_Cage_Templates.zip). This Blender project file includes a helper full-body `std_cage_deformable` mesh to automatically apply vertex changes to the individual body-part cages at the same time.
|
||||
</Alert>
|
||||
|
||||
To begin caging your character:
|
||||
|
||||
1. Starting from the Layout Tab, hide everything in the Outliner except the **Head_OuterCage** and the **Head_Geo** objects.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Caging-Outer-Cage-Objects.png" />
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Caging_01.mp4" width="100%"></video>
|
||||
|
||||
2. With the **Head_OuterCage** selected, navigate to **Object Properties** > **Viewport Display** and set the **Display As** to **Wire**. Toggle this setting back to **Solid** when you are finished.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Caging_02.mp4" width="100%"></video>
|
||||
3. Click on the **Head_OuterCage** object and switch to **Edit Mode**.
|
||||
4. Enable **X-Axis symmetry** and **Topology Mirror** to ensure you are making symmetrical vertex changes to your cage.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Caging-Symmetry-Settings.png" />
|
||||
|
||||
5. Switch to **Edit Mode**.
|
||||
6. Using the **Grab tool** (<kbd>G</kbd>), click and grab parts of the cage mesh and align it to fit tightly over the goblin head mesh. Keep the following in mind:
|
||||
|
||||
1. **Never delete any of the cage vertices.** Missing vertices can cause errors and issues with equipping clothing accessories.
|
||||
2. If editing the base of your head cage, ensure that the base of the Head cage aligns with the top of the UpperTorso cage.
|
||||
3. In different Select modes, hold <kbd>Shift</kbd> and click multiple vertices/edges/faces to select and edit the geometry.
|
||||
4. You can verify a tight fit by grabbing vertices and moving them into the Head_Geo mesh to check where the meshes intersect and moving the cage vertices until the cage mesh just covers the head mesh.
|
||||
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Caging_03.mp4" width="100%"></video>
|
||||
|
||||
5. Toggle visibility on your different mesh objects to improve visibility and access to vertices.
|
||||
6. After the wireframe is tightly fitted over the head mesh, set the **Display As** back to **Solid** and spot check and fix any intersecting vertices.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Caging_04.mp4" width="100%"></video>
|
||||
|
||||
Your final product should feature a cage mesh that sits directly over the head mesh without any of the Head_Geo geometry intersecting through the solid sections of the cage.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Post-Caging.png" />
|
||||
|
||||
<Alert severity = 'success'>
|
||||
For a comparison reference, you can download [this version of the tutorial project with caging completed](../../../assets/art/reference-files/checkpoint/3_Goblin-caged.blend).
|
||||
</Alert>
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
title: Combine head geometry
|
||||
description: When creating characters in Blender, you must combine the head geometry to a single object.
|
||||
next: /art/characters/creating/remove-extra-bones
|
||||
prev: /art/characters/creating/caging
|
||||
---
|
||||
|
||||
Whenever you are ready to export your model, it's important to clean up your project to ensure that your model is ready to export. This includes the following tasks that ensure the customized template model and all of the avatar components can import into Studio successfully:
|
||||
|
||||
- Combining extra head geometry
|
||||
- Removing extra head bones
|
||||
- Verifying attachment points
|
||||
- Final technical checks
|
||||
|
||||
<Alert severity = 'error'>
|
||||
Failure to combine head geometry and [remove head bones](../../characters/creating/remove-extra-bones.md) will cause issues with validation, as the character will no longer adhere to the expected R15 geometry and joint hierarchy.
|
||||
</Alert>
|
||||
|
||||
## Combine head geometry
|
||||
|
||||
At this point, you should also combine the separate head and face objects within the single Head_Geo object. Some templates don't include some face objects, like lashes. To combine the head and face meshes:
|
||||
|
||||
1. In the Outliner, hold <kbd>Ctrl</kbd>/<kbd>⌘</kbd> and click following objects, ending with the Head_Geo:
|
||||
|
||||
1. UpperTeeth_Geo
|
||||
2. LowerTeeth_Geo
|
||||
3. Tongue_Geo
|
||||
4. RightLash_Geo
|
||||
5. RightEye_Geo
|
||||
6. LeftLash_Geo
|
||||
7. LeftEye_Geo
|
||||
8. Head_Geo
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Template-Face-Objects.png" />
|
||||
|
||||
<Alert severity = 'error'>
|
||||
When selecting multiple head objects, make sure that the **Head_Geo** is highlighted as yellow, indicating it as the main object that the others merge into. This correctly preserves the custom properties stored in the head mesh. You can achieve this by selecting the head last in the Outliner.
|
||||
</Alert>
|
||||
|
||||
2. While in Object mode, right-click in the Viewport and select **Join**. The objects combine as a single **Head_Geo**.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Cleanup_01.mp4" width="100%"></video>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
title: Export character model
|
||||
description: Export your character model from Blender using the correct settings and processes.
|
||||
prev: /art/characters/creating/export-textures
|
||||
---
|
||||
|
||||
<Alert severity = 'warning'>
|
||||
It's important to test your assets multiple times at every point of the asset creation process, whether it is within Blender or after importing into Studio. See [Test characters](../../../art/characters/testing/index.md) for more information.
|
||||
</Alert>
|
||||
|
||||
Whether you are exporting your character for testing, or are performing a final export out of Blender, you must apply the appropriate export settings to ensure that Blender exports the proper character data.
|
||||
|
||||
To export your character:
|
||||
|
||||
1. In the topbar, click **File** > **Export** > **FBX (.fbx)**. The Blender file browser window displays.
|
||||
2. Set **Path Mode** to **Copy** and enable the **Embed Textures** icon.
|
||||
3. In the Include section, enable **Custom Properties**.
|
||||
4. Expand the Armature section and uncheck **Add Leaf Bones**.
|
||||
5. Enable **Bake Animation**.
|
||||
6. Expand Bake Animation and **uncheck NLA Strips**, **All Actions**, and **Force Start/End Keyframes**.
|
||||
7. In Bake Animation, set **Simplify** to **0.0**.
|
||||
8. Click the **Export FBX** button. Save the `.fbx` to the directory of your choice.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Export-Settings.png" width = "60%" />
|
||||
|
||||
<Alert severity = 'warning'>
|
||||
After exporting your .fbx file, see [Test characters](../../../art/characters/testing/index.md) for steps on importing your character model into a test place and verifying your avatar and related components.
|
||||
</Alert>
|
||||
|
||||
<Alert severity = 'success'>
|
||||
After importing the `Class.Model` character to Studio, you can now perform the following with this asset:
|
||||
|
||||
- [Upload the character](../../../art/accessories/creating-rigid/publishing.md) to the Marketplace.
|
||||
- Use the humanoid character on an existing experience by applying a [HumanoidDescription](../../../characters/appearance.md#manually-modify-appearance)to the `Class.Model` object.
|
||||
- Save the asset to your [Toolbox](../../../projects/assets/toolbox.md) to share or use within any of your experiences.
|
||||
|
||||
</Alert>
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
title: Export textures
|
||||
description: Export your character textures from Blender using the correct settings and processes.
|
||||
next: /art/characters/creating/export-character
|
||||
prev: /art/characters/creating/final-checks
|
||||
---
|
||||
|
||||
<Alert severity = 'warning'>
|
||||
It's important to test your assets multiple times at every point of the asset creation process, whether it is within Blender or after importing into Studio. See [Test characters](../../../art/characters/testing/index.md) for more information.
|
||||
</Alert>
|
||||
|
||||
Whether you are exporting your character for testing, or are performing a final export out of Blender, you must apply the appropriate export settings to ensure that Blender exports the proper character data.
|
||||
|
||||
## Export textures
|
||||
|
||||
Including the default PBR textures, your template character includes four separate image maps that make up its surface appearance. Depending on your workflow, you can choose to embed the image maps to your export file or export the textures separately as image files. Both methods have advantages:
|
||||
|
||||
- [Embedding textures](#embed-textures) simplifies your export by packing all of your textures within the single `.fbx` file.
|
||||
- [Exporting texture images](#export-textures) directly allows you direct access to the image textures, so you can test and swap them more quickly.
|
||||
|
||||
### Embed textures
|
||||
|
||||
Embedding the texture maps to your `.fbx` export can simplify the Blender export and Studio import process. When embedding your textures with Roblox's template files, you need to make a quick adjustment to custom skin tone shader nodes in the Blender file.
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Cleanup
|
||||
-Node-A.png" /> <figcaption>Default node configuration: Mix node connected to Base Color</figcaption></figure>
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Cleanup-Node-B.png" /><figcaption>Exportable node configuration: Color node connected directly to Base Color</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
To prepare your textures to embed with export:
|
||||
|
||||
1. In Object mode, select any part of the character.
|
||||
2. Navigate to the **Shading** tab.
|
||||
3. Ensure the **Type of Data** dropdown is set to **Object**.
|
||||
<img src="../../../assets/art/avatar/basic-creation/Cleanup-Object-Select.png" width = "60%"/>
|
||||
|
||||
4. Find the node that connects to the **Principled BSDF's Base Color**.
|
||||
<img src="../../../assets/art/avatar/basic-creation/Cleanup-Mix-Node.png" />
|
||||
5. Click and drag the line from **Base Color** to disconnect the node.
|
||||
<img src="../../../assets/art/avatar/basic-creation/Cleanup-Disconnect-Node.png" />
|
||||
6. Find the **file26** node with the color texture map and click and drag the **Color** to **Principled BSDF's color** node.
|
||||
<img src="../../../assets/art/avatar/basic-creation/Cleanup-Node-B.png" />
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Exporting_01.mp4" width="100%"></video>
|
||||
|
||||
### Unpack image files
|
||||
|
||||
As an alternative to embedding textures, you can export your texture files as separate `.png` image files, which allows you to quickly access and swap image texture maps.
|
||||
|
||||
To export your texture image files:
|
||||
|
||||
1. Navigate to **File** > **External Data** > **Unpack Resources**.
|
||||
2. Select **Use files in current directory** to save in the same directory as your project. Blender exports your image files to a textures directory in your project's parent directory.
|
||||
<img src="../../../assets/art/avatar/basic-creation/Exporting-Pack-Resources.png" width = "55%"/>
|
||||
12
.cursor/rules/roblox/art/characters/creating/final-checks.md
Normal file
12
.cursor/rules/roblox/art/characters/creating/final-checks.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
title: Final checks
|
||||
description: Before exporting, verify that your model meets Studio's requirements.
|
||||
next: /art/characters/creating/export-textures
|
||||
prev: /art/characters/creating/verify-attachments
|
||||
---
|
||||
|
||||
Depending on the types of customizations you made to your template project or model, the following are additional tasks to look out for when cleaning up your project:
|
||||
|
||||
- Ensure that your project doesn't contain additional mesh objects that aren't part of your character model geometry.
|
||||
- Verify that there isn't additional animation data, such as additional keyframes or saved poses and orientations that are not related to the original facial animation data.
|
||||
- Double-check that your geometry, rig, and texture adhere to the [avatar technical specifications](../../../art/characters/specifications.md).
|
||||
52
.cursor/rules/roblox/art/characters/creating/head-objects.md
Normal file
52
.cursor/rules/roblox/art/characters/creating/head-objects.md
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
title: Template head structure
|
||||
description: Each Roblox avatar template contains modular separate pieces that must later be combined or removed.
|
||||
next: /art/characters/creating/blender-configurations
|
||||
prev: /art/characters/creating/template-files
|
||||
---
|
||||
|
||||
In each template file, each avatar body includes extra head mesh objects and face armature bones. Separating these objects within the templates allow you to make easier changes to each of these separate objects, as demonstrated during the texturing step.
|
||||
|
||||
To avoid validation errors, you must [join](../../../art/characters/creating/combine-head-geometry.md) and [remove](../../../art/characters/creating/remove-extra-bones.md) these extra objects during the cleanup process prior to exporting.
|
||||
|
||||
The extra head mesh objects are the following:
|
||||
<GridContainer numColumns="2">
|
||||
|
||||
<figure>
|
||||
- Head_Geo
|
||||
- UpperTeeth_Geo
|
||||
- LowerTeeth_Geo
|
||||
- Tongue_Geo
|
||||
- RightLash_Geo
|
||||
- RightEye_Geo
|
||||
- LeftLash_Geo
|
||||
- LeftEye_Geo
|
||||
</figure>
|
||||
|
||||
<figure><img
|
||||
alt="Head-Related Meshes"
|
||||
src="../../../assets/art/blender-ui/Face-Objects.png"
|
||||
width="800" /><figcaption>Extra head-related meshes in Blender's Outliner</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
<p />
|
||||
|
||||
The extra head bone children are the following and may differ between templates:
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
|
||||
<figure>
|
||||
- Tongue
|
||||
- LowerTeeth
|
||||
- UpperTeeth
|
||||
- LeftEye
|
||||
- RightEye
|
||||
</figure>
|
||||
|
||||
<figure><img
|
||||
alt="Head-Related Meshes"
|
||||
src="../../../assets/art/blender-ui/Face-Bones.png"
|
||||
width="800" /><figcaption>Extra head-related bones in Blender's Outliner</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
While these extra objects exist to aid the creation and modification process, leaving them in your project on final export will cause validation issues when uploading these assets to the Marketplace.
|
||||
28
.cursor/rules/roblox/art/characters/creating/index.md
Normal file
28
.cursor/rules/roblox/art/characters/creating/index.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
title: Create with templates
|
||||
description: Use Roblox's supplied template models to create your own unique avatar character in Blender.
|
||||
next: /art/characters/creating/template-files
|
||||
---
|
||||
|
||||
You can create your own custom avatar character using Blender and one of Roblox's downloadable template models. Using templates can save you a lot of time by skipping the complex processes of setting up your armature, rigging, skinning, and configuring your character for face animations.
|
||||
|
||||
This tutorial is intended for creators of all skill levels with moderate Blender experience to create a unique character by:
|
||||
|
||||
1. Selecting a base template that include time-saving Blender configurations.
|
||||
2. Modeling using non-destructive sculpting workflows
|
||||
3. Texturing using Blender's texture paint tools
|
||||
4. Caging an asset by editing the template's cage mesh objects
|
||||
5. Cleaning and prepping the project for export
|
||||
6. Exporting your asset for use or testing in Studio
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Pre-Tutorial.png" /> <figcaption>Starting template model</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Post-Tutorial.png" /><figcaption>Example model after modifications</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
<Alert severity = 'info'>
|
||||
This guide uses [Blender 3.4+](https://www.blender.org/download/releases/3-4/) as a practical example for customizing a character template. Before you begin, you should have a basic knowledge using Blender's interface, tools, and viewing controls.
|
||||
|
||||
If you are using another program, you can still apply the general workflow of this tutorial with your program's similar tools.
|
||||
</Alert>
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
---
|
||||
title: Modeling best practices
|
||||
description: Understand important modeling concepts to prevent major issues before any modeling steps.
|
||||
next: /art/characters/creating/modeling-tips
|
||||
prev: /art/characters/creating/blender-configurations
|
||||
---
|
||||
|
||||
Modeling, sometimes known as **sculpting**, is the process of shaping the geometry of your model or mesh. This guide covers important concepts and tips you should review before creating your own unique character shape.
|
||||
|
||||
By understanding how to make non-destructive sculpting changes to the head, the character part that contains the most complex components, you can continue to apply these techniques and concepts to other parts of the character model body.
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Pre-Sculpting.png" /> <figcaption>Starting template model</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Post-Sculpting.png" /><figcaption>Model after custom sculpting</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
<Alert severity = "error">
|
||||
When editing templates, **don't delete or add vertices to your character body**. This ensures that your character's skinning and facial animation data remains unaltered and fully functional.
|
||||
</Alert>
|
||||
|
||||
## Non-destructive modeling
|
||||
|
||||
Non-destructive modeling means using a process that doesn't alter the physical shape or construction of the base mesh object. When modifying a template model, don't use tools or functions that delete or add vertices to your meshes. Instead, use Blender's sculpting tools to alter the shape of your character by **only changing the position of existing vertices**. This ensures that vertices and faces that have skinning or animation data associated with them retain that important character data.
|
||||
|
||||
<Alert severity = 'warning'>
|
||||
Extreme geometric changes, even if the vertices are not deleted, can still adversely affect your rigging and skinning. It's important to choose a starting template file close to your final design and to make consistent and proportional changes when sculpting.
|
||||
</Alert>
|
||||
|
||||
## Edge flow
|
||||
|
||||
Edge flow is a common modeling concept of ensuring that the vertices of your model naturally follow the organic curvature of your model's shape. When making changes to your model's topography, you should maintain a natural edge flow by ensuring that your vertices remain a proportionate distance from each other and follow the common muscle groups and contours of your model.
|
||||
|
||||
Even when maintaining edge flow, you should avoid sculpting certain regions of the character model. The following are examples of important sections of the face that follow a natural edge flow and should be kept in a similar shape:
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Round head region</th>
|
||||
<th>Edge flow notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<Tabs>
|
||||
<TabItem label="Round">
|
||||
<img src="../../../assets/art/avatar/basic-creation/Edge-Flow-Nasolabial-A.png" />
|
||||
</TabItem>
|
||||
<TabItem label = "Narrow">
|
||||
<img src="../../../assets/art/avatar/basic-creation/Edge-Flow-Nasolabial-B.png" />
|
||||
</TabItem></Tabs></td>
|
||||
<td>**Forehead Wrinkles and Nasolabial Edges**: The edge lines for the forehead wrinkles and nasolabial edges are vital for various expressions involving the mouth, forehead furrowing, eyebrow movement and cheeks. If you modify these sections of your topography, ensure that you retain the original shape whenever possible, and that they maintain a similar relative relationship to each other. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<Tabs>
|
||||
<TabItem label="Round">
|
||||
<img src="../../../assets/art/avatar/basic-creation/Edge-Flow-Mouth-A.png" />
|
||||
</TabItem>
|
||||
<TabItem label = "Narrow">
|
||||
<img src="../../../assets/art/avatar/basic-creation/Edge-Flow-Mouth-B.png" />
|
||||
</TabItem></Tabs></td>
|
||||
<td>**Mouth and Lip Edges**: The topography surrounding the lips and mouth have circular mesh structures for the mouth to open and close. This structure can fold the mesh to shape the lips to naturally visualize *a*, *e*, *i*, *o*, and *u* vowel sounds. The neutral shape is a closed mouth, and the edge flows around the mouth in a continuous line to accurately fold and deform the expected mouth shapes.<br /><br />In this tutorial, we don't recommend modifying this area of the facial topography because of the risk of adversely affecting the underlying tongue, upper and lower jaw, and saved facial data. You can use a sculpting mask to ensure that this area is not affected by any modeling changes.</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<Tabs>
|
||||
<TabItem label="Round">
|
||||
<img src="../../../assets/art/avatar/basic-creation/Edge-Flow-Eyes-A.png" />
|
||||
</TabItem>
|
||||
<TabItem label = "Narrow">
|
||||
<img src="../../../assets/art/avatar/basic-creation/Edge-Flow-Eyes-B.png" />
|
||||
</TabItem></Tabs></td>
|
||||
<td>**Eyes**: The eyelids have enough mesh lines on the eyelids to close the eyes. The continuous lines on the eyelids enable the eyelids to deform and fold as expected when blinking or widening. <br /><br />In this tutorial, it isn't recommended to modify this area of the facial topography because of the risk of adversely affecting the underlying eyeball meshes and saved facial data that contribute to accurate expressions. You can use a sculpting mask to ensure that this area is not affected by any modeling changes.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<Tabs>
|
||||
<TabItem label="Round">
|
||||
<img src="../../../assets/art/avatar/basic-creation/Edge-Flow-Eyebrow-A.png" />
|
||||
</TabItem>
|
||||
<TabItem label = "Narrow">
|
||||
<img src="../../../assets/art/avatar/basic-creation/Edge-Flow-Eyebrow-B.png" />
|
||||
</TabItem></Tabs></td>
|
||||
<td>**Eyelids and Eyebrows**: The eyelids and eyebrows require adequate space between the two regions.<br /><br />If modifying the topography above the eyes, keep in mind that the eyelids and eyebrows require a natural space between the two regions. Both the eyelids and eyebrows can shift and change positions with various facial expressions and, if improperly modeled, can clash into each other during a facial pose.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Not following edge flow concepts can result in the topology of your model conflicting with each other during animations, sometimes known as crashing.
|
||||
|
||||
<center>
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Sculpting-Crash-Example.png" width = "100%"/> <figcaption>In this example, the top of the eyelid and bottom eyelid travel past each other when closing causing jagged artifacts where the vertices collide and crash.</figcaption></figure>
|
||||
</center>
|
||||
|
||||
By carefully sculpting your template mesh, you can avoid having to correct these topology collisions later, which can often require manually correcting rig, skinning, and/or facial animation data.
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
title: Modeling tips
|
||||
description: Use these Blender modeling tips to expedite your character creation.
|
||||
next: /art/characters/creating/sculpting
|
||||
prev: /art/characters/creating/modeling-best-practices
|
||||
---
|
||||
|
||||
There are many tips and tricks during the modeling process that can save you time and prevent major issues in your workflow. There are many resources online that can help you make your modeling process more efficient. The following are various beginner-friendly tips and settings in Blender that allow you to visualize and configure objects efficiently in your project.
|
||||
|
||||
### Hide inactive objects
|
||||
|
||||
In your Outliner, hide objects you aren't editing by enabling the **Hide In Viewport** icon <img src="../../../assets/art/blender-ui/Visibility-Icon.png" style={{marginBottom:"0px;"}} width="20px"/>. This cleans up your workspace and helps ensure you don't make unintentional changes to another object or collection.
|
||||
|
||||
You can quickly bulk hide and unhide any parent and child objects that are not [disabled](../../../art/characters/creating/index.md#disabled-objects). To bulk hide objects:
|
||||
|
||||
1. In the Outliner, navigate to a parent object, such as **Cage** or **Joints**.
|
||||
2. Hold <kbd>Shift</kbd> and click the **Hide In Viewport** icon <img src="../../../assets/art/blender-ui/Visibility-Icon.png" style={{marginBottom:"0px;"}} width="20px"/> to toggle the object's visibility.
|
||||
|
||||
### Enable wireframe view
|
||||
|
||||
Whenever you use a modeling application, switch between different viewport options, like X-Ray and Wireframe, to gain a better perspective on your vertices and shapes. This tutorial uses a wireframe view over the mesh shape, and many examples use various material settings and viewport options.
|
||||
|
||||
Enable wireframes on your material view by setting the following:
|
||||
|
||||
1. Select the **Head_Geo**.
|
||||
2. In the **Properties** panel, navigate to **Object Properties** <img src="../../../assets/art/blender-ui/Object-Select-Icon.png" style={{marginBottom:"0px;"}} width="20px"/>.
|
||||
3. In Viewport Display, enable **Wireframe**.
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
title: Remove extra bones
|
||||
description: When creating characters in Blender, you must remove the extra head bones included in the template.
|
||||
next: /art/characters/creating/verify-attachments
|
||||
prev: /art/characters/creating/combine-head-geometry
|
||||
---
|
||||
|
||||
The helper bones used to help place the head geometries also require removal to validate correctly. While these extra bones do not include any skinning data, do not delete any of the facial animation bones parented within DynamicHead, as these include important skinning data that drives facial animation.
|
||||
|
||||
<Alert severity = 'error'>
|
||||
Failure to [combine head geometry](../../characters/creating/combine-head-geometry.md) and remove head bones will cause issues with validation, as the character will no longer adhere to the expected R15 geometry and joint hierarchy.
|
||||
</Alert>
|
||||
|
||||
Remove the additional head bones by selecting them and deleting them in edit mode:
|
||||
|
||||
1. If required, toggle visibility on your **Armature** object. The bones display in the viewport.
|
||||
2. In the Outliner, expand the character's armature object and find the **Joints** object that parents the bone structure of the character.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Select-Joint-Objects.png" />
|
||||
|
||||
3. Expand the Joints hierarchy by holding **shift** and clicking the expansion dropdown.
|
||||
4. In the viewport, select any bone and switch to **Edit Mode**.
|
||||
<img src="../../../assets/art/avatar/basic-creation/Select-Bone-Objects.png" />
|
||||
5. Under the Head joint, hold **shift** and select all the head children joints except DynamicHead.
|
||||
6. With the extra head bones selected, right click in the viewport and select **Delete Selected Bones**.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Cleanup_01-1.mp4" width="100%"></video>
|
||||
57
.cursor/rules/roblox/art/characters/creating/sculpting.md
Normal file
57
.cursor/rules/roblox/art/characters/creating/sculpting.md
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
---
|
||||
title: Sculpt the head
|
||||
description: Use Blender's sculpting tools to make unique changes to the shape of your character.
|
||||
next: /art/characters/creating/texturing-setup
|
||||
prev: /art/characters/creating/modeling-tips
|
||||
---
|
||||
|
||||
After reviewing the modeling best-practices and sculpting tips, you can begin sculpting your character. This tutorial demonstrates sculpting changes to the [RoundMale template](../../../assets/art/reference-files/RoundMale.zip), creating a goblin-like character.
|
||||
|
||||
The sculpting instructions utilize the following Sculpting tools:
|
||||
|
||||
- **Grab** - Selects and pulls a group of vertices.
|
||||
- **Smooth** - Eliminates irregularities in the area of the brush's influence.
|
||||
- **Flatten** - Averages out the vertices within the brush's influence on a common plane.
|
||||
- **Elastic Deform** - Similar to Grab, but adds an organic stretch and elasticity to the neighboring vertices.
|
||||
|
||||
<Alert severity='info'>
|
||||
You can use Blender's other sculpting tools, though it's important to use a tool that aligns with the [Non-Destructive Modeling](./modeling-best-practices.md#non-destructive-modeling) concepts to preserve the vertices of the model.
|
||||
</Alert>
|
||||
|
||||
To begin sculpting the head:
|
||||
|
||||
1. With the template project opened, hide the other Geo objects to isolate the head mesh.
|
||||
2. Select the **Head_Geo** mesh object and switch to **Sculpting** mode.
|
||||
3. At the top right of the viewport, set the following options:
|
||||
1. Enable **X-Axis Symmetry**.
|
||||
2. Enable **Wireframe** view.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Sculpting_01.mp4" width="100%"></video>
|
||||
4. Using the **Mask** tool, paint over the mouth and eyes where you do not want to sculpt unexpectedly.
|
||||
<video controls muted src="../../../assets/art/avatar/basic-creation/Sculpting_02.mp4" width="100%"></video>
|
||||
5. With the **Grab** and **Smooth** tools, make the following edits to your template head:
|
||||
|
||||
1. Reshape the head, flattening and enlarging the top.
|
||||
|
||||
2. Elongate the ears.
|
||||
|
||||
1. Expand the surface near the ear to broaden the base
|
||||
2. Grab and extend each ear, ensuring it connects smoothly to the base and vertices remain proportionally spaced when possible.
|
||||
3. Try the Flatten tool to straighten and align a region.
|
||||
4. Use the Elastic Deform tool to stretch and pull multiple vertices.
|
||||
<video controls muted src="../../../assets/art/avatar/basic-creation/Sculpting_03.mp4" width="100%"></video>
|
||||
|
||||
3. Extend the bridge of the nose and expand the size of the brow
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Sculpting_04.mp4" width="100%" muted></video>
|
||||
|
||||
4. Broaden the chin so it prominently protrudes.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Sculpting_06.mp4" width="100%" muted></video>
|
||||
|
||||
6. Perform a refinement pass to add final details, polish, and accentuate your main features, such as:
|
||||
- Adding details in the outer and inner ears
|
||||
- Adding more detail to chin and cheeks
|
||||
- Improving edge lines and spacing in areas with crowded vertices
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Sculpting_07.mp4" width="100%"></video>
|
||||
|
||||
<Alert severity = 'success'>
|
||||
For a comparison reference, you can download [this version of the tutorial project with sculpting completed](../../../assets/art/reference-files/checkpoint/1_Goblin-sculpted.blend).
|
||||
</Alert>
|
||||
109
.cursor/rules/roblox/art/characters/creating/template-files.md
Normal file
109
.cursor/rules/roblox/art/characters/creating/template-files.md
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
title: Template files
|
||||
description: Roblox provides template models to create your own unique avatar character in Blender.
|
||||
next: /art/characters/creating/head-objects
|
||||
prev: /art/characters/creating/
|
||||
---
|
||||
|
||||
Each template comes pre-baked with the [necessary components of an avatar character](../../../art/characters/index.md#components-of-an-avatar) to save you time and effort in creating a custom avatar character. When creating characters from scratch, these individual components typically take a lot of time and a deep technical background in your modeling application. Templates allow you to skip several steps and work from a variety of base character shapes.
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Template prototype</th>
|
||||
<th></th>
|
||||
<th>Sample customizations</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="../../../assets/art/avatar/templates/Muzzle-Prototype.png" /><br /><center>Muzzle head template</center>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<img src="../../../assets/art/avatar/templates/Muzzle-Concepts.png" /><br />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="../../../assets/art/avatar/templates/Round-Prototype.png" /><br /><center>Round head template</center>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<img src="../../../assets/art/avatar/templates/Round-Concepts.png" /><br />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
You can choose from a variety of templates that best match your final design and save time on creating the technical components. The examples in the template tutorials utilize the [Round Blender template](../../../assets/art/reference-files/RoundMale.zip). Experiment with other templates to create your own unique character and final result.
|
||||
|
||||
Each `.zip` contains a `.blend`, `.fbx`, and PBR texture `.png` files for that template model. If using Blender or following the [template creation guides](../../../art/characters/creating/index.md), use the `.blend` project.
|
||||
|
||||
<Tabs>
|
||||
<TabItem label="Head Shapes">
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/templates/Round-Head-Templates.png"/><figcaption><center>Round</center></figcaption></figure>
|
||||
<figure>
|
||||
<br /><br />
|
||||
Female: <a href="../../../assets/art/reference-files/RoundFemale.zip">RoundFemale.zip</a> <br />
|
||||
Male: <a href="../../../assets/art/reference-files/RoundMale.zip">RoundMale.zip</a>
|
||||
</figure>
|
||||
</GridContainer>
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/templates/Square-Head-Templates.png" /><figcaption><center>Square</center></figcaption></figure>
|
||||
<figure>
|
||||
<br /><br />
|
||||
Female: <a href="../../../assets/art/reference-files/SquareFemale.zip">SquareFemale.zip</a> <br />
|
||||
Male: <a href="../../../assets/art/reference-files/SquareMale.zip">SquareMale.zip</a>
|
||||
</figure>
|
||||
</GridContainer>
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/templates/Muzzle-Head-Templates.png" /><figcaption><center>Muzzle</center></figcaption></figure>
|
||||
<figure>
|
||||
<br /><br />
|
||||
Female: <a href="../../../assets/art/reference-files/MuzzleFemale.zip">MuzzleFemale.zip</a> <br />
|
||||
Male: <a href="../../../assets/art/reference-files/MuzzleMale.zip">MuzzleMale.zip</a>
|
||||
</figure>
|
||||
</GridContainer>
|
||||
</TabItem>
|
||||
<TabItem label="Realistic">
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/templates/SemiRealistic-Templates.png"/><figcaption><center>Realistic</center></figcaption></figure>
|
||||
<figure>
|
||||
Female: <a href="../../../assets/art/reference-files/SemiRealisticFemale.zip">SemiRealisticFemale.zip</a> <br />
|
||||
Male: <a href="../../../assets/art/reference-files/SemiRealisticMale.zip">SemiRealisticMale.zip</a>
|
||||
</figure>
|
||||
</GridContainer>
|
||||
</TabItem>
|
||||
<TabItem label="Anime">
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/templates/Anime-Templates.png"/><figcaption><center>Anime</center></figcaption></figure>
|
||||
<figure>
|
||||
Female: <a href="../../../assets/art/reference-files/AnimeFemale.zip">AnimeFemale.zip</a> <br />
|
||||
Male: <a href="../../../assets/art/reference-files/AnimeMale.zip">AnimeMale.zip</a>
|
||||
</figure>
|
||||
</GridContainer>
|
||||
</TabItem>
|
||||
<TabItem label="Stylized">
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/templates/Stylized-Templates.png"/><figcaption><center>Stylized</center></figcaption></figure>
|
||||
<figure>
|
||||
Single body: <a href="../../../assets/art/reference-files/StylizedHuman.zip">Stylized.zip</a>
|
||||
</figure>
|
||||
</GridContainer>
|
||||
</TabItem>
|
||||
<TabItem label="Caricature">
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/templates/Caricature-Templates.png"/><figcaption><center>Caricature</center></figcaption></figure>
|
||||
<figure>
|
||||
Single body: <a href="../../../assets/art/reference-files/Caricature.zip">Caricature.zip</a>
|
||||
</figure>
|
||||
</GridContainer>
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
After downloading your template file, review the [unique head object structure](../../../art/characters/creating/head-objects.md) and [additional Blender settings](../../../art/characters/creating/blender-configurations.md) that require adjustment before exporting. It's crucial to understand these concepts prior to committing to any alterations as these can conflict with Roblox's avatar requirements if not addressed.
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
---
|
||||
title: Texturing eyes
|
||||
description: Use Blender's texture painting tools to apply a custom surface appearance on your character's eyes.
|
||||
next: /art/characters/creating/texturing-face
|
||||
prev: /art/characters/creating/texturing-setup
|
||||
---
|
||||
|
||||
You can apply a fully opaque texture to the eyes to achieve a more non-human visual effect for your character. Before editing the eye textures, join the two eye objects to texture them both at the same time. Then texture paint the entire eye, starting with the outer eye, moving to the inner eye, and finishing with the pupil.
|
||||
|
||||
To texture your eye mesh objects:
|
||||
|
||||
1. Increase the texture image resolution.
|
||||
2. In the Outliner, toggle the **Hide in Viewport** option for the **Head_Geo**, **LowerTeeth_Geo**, **Tongue_Geo**, and **UpperTeeth_Geo**. Leave the eye mesh objects visible.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_01.mp4" width="100%"></video>
|
||||
3. In Object Mode, hold <kbd>Shift</kbd> and click on both the **LeftEye_Geo** and the **RightEye_Geo**. Then right-click and select **Join** (<kbd>Ctrl</kbd><kbd>J</kbd>; <kbd>⌘</kbd><kbd>J</kbd>) to join the objects. The two objects merge using the name of the last object selected.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_02.mp4" width="100%"></video>
|
||||
4. Switch to **Texture Paint** mode.
|
||||
5. With the Draw tool active, set the following brush settings for the outer eye shadow:
|
||||
|
||||
1. In Brush Settings, set **Radius** to **50px** and **Strength** to **1.0**.
|
||||
2. In Color Picker, select **black**.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Texturing-Shadow-Settings.png" />
|
||||
|
||||
6. In the Texture Paint **3D view window**, completely paint the eye objects black. This serves as the basis for the outer-eye shadow.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_03.mp4" width="100%"></video>
|
||||
7. With the Draw tool active, set the following brush settings for the outer eye shadow:
|
||||
|
||||
1. In Brush Settings, set **Radius** to **75px** and **Strength** to **1.0**.
|
||||
2. In Color Picker, select a **deep yellow**.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Texturing-Outer-Brush-Settings.png" />
|
||||
|
||||
8. In the Texture Paint **2D view window**, line up your cursor to the center of the UV map that corresponds to the eye texture. Click 4-6 times on the center of each eye to create an outer eye color over the base shadow.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_04.mp4" width="100%"></video>
|
||||
|
||||
9. For visibility, enable Head_Geo visibility and reorient the camera to a front-facing view.
|
||||
10. Paint the inner eye color using the following suggestions:
|
||||
|
||||
1. Click the **X Symmetry** button to enable symmetry. Toggle this off if creating asymmetrical assets.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Texturing-X-Symmetry.png" />
|
||||
|
||||
2. In the Overlay view options, **enable Wireframe geometry view**. You can toggle this overlay off when spot checking your visual elements.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_05.mp4" width="100%"></video>
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Texturing-Wireframe-Toggle.png" />
|
||||
|
||||
3. Update your brush settings for the inner eye:
|
||||
|
||||
1. In Brush Settings, set **Radius** to **5px**. You can quickly change this radius as you paint by holding <kbd>F</kbd>.
|
||||
2. In Color Picker, select a strong **red** shade for the inner eye.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Texturing-Inner-Eye.png" />
|
||||
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_06.mp4" width="100%"></video>
|
||||
|
||||
4. Periodically make the head mesh visible to ensure your eye texture works with the rest of the model.
|
||||
|
||||
11. Update your brush settings for the pupil:
|
||||
|
||||
1. In Brush Settings, set Radius to **5px**. You can quickly change this radius as you paint by holding <kbd>F</kbd>.
|
||||
2. In Color Picker, select a bright **red** shade for the pupils.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Texturing-Pupil-Brush-Settings.png" />
|
||||
|
||||
12. Using the Brush tool, paint the pupils of your model.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_07.mp4" width="100%"></video>
|
||||
13. After completing your texture painting, switch back to **Edit Mode**.
|
||||
14. Shift click both of your eye objects, and press <kbd>P</kbd> and select **By Loose Parts** to separate the two meshes.
|
||||
15. Rename your remaining mesh to the original **RightEye_Geo** or **LeftEye_Geo** name.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_08.mp4" width="100%"></video>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
---
|
||||
title: Texturing face
|
||||
description: Use Blender to apply a custom surface appearance on your character's face.
|
||||
next: /art/characters/creating/texturing-pbr
|
||||
prev: /art/characters/creating/texturing-eyes
|
||||
---
|
||||
|
||||
After texturing the eyes, you can begin texturing the face. The concepts are similar to texturing the eyes, though you only use an opaque texture to ensure that the custom skin tone can remain visible.
|
||||
|
||||
To texture the face:
|
||||
|
||||
1. In the Texture Paint tab, resize your texture resolution to **2048** or **4098**:
|
||||
1. In the left Paint window, select **Image** > **Resize**.
|
||||
2. Set the texture size to **2048 x 2048**.
|
||||
2. In the Tool sidebar, update your brush settings for the facial features.
|
||||
|
||||
1. In Brush Settings, start with the following Brush recommendations:
|
||||
|
||||
1. **Radius** to **5px**. You can change this radius as you paint.
|
||||
2. **Strength** to **0.300**. Modify this value when applicable.
|
||||
3. In Symmetry, enable **X Axis Mirroring**.
|
||||
|
||||
<img src="../../../assets/art/avatar/basic-creation/Texture-Symmetry-Tool-Setting.png" />
|
||||
|
||||
2. In Color Picker, select a neutral **dark** shade for the shadows.
|
||||
|
||||
3. Apply texture to your character's face features, such as the nostrils, wrinkles, ears, and chin. Keep in mind that the painted textures will look softer and blended with the surface once the texture resolution is resized.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_10.mp4" width="100%"></video>
|
||||
|
||||
4. When complete, resize your texture resolution back to **1024 x 1024**:
|
||||
1. In the left Paint window, select **Image** > **Resize**.
|
||||
2. Set the texture size back to **1024 x 1024**.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_11.mp4" width="100%"></video>
|
||||
|
||||
Your final result should include various facial textures that help accentuate the features of your character and work well with any custom skin tone. Try exploring various amounts of texturing and the types of surfaces you could expect on skin, such as wrinkles, scars, or dirt/grunge. You should also verify your textures between several skin tones to ensure that your texturing looks acceptable with various skin types.
|
||||
|
||||
<GridContainer numColumns="3">
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Post-Texturing-A.png" /> <figcaption>Default Green</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Post-Texturing-B.png" /><figcaption>Pink</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Post-Texturing-C.png" /><figcaption>Blue</figcaption></figure>
|
||||
|
||||
</GridContainer>
|
||||
|
||||
<Alert severity = 'success'>
|
||||
For a comparison reference, you can download [this version of the tutorial project with texturing completed](../../../assets/art/reference-files/checkpoint/2_Goblin-textured.blend).
|
||||
</Alert>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: PBR textures (optional)
|
||||
description: PBR textures are high-definition texture maps that can elevate your custom characters.
|
||||
next: /art/characters/creating/caging
|
||||
prev: /art/characters/creating/texturing-face
|
||||
---
|
||||
|
||||
Physically-based rendering (PBR) textures use multiple texture maps to define how a surface reacts under different lighting and environmental conditions. PBR textures can elevate the look and feel of your assets, including your avatar, accessories, and clothing. Typically, PBR textures are created in a texturing tool, such as [Substance 3D](https://www.adobe.com/products/substance3d-painter) or [ZBrush](https://www.maxon.net/en/zbrush). Many third-party 3D models available online include PBR textures.
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/modeling/surface-appearance/Layered-Clothing-Example.png" /> <figcaption>Characters and accessories can make use of PBR textures to apply visual pop and material realism.</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/modeling/surface-appearance/Layered-Clothing-Example-2.jpg" /><figcaption>PBR textures allow for virtually any type of material surface, such as leather and denim.</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
Although each template includes PBR textures, for the purpose of demonstrating the basic texturing process within Blender, this tutorial doesn't cover the PBR texturing process. For more information and references on advanced texturing, see [PBR textures](../../../art/modeling/surface-appearance.md).
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
title: Texturing setup
|
||||
description: Set up Blender to optimize your project for texturing the eyes and face of your template.
|
||||
next: /art/characters/creating/texturing-eyes
|
||||
prev: /art/characters/creating/sculpting
|
||||
---
|
||||
|
||||
**Texturing** is the process of customizing the color, tone, and shading of your model's surface. Custom meshes and models use a 2D image, known as a texture map, to project various surface appearance elements onto your 3D object.
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Pre-Texturing.png" /> <figcaption>Model after custom sculpting</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Post-Texturing.png" /><figcaption>Model after texturing</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
Each template comes with a color texture map, which you can alter and modify using Blender's texture editing tools. Since most Roblox avatars can take advantage of custom skin tones, it's important to understand how to [preview custom skin tones](../../../art/characters/creating/index.md#preview-skin-tones) in Blender to verify how your final asset will look in a Roblox experience.
|
||||
|
||||
For the purpose of demonstrating the basic texturing process, this tutorial goes over basic texture painting setup, applies a completely opaque texture over parts of the character eyes, and partially opaque details over the face. You can apply these same techniques to other parts of your character geometry.
|
||||
|
||||
<Alert severity = 'warning'>
|
||||
When texturing parts of your character model's body, ensure that your character model includes a modesty layer over sensitive regions. See [Community Standards](../../../marketplace/marketplace-policy.md) for more information on Roblox's policies.
|
||||
</Alert>
|
||||
|
||||
## Set texture resolution
|
||||
|
||||
Roblox Studio supports a texture resolution of **1024 x 1024** for albedo texture maps. When using applications like Blender or Maya to texture paint directly on a model, extremely fine details may not paint as expected due to the resolution and level of detail of the painting.
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Texture-Resolution-A.png" /> <figcaption>Texture painting at 1024 x 1024 resolution</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Texture-Resolution-B.png" /><figcaption>Texture painting at 2048 x 2048 resolution</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
When adding fine details to your texture, increase the image resolution of your texture map temporarily to **2048 x 2048** or **4096 x 4096**. After completing your texturing, change the image resolution back to **1024 x 1024** to bake in the changes.
|
||||
|
||||
To change your texture image resolution:
|
||||
|
||||
1. Starting from Layout mode, select the **Head_Geo**.
|
||||
2. Switch to **Texture Paint** mode.
|
||||
3. In the left Paint window, select **Image** > **Resize**.
|
||||
4. Set the texture size:
|
||||
1. Use **2048** or **4096** for a higher res for detailed texture work.
|
||||
2. Use **1024** for the default Roblox-supported resolution.
|
||||
<video controls src="../../../assets/art/avatar/basic-creation/Texturing_09.mp4" width="100%"></video>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
title: Verify attachment placement
|
||||
description: When creating characters in Blender, the character model requires minor attachment adjustments to be Studio-ready.
|
||||
next: /art/characters/creating/final-checks
|
||||
prev: /art/characters/creating/remove-extra-bones
|
||||
---
|
||||
|
||||
Attachment points are non-rendered objects of your avatar where rigid accessories attach to. Each template includes the required attachments at their expected locations ending with **\_Att**. Before exporting, it's important to verify the attachment position and, if necessary, adjust the location if you made any changes to the shape of your model.
|
||||
|
||||
<GridContainer numColumns="2">
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Pre-Attachment.png" /> <figcaption>Original template attachment positions</figcaption></figure>
|
||||
|
||||
<figure><img src="../../../assets/art/avatar/basic-creation/Post-Attachment.png" /><figcaption>Attachments after adjustment</figcaption></figure>
|
||||
</GridContainer>
|
||||
|
||||
Center attachment points at their respective locations. Each attachment should overlap approximately halfway with the character's mesh.
|
||||
|
||||
This tutorial only changes the head of your model, so you only need to adjust the **Hat**, **Hair** and **FaceFront** attachments. To enable visibility and verify your head attachment point:
|
||||
|
||||
1. If you haven't already, enable [disabled objects](../../../art/characters/creating/index.md#disabled-objects) in your Outliner.
|
||||
2. In the Outliner, find the Joints parent object.
|
||||
3. Hold <kbd>Shift</kbd> and click the **Hide** icon for the Joints object to hide everything.
|
||||
4. Expand the Joints object and un-hide the Head_Geo and Hat_Att and Hair_Att.
|
||||
1. If required, disable **Disable In Viewport** <img src="../../../assets/art/blender-ui/Disabled-Icon.png" style={{marginBottom:"0px;"}} width="20px"/> next to the \_Att objects.
|
||||
5. Toggle Visibility for the **Hat_Att**, **Hair_Att**, and **FaceFront_Att**.
|
||||
6. Verify the placement of the attachments. The goblin's head is shorter than the starting template, so the attachments require minor vertical adjustment.
|
||||
7. Select the attachments
|
||||
8. Switch to **Edit** Mode.
|
||||
9. Using the Grab tool, position the attachments vertically along the y-axis until they are about halfway embedded in the head.
|
||||
<video controls muted src="../../../assets/art/avatar/basic-creation/Cleanup_02.mp4" width="100%"></video>
|
||||
Loading…
Add table
Add a link
Reference in a new issue