diff --git a/content/common/navigation/avatar/guides.yaml b/content/common/navigation/avatar/guides.yaml index 42d1492d2..8eef470b4 100644 --- a/content/common/navigation/avatar/guides.yaml +++ b/content/common/navigation/avatar/guides.yaml @@ -1,5 +1,5 @@ navigation: - - title: Get started + - title: Getting Started path: /avatar/ - heading: Accessories @@ -8,11 +8,11 @@ navigation: path: /art/accessories/ - title: Specifications path: /art/accessories/specifications - - title: Body scale + - title: Body Scale path: /art/accessories/body-scale - - title: Export settings + - title: Export Settings path: /art/accessories/export-settings - - title: Import into Studio + - title: Importing into Studio path: /art/accessories/importing - heading: Clothing @@ -21,15 +21,15 @@ navigation: path: /art/accessories/layered-clothing - title: Specifications path: /art/accessories/clothing-specifications - - title: Reference files + - title: Reference Files path: /art/accessories/project-files - - title: Caging best practices + - title: Caging Best Practices path: /art/accessories/caging-best-practices - - title: Export settings + - title: Export Settings path: /art/accessories/clothing-export-settings - - title: Import into Studio - path: /art/accessories/import-clothing - - title: Classic clothing + - title: Importing into Studio + path: /art/accessories/importing-clothing + - title: Classic Clothing path: /art/accessories/classic-clothing - heading: Characters @@ -37,63 +37,63 @@ navigation: path: /art/characters/ - title: Specifications path: /art/characters/specifications - - title: Reference files + - title: Reference Files path: /art/characters/project-files - - title: Export settings + - title: Export Settings path: /art/characters/export-settings - - title: Import into Studio - path: /art/characters/import + - title: Importing into Studio + path: /art/characters/importing - title: Heads path: /art/characters/facial-animation/ section: - title: Overview path: /art/characters/facial-animation/ - - title: Use heads in Studio - path: /art/characters/facial-animation/use-heads-in-studio - - title: Animate heads - path: /art/characters/facial-animation/animate-heads + - title: Using Heads in Studio + path: /art/characters/facial-animation/using-heads-in-studio + - title: Animating Heads + path: /art/characters/facial-animation/animating-heads - title: Moods path: /art/characters/facial-animation/moods - - title: FACS poses reference + - title: FACS Poses Reference path: /art/characters/facial-animation/facs-poses-reference - - heading: Publish and sell - - title: Marketplace overview + - heading: Publishing and Selling + - title: Marketplace Overview path: /marketplace/ - - title: Policies and guidelines + - title: Policies and Guidelines path: /marketplace/marketplace-policy section: - - title: Marketplace policy + - title: Marketplace Policy path: /marketplace/marketplace-policy - - title: Intellectual property + - title: Intellectual Property path: /marketplace/intellectual-property - title: Moderation path: /marketplace/moderation - - title: Upload and publish - path: /marketplace/publish-to-marketplace - - title: Marketplace fees and commissions + - title: Uploading and Publishing + path: /marketplace/publishing-to-marketplace + - title: Marketplace Fees and Commissions path: /marketplace/marketplace-fees-and-commissions - title: UGC Homestore path: /marketplace/homestore - - title: Frequently asked questions + - title: Frequently Asked Questions path: /marketplace/frequently-asked-questions - - heading: Studio tools + - heading: Studio Tools - title: 3D Importer path: /art/modeling/3d-importer - - title: Accessory Fitting tool + - title: Accessory Fitting Tool path: /art/accessories/accessory-fitting-tool - title: Avatar Setup path: /art/modeling/avatar-setup - - title: Automatic Skinning Transfer + - title: Automatic Skinning path: /art/accessories/automatic-skinning-transfer - - title: Custom thumbnails + - title: Custom Thumbnails path: /marketplace/custom-thumbnails - - heading: Third party add-ons - - title: Roblox Blender plugin + - heading: Third Party Add-ons + - title: Roblox Blender Plugin path: /art/modeling/roblox-blender-plugin - title: Calisthenics Tool path: /art/modeling/calisthenics-tool - - title: Clothing Validation Tool + - title: Validation Tool path: /art/accessories/validation-tool diff --git a/content/common/navigation/avatar/tutorials-accessories.yaml b/content/common/navigation/avatar/tutorials-accessories.yaml index 7137b4e7d..d94a5079a 100644 --- a/content/common/navigation/avatar/tutorials-accessories.yaml +++ b/content/common/navigation/avatar/tutorials-accessories.yaml @@ -1,23 +1,23 @@ backTo: - title: Back to avatar tutorials + title: Back to Avatar Tutorials path: /avatar/tutorials/ navigation: - title: Overview path: /art/accessories/creating-rigid/ - - heading: Model - - title: Box modeling + - heading: Modeling + - title: Box Modeling path: /art/accessories/creating-rigid/modeling-setup - - heading: Texture - - title: Texture painting + - heading: Texturing + - title: Texture Painting path: /art/accessories/creating-rigid/texturing - - heading: Export - - title: Export from Blender + - heading: Exporting + - title: Exporting from Blender path: /art/accessories/creating-rigid/exporting - - heading: Import into Studio - - title: Use Studio's 3D importer + - heading: Importing into Studio + - title: Using Studio's 3D Importer path: /art/accessories/creating-rigid/importing - - title: Convert to accessory + - title: Converting to Accessory path: /art/accessories/creating-rigid/converting - - heading: Publish to Marketplace - - title: Upload and publish + - heading: Publishing to Marketplace + - title: Upload and Publishing path: /art/accessories/creating-rigid/publishing diff --git a/content/common/navigation/avatar/tutorials-bodies.yaml b/content/common/navigation/avatar/tutorials-bodies.yaml index 3ce524ec9..0e566df99 100644 --- a/content/common/navigation/avatar/tutorials-bodies.yaml +++ b/content/common/navigation/avatar/tutorials-bodies.yaml @@ -1,52 +1,52 @@ backTo: - title: Back to avatar tutorials + title: Back to Avatar Tutorials path: /avatar/tutorials/ navigation: - heading: Overview - - title: Avatar creation + - title: Avatar Creation path: /art/characters/creating/ - - heading: Project setup - - title: Template files + - heading: Project Setup + - title: Template Files path: /art/characters/creating/template-files - - title: Extra head objects + - title: Extra Head Objects path: /art/characters/creating/head-objects - - title: Blender configurations + - title: Blender Configurations path: /art/characters/creating/blender-configurations - heading: Modeling - - title: Best practices + - title: Best Practices path: /art/characters/creating/modeling-best-practices - - title: Tips and settings + - title: Tips and Settings path: /art/characters/creating/modeling-tips - - title: Sculpt + - title: Sculpting path: /art/characters/creating/sculpting - heading: Texturing - - title: Texture painting setup + - title: Texture Painting Setup path: /art/characters/creating/texturing-setup - - title: Texturing eyes + - title: Texturing Eyes path: /art/characters/creating/texturing-eyes - - title: Texturing face + - title: Texturing Face path: /art/characters/creating/texturing-face - - title: PBR textures (optional) + - title: PBR Textures (Optional) path: /art/characters/creating/texturing-pbr - heading: Caging - - title: Caging character head + - title: Caging Character Head path: /art/characters/creating/caging - heading: Cleanup - - title: Combine head geometry - path: /art/characters/creating/combine-head-geometry - - title: Remove extra bones - path: /art/characters/creating/remove-extra-bones - - title: Verify attachments - path: /art/characters/creating/verify-attachments - - title: Final checks + - title: Combining Head Geometry + path: /art/characters/creating/combining-head-geometry + - title: Removing Extra Bones + path: /art/characters/creating/removing-extra-bones + - title: Verifying Attachments + path: /art/characters/creating/verifying-attachments + - title: Final Checks path: /art/characters/creating/final-checks - - heading: Export - - title: Embed and export textures - path: /art/characters/creating/export-textures - - title: Export character model - path: /art/characters/creating/export-character + - heading: Exporting + - title: Embedding and Exporting Textures + path: /art/characters/creating/exporting-textures + - title: Exporting Character Model + path: /art/characters/creating/exporting-character diff --git a/content/common/navigation/avatar/tutorials-clothing.yaml b/content/common/navigation/avatar/tutorials-clothing.yaml index 8d47877d3..8e045dbbf 100644 --- a/content/common/navigation/avatar/tutorials-clothing.yaml +++ b/content/common/navigation/avatar/tutorials-clothing.yaml @@ -1,45 +1,45 @@ backTo: - title: Back to avatar tutorials + title: Back to Avatar Tutorials path: /avatar/tutorials/ navigation: - title: Overview path: /art/accessories/creating/ - - heading: Model - - title: Set up mesh + - heading: Modeling + - title: Setting Up Mesh path: /art/accessories/creating/modeling-setup - - title: Trim clothing shape + - title: Trimming Clothing Shape path: /art/accessories/creating/trimming - - title: Sculpt detail + - title: Sculpting Detail path: /art/accessories/creating/sculpting - - title: Make mesh watertight + - title: Making Mesh Watertight path: /art/accessories/creating/watertight - - heading: Texture - - title: Create seams and unwrap + - heading: Texturing + - title: Creating Seams and Unwrapping path: /art/accessories/creating/unwrapping - - title: Create a texture map + - title: Creating a Texture Map path: /art/accessories/creating/texture-map - - title: Texture painting + - title: Texture Painting path: /art/accessories/creating/texture-painting - - heading: Rig - - title: Armature setup + - heading: Rigging + - title: Armature Setup path: /art/accessories/creating/armature-setup - - title: Test poses - path: /art/accessories/creating/test-poses + - title: Testing Poses + path: /art/accessories/creating/testing-poses - heading: Caging - - title: Caging setup + - title: Caging Setup path: /art/accessories/creating/caging-setup - - title: Modify outer cage - path: /art/accessories/creating/modify-cage + - title: Modifying Outer Cage + path: /art/accessories/creating/modifying-cage - - heading: Export - - title: Export FBX + - heading: Exporting + - title: Exporting FBX path: /art/accessories/creating/exporting - - heading: Import and convert - - title: Use Studio's 3D importer + - heading: Importing and Converting + - title: Using Studio's 3D Importer path: /art/accessories/creating/importing - - title: Use the accessory fitting tool + - title: Using the Accessory Fitting Tool path: /art/accessories/creating/converting diff --git a/content/common/navigation/avatar/tutorials.yaml b/content/common/navigation/avatar/tutorials.yaml index 2c3b860cf..670cd0331 100644 --- a/content/common/navigation/avatar/tutorials.yaml +++ b/content/common/navigation/avatar/tutorials.yaml @@ -1,28 +1,28 @@ navigation: - - heading: Curriculum paths + - heading: Curriculum Paths - title: Overview path: /avatar/tutorials - - title: Rigid accessories + - title: Rigid Accessories path: /art/accessories/creating-rigid/ navigation: /avatar/tutorials-accessories.yaml - title: Clothing path: /art/accessories/creating navigation: /avatar/tutorials-clothing.yaml - - title: Bodies - from templates + - title: Bodies - From Templates path: /art/characters/creating navigation: /avatar/tutorials-bodies.yaml - - heading: Use cases - - title: Create accessories from an existing model + - heading: Use Cases + - title: Creating Accessories from an Existing Model path: /art/accessories/from-existing - - title: Rig and cage an existing model - path: /art/accessories/rig-and-cage-existing-models - - title: Create basic heads - path: /art/characters/facial-animation/create-basic-heads - - title: Create face accessories - path: /art/characters/facial-animation/create-face-accessories - - title: Publish eyebrows and eyelashes - path: /art/accessories/publish-eyebrows-eyelashes - - title: Test characters + - title: Rigging and Caging an Existing Model + path: /art/accessories/rigging-and-caging-existing-models + - title: Creating Basic Heads + path: /art/characters/facial-animation/creating-basic-heads + - title: Creating Face Accessories + path: /art/characters/facial-animation/creating-face-accessories + - title: Publishing Eyebrows and Eyelashes + path: /art/accessories/publishing-eyebrows-eyelashes + - title: Testing Characters path: /art/characters/testing/ section: - title: Overview diff --git a/content/common/navigation/cloud/guides.yaml b/content/common/navigation/cloud/guides.yaml index a13e0af04..92214c137 100644 --- a/content/common/navigation/cloud/guides.yaml +++ b/content/common/navigation/cloud/guides.yaml @@ -12,33 +12,33 @@ navigation: path: /cloud/open-cloud/oauth2-registration - title: Implementation path: /cloud/open-cloud/oauth2-develop - - title: Sample app + - title: Sample App path: /cloud/open-cloud/oauth2-sample - - title: API keys + - title: API Keys path: /cloud/open-cloud/api-keys - - heading: V2 resource guides - - title: User inventories + - heading: V2 Resource Guides + - title: User Inventories path: /cloud/open-cloud/inventory - - title: Engine instances + - title: Engine Instances path: /cloud/open-cloud/instance - - title: Experience notifications + - title: Experience Notifications path: /cloud/open-cloud/experience-notifications - - heading: V1 resource guides + - heading: V1 Resource Guides - title: Assets path: /cloud/open-cloud/usage-assets - - title: Data stores + - title: Data Stores path: /cloud/open-cloud/usage-data-stores section: - title: Overview path: /cloud/open-cloud/usage-data-stores - - title: Handle requests + - title: Handling Requests path: /cloud/open-cloud/data-store-api-handling - title: Messaging path: /cloud/open-cloud/usage-messaging - - title: Place publishing + - title: Place Publishing path: /cloud/open-cloud/usage-place-publishing - heading: Webhooks - - title: Webhook notifications + - title: Webhook Notifications path: /cloud/webhooks/webhook-notifications - - title: Right to erasure requests + - title: Right to Erasure Requests path: /cloud/webhooks/automate-right-to-erasure diff --git a/content/common/navigation/cloud/legacy.yaml b/content/common/navigation/cloud/legacy.yaml index 6471f3b2e..05a06ff8c 100644 --- a/content/common/navigation/cloud/legacy.yaml +++ b/content/common/navigation/cloud/legacy.yaml @@ -2,31 +2,31 @@ navigation: - heading: Legacy APIs - title: Overview path: /cloud/legacy - - title: Account information + - title: Account Information type: cloudapi ignoreTranslation: true versions: - name: v1 path: /cloud/legacy/accountinformation/v1 - - title: Account settings + - title: Account Settings type: cloudapi ignoreTranslation: true versions: - name: v1 path: /cloud/legacy/accountsettings/v1 - - title: Ad configuration + - title: Ad Configuration type: cloudapi ignoreTranslation: true versions: - name: v2 path: /cloud/legacy/adconfiguration/v2 - - title: Asset delivery v2 + - title: Asset Delivery v2 type: cloudapi ignoreTranslation: true versions: - name: v2 path: /cloud/legacy/assetdelivery/v2 - - title: Asset delivery v1 + - title: Asset Delivery v1 type: cloudapi ignoreTranslation: true versions: @@ -92,13 +92,13 @@ navigation: versions: - name: v2 path: /cloud/legacy/chat/v2 - - title: Client settings v2 + - title: Client Settings v2 type: cloudapi ignoreTranslation: true versions: - name: v2 path: /cloud/legacy/clientsettings/v2 - - title: Client settings v1 + - title: Client Settings v1 type: cloudapi ignoreTranslation: true versions: @@ -128,13 +128,13 @@ navigation: versions: - name: v1 path: /cloud/legacy/economy/v1 - - title: Economy creator stats + - title: Economy Creator Stats type: cloudapi ignoreTranslation: true versions: - name: v1 path: /cloud/legacy/economycreatorstats/v1 - - title: Engagement payouts + - title: Engagement Payouts type: cloudapi ignoreTranslation: true versions: @@ -158,19 +158,19 @@ navigation: versions: - name: v1 path: /cloud/legacy/friends/v1 - - title: Game internationalization v2 + - title: Game Internationalization v2 type: cloudapi ignoreTranslation: true versions: - name: v2 path: /cloud/legacy/gameinternationalization/v2 - - title: Game internationalization v1 + - title: Game Internationalization v1 type: cloudapi ignoreTranslation: true versions: - name: v1 path: /cloud/legacy/gameinternationalization/v1 - - title: Game join + - title: Game Join type: cloudapi ignoreTranslation: true versions: @@ -212,7 +212,7 @@ navigation: versions: - name: v1 path: /cloud/legacy/inventory/v1 - - title: Item configuration + - title: Item Configuration type: cloudapi ignoreTranslation: true versions: @@ -224,7 +224,7 @@ navigation: versions: - name: v1 path: /cloud/legacy/locale/v1 - - title: Localization tables + - title: Localization Tables type: cloudapi ignoreTranslation: true versions: @@ -242,7 +242,7 @@ navigation: versions: - name: v2 path: /cloud/legacy/notifications/v2 - - title: Premium features + - title: Premium Features type: cloudapi ignoreTranslation: true versions: @@ -254,7 +254,7 @@ navigation: versions: - name: v1 path: /cloud/legacy/presence/v1 - - title: Private messages + - title: Private Messages type: cloudapi ignoreTranslation: true versions: @@ -272,7 +272,7 @@ navigation: versions: - name: v1 path: /cloud/legacy/thumbnails/v1 - - title: Thumbnails resizer + - title: Thumbnails Resizer type: cloudapi ignoreTranslation: true versions: @@ -284,13 +284,13 @@ navigation: versions: - name: v1 path: /cloud/legacy/trades/v1 - - title: Translation roles + - title: Translation Roles type: cloudapi ignoreTranslation: true versions: - name: v1 path: /cloud/legacy/translationroles/v1 - - title: Two step verification + - title: Two Step Verification type: cloudapi ignoreTranslation: true versions: diff --git a/content/common/navigation/cloud/reference.yaml b/content/common/navigation/cloud/reference.yaml index 1ddde5a14..966d33cd6 100644 --- a/content/common/navigation/cloud/reference.yaml +++ b/content/common/navigation/cloud/reference.yaml @@ -1,5 +1,5 @@ navigation: - - heading: Common components + - heading: Common Components - title: Overview path: /cloud/reference/ - title: Patterns @@ -10,27 +10,27 @@ navigation: path: /cloud/reference/errors - title: OAuth 2.0 path: /cloud/reference/oauth2 - - title: OpenAPI descriptions + - title: OpenAPI Descriptions path: /cloud/reference/openapi - - heading: v2 resources + - heading: v2 Resources - title: All Cloud API path: /cloud/reference type: cloudapi2 source: /reference/cloud/cloud.docs.json - - heading: v1 resources + - heading: v1 Resources - title: Assets type: cloudapi versions: - name: v1 path: /reference/cloud/assets/v1 - - title: Data stores + - title: Data Stores section: - - title: Standard data stores + - title: Standard Data Stores type: cloudapi versions: - name: v1 path: /reference/cloud/datastores-api/v1 - - title: Ordered data stores + - title: Ordered Data Stores type: cloudapi versions: - name: v1 @@ -40,7 +40,7 @@ navigation: versions: - name: v1 path: /reference/cloud/messaging-service/v1 - - title: Place publishing + - title: Place Publishing type: cloudapi versions: - name: v1 diff --git a/content/common/navigation/education.yaml b/content/common/navigation/education.yaml index 5ae103edf..c2ba1b0a8 100644 --- a/content/common/navigation/education.yaml +++ b/content/common/navigation/education.yaml @@ -1,339 +1,339 @@ backTo: - title: Back to guides + title: Back to Guides path: /platform navigation: - - heading: Educator training - - title: Educator onboarding + - heading: Educator Training + - title: Educator Onboarding path: /education/educator-onboarding/landing section: - title: Intro to Roblox path: /education/educator-onboarding/1-intro-to-roblox - - title: Play on Roblox + - title: Playing on Roblox path: /education/educator-onboarding/2-playing-on-roblox - - title: Set up a Roblox classroom + - title: Setting Up a Roblox Classroom path: /education/educator-onboarding/3-setting-up-a-roblox-classroom - - title: Run classrooms + - title: Running Classrooms path: /education/educator-onboarding/4-running-classrooms - - title: Next steps + - title: Next Steps path: /education/educator-onboarding/5-next-steps - - title: Classroom facilitation + - title: Classroom Facilitation section: - - title: Intro to digital civility + - title: Intro to Digital Civility path: /education/resources/intro-to-digital-civility - - title: Intro to digital safety + - title: Intro to Digital Safety path: /education/resources/intro-to-digital-safety - - title: Teach remotely + - title: Teaching Remotely path: /education/resources/teaching-remotely - - title: Create private servers + - title: Creating Private Servers path: /education/support/private-servers-for-classroom-use - - title: Collaboration best practices + - title: Collaboration Best Practices path: /education/resources/collaboration-best-practices - - title: Classroom best practices + - title: Classroom Best Practices path: /education/resources/classroom-best-practices - title: Resources path: /education/resources/resources-landing section: - - title: List of Roblox educators + - title: List of Roblox Educators path: /education/resources/roblox-educators - - title: Marketing materials + - title: Marketing Materials path: /education/resources/marketing-materials - title: Roblox for AP CSP path: /education/resources/roblox-for-the-ap-csp-create-performance-task - - title: Create bundled installers + - title: Creating Bundled Installers path: /education/support/creating-bundled-installers - - title: Frequently asked questions + - title: Frequently Asked Questions path: /education/resources/frequently-asked-questions-education - - heading: Lesson plans - - title: Unit lessons + - heading: Lesson Plans + - title: Unit Lessons section: - - title: Intro to game design and coding + - title: Intro to Game Design and Coding path: /education/lesson-plans/intro-to-game-and-coding - - title: Roblox developer 101 + - title: Roblox Developer 101 path: /education/lesson-plans/roblox-developer/landing section: - - title: Roblox Studio basics + - title: Roblox Studio Basics path: /education/lesson-plans/roblox-developer/roblox-developer-1 - - title: Coding fundamentals + - title: Coding Fundamentals path: /education/lesson-plans/roblox-developer/roblox-developer-2 - - title: Adventure game Pt. 1 + - title: Adventure Game Pt. 1 path: /education/lesson-plans/roblox-developer/roblox-developer-3 - - title: Adventure game Pt. 2 + - title: Adventure Game Pt. 2 path: /education/lesson-plans/roblox-developer/roblox-developer-4 - - title: Adventure game Pt. 3 + - title: Adventure Game Pt. 3 path: /education/lesson-plans/roblox-developer/roblox-developer-5 - - title: Digital citizenship + - title: Digital Citizenship path: /education/lesson-plans/digital-citizenship/landing section: - title: Intro to Roblox path: /education/lesson-plans/digital-citizenship/intro-to-roblox - - title: Be a digital citizen + - title: Being a Digital Citizen path: /education/lesson-plans/digital-citizenship/being-a-digital-citizen - - title: Lights and polish + - title: Lights and Polish path: /education/lesson-plans/digital-citizenship/lights-and-polish - - title: Coding fundamentals + - title: Coding Fundamentals path: /education/lesson-plans/digital-citizenship/coding-fundamentals - - title: Animate characters + - title: Animating Characters path: /education/lesson-plans/digital-citizenship/animating-characters - - title: Finish projects + - title: Finishing Projects path: /education/lesson-plans/digital-citizenship/finishing-projects - - title: Activity lessons + - title: Activity Lessons section: - title: Galactic Speedway path: /education/lesson-plans/galactic-speedway-lesson - title: Animate in Roblox path: /education/lesson-plans/animate-in-roblox-lesson - - title: Story games + - title: Story Games path: /education/lesson-plans/story-games-lesson - - title: Create and destroy + - title: Create and Destroy path: /education/lesson-plans/create-and-destroy-lesson - - heading: Tutorial series - - title: Featured content + - heading: Tutorial Series + - title: Featured Content path: /education/support/education-content - - title: Coding fundamentals + - title: Coding Fundamentals path: /tutorials/fundamentals/coding-1/coding-fundamentals navigation: /engine/tutorials-fundamentals.yaml - - title: Build It, Play It series + - title: Build It, Play It Series path: /education/landing-pages/build-it-play-it section: - title: Mansion of Wonder path: /education/build-it-play-it-mansion-of-wonder/landing-page section: - - title: Beginner content + - title: Beginner Content path: /education/build-it-play-it-mansion-of-wonder/beginner-landing-page section: - - title: Become an artist + - title: Become an Artist path: /education/build-it-play-it-mansion-of-wonder/become-an-artist - - title: Test and play + - title: Test and Play path: /education/build-it-play-it-mansion-of-wonder/test-and-play - - title: Particle emitters + - title: Particle Emitters path: /education/build-it-play-it-mansion-of-wonder/particle-emitters - - title: Save by publishing + - title: Save by Publishing path: /education/build-it-play-it-mansion-of-wonder/save-by-publishing - - title: Challenge checkpoint 1 + - title: Challenge Checkpoint 1 path: /education/build-it-play-it-mansion-of-wonder/challenge-checkpoint - - title: Use textures + - title: Using Textures path: /education/build-it-play-it-mansion-of-wonder/using-textures - - title: Finish the blast + - title: Finish the Blast path: /education/build-it-play-it-mansion-of-wonder/using-textures - - title: Make an explosion + - title: Making an Explosion path: /education/build-it-play-it-mansion-of-wonder/making-an-explosion - - title: Challenge checkpoint 2 + - title: Challenge Checkpoint 2 path: /education/build-it-play-it-mansion-of-wonder/challenge-checkpoint-2 - - title: Make final touches + - title: Make Final Touches path: /education/build-it-play-it-mansion-of-wonder/make-final-touches - - title: Invite friends + - title: Invite Friends path: /education/build-it-play-it-mansion-of-wonder/invite-friends - - title: Challenge checkpoint 3 + - title: Challenge Checkpoint 3 path: /education/build-it-play-it-mansion-of-wonder/challenge-checkpoint-3 - - title: Next steps + - title: Next Steps path: /education/build-it-play-it-mansion-of-wonder/next-steps - - title: Create a sparkler + - title: Creating a Sparkler path: /education/build-it-play-it-mansion-of-wonder/creating-a-sparkler - - title: Experienced content + - title: Experienced Content path: /education/build-it-play-it-mansion-of-wonder/experienced-landing-page section: - - title: Create engaging experiences + - title: Creating Engaging Experiences path: /education/build-it-play-it-mansion-of-wonder/creating-engaging-experiences - - title: Connect the beam + - title: Connect the Beam path: /education/build-it-play-it-mansion-of-wonder/connect-the-beam - - title: Use particles for actions + - title: Using Particles for Actions path: /education/build-it-play-it-mansion-of-wonder/using-particles-for-actions - - title: Add scripts + - title: Adding Scripts path: /education/build-it-play-it-mansion-of-wonder/adding-scripts - - title: Next steps + - title: Next Steps path: /education/build-it-play-it-mansion-of-wonder/next-steps-advanced - title: Island of Move path: /education/build-it-play-it-island-of-move/landing section: - - title: Beginner content + - title: Beginner Content path: /education/build-it-play-it-island-of-move/beginner-landing-page section: - - title: Open the template + - title: Opening the Template path: /education/build-it-play-it-island-of-move/opening-the-template - - title: Test the game + - title: Test the Game path: /education/build-it-play-it-island-of-move/test-the-game - - title: Create animations + - title: Creating Animations path: /education/build-it-play-it-island-of-move/creating-animations - - title: Create the first pose + - title: Create the First Pose path: /education/build-it-play-it-island-of-move/create-the-first-pose - - title: Save and publish + - title: Save and Publish path: /education/build-it-play-it-island-of-move/save-and-publish - - title: Challenge checkpoint 1 + - title: Challenge Checkpoint 1 path: /education/build-it-play-it-island-of-move/challenge-checkpoint - - title: Loop animations + - title: Looping Animations path: /education/build-it-play-it-island-of-move/looping-animations - - title: Add the second pose + - title: Adding the Second Pose path: /education/build-it-play-it-island-of-move/adding-the-second-pose - - title: Challenge checkpoint 2 + - title: Challenge Checkpoint 2 path: /education/build-it-play-it-island-of-move/challenge-checkpoint-2 - - title: Export animations + - title: Exporting Animations path: /education/build-it-play-it-island-of-move/exporting-animations - - title: Change the animation + - title: Change the Animation path: /education/build-it-play-it-island-of-move/change-the-animation - - title: Invite friends to play + - title: Invite Friends to Play path: /education/build-it-play-it-island-of-move/invite-friends-to-play - - title: Challenge checkpoint 3 + - title: Challenge Checkpoint 3 path: /education/build-it-play-it-island-of-move/challenge-checkpoint-3 - - title: Go beyond the challenge + - title: Go Beyond the Challenge path: /education/build-it-play-it-island-of-move/go-beyond-the-challenge - - title: Experienced content + - title: Experienced Content path: /education/build-it-play-it-island-of-move/animations-and-feedback section: - - title: Animations and feedback + - title: Animations and Feedback path: /education/build-it-play-it-island-of-move/animations-and-feedback - - title: Design poses + - title: Designing Poses path: /education/build-it-play-it-island-of-move/designing-poses - - title: Add animations + - title: Adding Animations path: /education/build-it-play-it-island-of-move/adding-animations source: /education/build-it-play-it-island-of-move/adding-animations - - title: Animate parts + - title: Animating Parts path: /education/build-it-play-it-island-of-move/animating-parts source: /education/build-it-play-it-island-of-move/animating-parts - title: Galactic Speedway path: /education/build-it-play-it-galactic-speedway/main-page section: - - title: Get off the ground + - title: Get Off the Ground path: /education/build-it-play-it-galactic-speedway/get-off-the-ground - - title: Take flight + - title: Take Flight path: /education/build-it-play-it-galactic-speedway/take-flight - - title: Design your speeder + - title: Designing Your Speeder path: /education/build-it-play-it-galactic-speedway/designing-your-speeder - - title: Move the body + - title: Moving the Body path: /education/build-it-play-it-galactic-speedway/moving-the-body - - title: Save and publish + - title: Save and Publish path: /education/build-it-play-it-galactic-speedway/save-and-publish - - title: Challenge checkpoint 1 + - title: Challenge Checkpoint 1 path: /education/build-it-play-it-galactic-speedway/take-the-challenge - - title: Add wings + - title: Adding Wings path: /education/build-it-play-it-galactic-speedway/adding-wings - - title: Duplicate and design + - title: Duplicate and Design path: /education/build-it-play-it-galactic-speedway/duplicate-and-design - - title: Group the parts + - title: Grouping the Parts path: /education/build-it-play-it-galactic-speedway/grouping-the-parts - - title: Add to the gorage + - title: Add to the Garage path: /education/build-it-play-it-galactic-speedway/add-to-the-garage - - title: Test the speeder + - title: Test the Speeder path: /education/build-it-play-it-galactic-speedway/test-the-speeder - - title: Challenge checkpoint 2 + - title: Challenge Checkpoint 2 path: /education/build-it-play-it-galactic-speedway/take-the-challenge-2 - - title: Customize and share + - title: Customize and Share path: /education/build-it-play-it-galactic-speedway/customize-and-share - - title: Go for a race + - title: Going for a Race path: /education/build-it-play-it-galactic-speedway/going-for-a-race - - title: Challenge checkpoint 3 + - title: Challenge Checkpoint 3 path: /education/build-it-play-it-galactic-speedway/take-the-challenge-3 - - title: Go beyond the challenge + - title: Go Beyond the Challenge path: /education/build-it-play-it-galactic-speedway/go-beyond-the-challenge - - title: Share your speeders + - title: Sharing Your Speeders path: /education/build-it-play-it-galactic-speedway/sharing-your-speeders - - title: Add new models + - title: Add New Models path: /education/build-it-play-it-galactic-speedway/add-new-models - - title: Colors and textures + - title: Colors and Textures path: /education/build-it-play-it-galactic-speedway/colors-and-textures - - title: Design the world + - title: Design the World path: /education/build-it-play-it-galactic-speedway/design-the-world - - title: Create and destroy + - title: Create and Destroy path: /education/build-it-play-it-create-and-destroy/landing section: - - title: Design a map + - title: Designing a Map path: /education/build-it-play-it-create-and-destroy/designing-a-map - - title: Snap to grid + - title: Snap to Grid path: /education/build-it-play-it-create-and-destroy/snap-to-grid - - title: Save and publish + - title: Save and Publish path: /education/build-it-play-it-create-and-destroy/save-and-publish - - title: Challenge checkpoint 1 + - title: Challenge Checkpoint 1 path: /education/build-it-play-it-create-and-destroy/challenge-1 - - title: Build one half + - title: Build One Half path: /education/build-it-play-it-create-and-destroy/build-one-half - - title: Playtest the map + - title: Playtest the Map path: /education/build-it-play-it-create-and-destroy/playtest-the-map - - title: Build the roads + - title: Build the Roads path: /education/build-it-play-it-create-and-destroy/build-the-roads - - title: Buildings and props + - title: Buildings and Props path: /education/build-it-play-it-create-and-destroy/buildings-and-props - - title: Complete the city + - title: Complete the City path: /education/build-it-play-it-create-and-destroy/complete-the-city - - title: Island terrain + - title: Island Terrain path: /education/build-it-play-it-create-and-destroy/island-terrain - - title: Terrain tools + - title: Terrain Tools path: /education/build-it-play-it-create-and-destroy/terrain-tools - - title: Challenge checkpoint 2 + - title: Challenge Checkpoint 2 path: /education/build-it-play-it-create-and-destroy/challenge-2 - - title: Change the script + - title: Change the Script path: /education/build-it-play-it-create-and-destroy/change-the-script - - title: Icons and thumbnails + - title: Icons and Thumbnails path: /education/build-it-play-it-create-and-destroy/icons-and-thumbnails - - title: Challenge checkpoint 3 + - title: Challenge Checkpoint 3 path: /education/build-it-play-it-create-and-destroy/challenge-3 - - title: Finish the challenge + - title: Finish the Challenge path: /education/build-it-play-it-create-and-destroy/finish-the-challenge - - title: Story games + - title: Story Games path: /education/build-it-play-it-story-games/landing section: - - title: Write the story + - title: Writing the Story path: /education/build-it-play-it-story-games/writing-the-story - - title: Open the template + - title: Opening the Template path: /education/build-it-play-it-story-games/opening-the-template - title: Challenge Checkpoint 1 path: /education/build-it-play-it-story-games/first-challenge - - title: Start coding + - title: Start Coding path: /education/build-it-play-it-story-games/start-coding - - title: Code a question + - title: Coding a Question path: /education/build-it-play-it-story-games/coding-a-question - - title: Test and save + - title: Test and Save path: /education/build-it-play-it-story-games/test-and-save - - title: Challenge checkpoint 2 + - title: Challenge Checkpoint 2 path: /education/build-it-play-it-story-games/second-challenge - - title: Code the story + - title: Coding the Story path: /education/build-it-play-it-story-games/code-the-story - - title: Finish and add more + - title: Finishing and Add More path: /education/build-it-play-it-story-games/finish-and-add - - title: Challenge checkpoint 3 + - title: Challenge Checkpoint 3 path: /education/build-it-play-it-story-games/third-challenge - - title: Complete the challenge + - title: Completing the Challenge path: /education/build-it-play-it-story-games/complete-the-challenge - - title: Adventure game project + - title: Adventure Game Project path: /education/adventure-game-series/landing section: - - title: Create the map + - title: Creating the Map path: /education/adventure-game-series/create-the-map - - title: Code the leaderboard + - title: Coding the Leaderboard path: /education/adventure-game-series/code-the-leaderboard - - title: Collect items + - title: Collecting Items path: /education/adventure-game-series/collect-items - - title: Sell items + - title: Selling Items path: /education/adventure-game-series/selling-items - - title: Buy upgrades + - title: Buying Upgrades path: /education/adventure-game-series/buying-upgrades - - title: Finish the project + - title: Finishing the Project path: /education/adventure-game-series/finishing-the-project - - title: Battle Royale project + - title: Battle Royale Project path: /education/battle-royale-series/landing section: - - title: Project setup + - title: Project Setup path: /education/battle-royale-series/project-setup - - title: Code the game loop + - title: Coding the Game Loop path: /education/battle-royale-series/coding-the-game-loop - - title: Manage players + - title: Managing Players path: /education/battle-royale-series/managing-players - - title: Timers and events + - title: Timers and Events path: /education/battle-royale-series/timers-and-events - - title: Create a GUI + - title: Creating a GUI path: /education/battle-royale-series/creating-a-gui - - title: End matches + - title: Ending Matches path: /education/battle-royale-series/ending-matches - - title: Cleanup and reset + - title: Cleanup and Reset path: /education/battle-royale-series/cleanup-and-reset - - title: Finish the project + - title: Finishing the Project path: /education/battle-royale-series/finishing-the-project - - heading: Education developers - - title: Get started for developers + - heading: Education Developers + - title: Getting Started for Developers path: /education/resources/getting-started-for-developers-education - - title: Design educational experiences + - title: Designing Educational Experiences path: /education/developer/designing-educational-experiences - - title: Plan for educational settings + - title: Planning for Educational Settings path: /education/developer/planning-for-educational-settings - - title: Beta test experiences + - title: Beta Testing Experiences path: /education/developer/beta-testing-experiences diff --git a/content/common/navigation/engine/art.yaml b/content/common/navigation/engine/art.yaml index 7a9d113e6..4113c6124 100644 --- a/content/common/navigation/engine/art.yaml +++ b/content/common/navigation/engine/art.yaml @@ -1,75 +1,75 @@ navigation: - - title: 3D art overview + - title: 3D Art Overview path: /art/ - - heading: Get started + - heading: Getting Started - title: Studio path: /art/overview-studio - - title: Third-party software + - title: Third-Party Software path: /art/overview-dcc - heading: Modeling - title: Overview path: /art/modeling/ - - title: Modeling specifications + - title: Modeling Specifications path: /art/modeling/specifications - - title: Reference assets + - title: Reference Assets path: /art/modeling/project-files - - title: Rigging and skinning + - title: Rigging and Skinning path: /art/modeling/rigging - - title: Blender and Maya export settings + - title: Blender and Maya Export Settings path: /art/modeling/export-requirements - title: 3D Importer path: /art/modeling/3d-importer - - title: Roblox Blender plugin + - title: Roblox Blender Plugin path: /art/modeling/roblox-blender-plugin - heading: Texturing - - title: Texture specifications + - title: Texture Specifications path: /art/modeling/texture-specifications - - title: Physically-based rendering (PBR) + - title: Physically-based Rendering (PBR) path: /art/modeling/surface-appearance - - title: PBR material references + - title: PBR Material References path: /art/modeling/material-reference - heading: Animation section: - - title: Export animations from Maya - path: /art/characters/export-avatar-animations-from-maya - - title: Animate heads - path: /art/characters/facial-animation/animate-heads + - title: Exporting Animations from Maya + path: /art/characters/exporting-avatar-animations-from-maya + - title: Animating Heads + path: /art/characters/facial-animation/animating-heads - - heading: Example projects + - heading: Example Projects path: - title: The Mystery of Duvall Drive path: /resources/the-mystery-of-duvall-drive/ section: - title: Overview path: /resources/the-mystery-of-duvall-drive/ - - title: Construct the house - path: /resources/the-mystery-of-duvall-drive/construct-the-house - - title: Materialize the world - path: /resources/the-mystery-of-duvall-drive/materialize-the-world - - title: Immersive narrative + - title: Constructing the House + path: /resources/the-mystery-of-duvall-drive/constructing-the-house + - title: Materializing the World + path: /resources/the-mystery-of-duvall-drive/materializing-the-world + - title: Immersive Narrative path: /resources/the-mystery-of-duvall-drive/immersive-narrative - - title: Stream in immersion - path: /resources/the-mystery-of-duvall-drive/stream-in-immersion - - title: Develop a moving world - path: /resources/the-mystery-of-duvall-drive/develop-a-moving-world - - title: Design dark soundscapes - path: /resources/the-mystery-of-duvall-drive/design-dark-soundscapes - - title: Technical overview + - title: Streaming in Immersion + path: /resources/the-mystery-of-duvall-drive/streaming-in-immersion + - title: Developing a Moving World + path: /resources/the-mystery-of-duvall-drive/developing-a-moving-world + - title: Designing Dark Soundscapes + path: /resources/the-mystery-of-duvall-drive/designing-dark-soundscapes + - title: Technical Overview path: /resources/the-mystery-of-duvall-drive/technical-overview section: - title: Overview path: /resources/the-mystery-of-duvall-drive/technical-overview - - title: Main design requirements + - title: Main Design Requirements path: /resources/the-mystery-of-duvall-drive/main-design-requirements - - title: Foundational gameplay systems + - title: Foundational Gameplay Systems path: /resources/the-mystery-of-duvall-drive/foundational-gameplay-systems - - title: Supporting systems + - title: Supporting Systems path: /resources/the-mystery-of-duvall-drive/supporting-systems - - title: Beyond the Dark + - title: Beyond The Dark path: /resources/beyond-the-dark/ section: - title: Overview @@ -78,9 +78,9 @@ navigation: path: /resources/beyond-the-dark/building-architecture - title: Characters path: /resources/beyond-the-dark/custom-characters - - title: Layered clothing + - title: Layered Clothing path: /resources/beyond-the-dark/layered-clothing - - title: Sound design + - title: Sound Design path: /resources/beyond-the-dark/sound-design - - title: User interface + - title: User Interface path: /resources/beyond-the-dark/user-interface diff --git a/content/common/navigation/engine/design.yaml b/content/common/navigation/engine/design.yaml index 63f0ee6b9..ed27ce9e1 100644 --- a/content/common/navigation/engine/design.yaml +++ b/content/common/navigation/engine/design.yaml @@ -2,41 +2,41 @@ navigation: - heading: Design - title: Overview path: /production/game-design/ - - heading: Design your experience - - title: Design for Roblox - path: /production/game-design/design-for-roblox - - title: Core loops + - heading: Design Your Experience + - title: Designing For Roblox + path: /production/game-design/designing-for-roblox + - title: Core Loops path: /production/game-design/core-loops - title: Prototyping path: /production/game-design/prototyping - - heading: Build your experience + - heading: Build Your Experience - title: Onboarding path: /production/game-design/onboarding - - title: Onboarding techniques + - title: Onboarding Techniques path: /production/game-design/onboarding-techniques - - title: Quest design + - title: Quest Design path: /production/game-design/introduction-to-quest-design - title: UI and UX path: /production/game-design/ui-ux-design - - heading: Monetize your experience - - title: Monetization foundations + - heading: Monetize Your Experience + - title: Monetization Foundations path: /production/game-design/monetization-foundations - - title: Season pass design + - title: Season Pass Design path: /production/game-design/season-pass-design - - title: Starter pack design + - title: Starter Pack Design path: /production/game-design/starter-pack-design - - title: Subscription design + - title: Subscription Design path: /production/game-design/subscription-design - - title: Contextual purchases + - title: Contextual Purchases path: /production/game-design/contextual-purchases - - title: Balancing virtual economies - path: /production/game-design/balance-virtual-economies - - heading: Support your experience - - title: LiveOps essentials + - title: Balancing Virtual Economies + path: /production/game-design/balancing-virtual-economies + - heading: Support Your Experience + - title: LiveOps Essentials path: /production/game-design/liveops-essentials - - title: LiveOps planning + - title: LiveOps Planning path: /production/game-design/liveops-planning - - title: Analytics essentials + - title: Analytics Essentials path: /production/game-design/analytics-essentials - - title: Content updates + - title: Content Updates path: /production/game-design/content-updates diff --git a/content/common/navigation/engine/guides.yaml b/content/common/navigation/engine/guides.yaml index d8a1b0b70..1aec1e0bd 100644 --- a/content/common/navigation/engine/guides.yaml +++ b/content/common/navigation/engine/guides.yaml @@ -1,18 +1,18 @@ defaultType: markdown navigation: - heading: Learn the basics - - title: Get started + - title: Get Started path: /get-started - - title: Platform overview + - title: Platform Overview path: /platform - - title: Creation overview + - title: Creation Overview path: /creation - title: Assistant path: /assistant/guide section: - title: Overview path: /assistant/guide - - title: Prompt guide and examples + - title: Prompt Guide and Examples path: /assistant/prompt-engineering - heading: Create - title: Roblox Studio @@ -26,51 +26,51 @@ navigation: - title: Architecture path: /projects/data-model section: - - title: Data model + - title: Data Model path: /projects/data-model - - title: Client-server runtime + - title: Client-Server Runtime path: /projects/client-server - - title: Instance streaming + - title: Instance Streaming path: /workspace/streaming - - title: Work in teams + - title: Working in Teams path: /projects/groups section: - title: Groups path: /projects/groups - title: Collaboration path: /projects/collaboration - - title: Experience ownership transfer + - title: Experience Ownership Transfer path: /projects/experience-ownership-transfer section: - - title: Transfer animations - path: /projects/transfer-animations - - title: Activity history + - title: Transferring Roblox Animations + path: /projects/transferring-animations + - title: Activity History path: /projects/activity-history - - title: External tools + - title: External Tools path: /projects/external-tools - - title: Place files + - title: Place Files path: /projects/place-files - title: Assets path: /projects/assets/ section: - title: Overview path: /projects/assets/ - - title: Manage + - title: Managing path: /projects/assets/manager section: - - title: Asset manager + - title: Asset Manager path: /projects/assets/manager - title: Toolbox path: /projects/assets/toolbox - - title: External catalog queries + - title: External Catalog Queries path: /projects/assets/api - title: Packages path: /projects/assets/packages - - title: Asset privacy + - title: Asset Privacy path: /projects/assets/privacy - - title: In-experience asset creation + - title: In-Experience Asset Creation path: /projects/assets/in-experience-asset-creation - - title: 3D workspace + - title: 3D Workspace path: /workspace/ section: - title: Overview @@ -80,9 +80,9 @@ navigation: section: - title: Overview path: /parts/ - - title: Solid modeling + - title: Solid Modeling path: /parts/solid-modeling - - title: Textures and decals + - title: Textures and Decals path: /parts/textures-decals - title: Meshes path: /parts/meshes @@ -99,16 +99,16 @@ navigation: path: /physics/ - title: Assemblies path: /physics/assemblies - - title: Network ownership + - title: Network Ownership path: /physics/network-ownership #- title: Joints # path: /physics/joints - - title: Mechanical constraints + - title: Mechanical Constraints path: /physics/mechanical-constraints section: - title: Overview path: /physics/mechanical-constraints - - title: BallSocket + - title: Ball Socket path: /physics/constraints/ball-socket - title: Hinge path: /physics/constraints/hinge @@ -118,7 +118,7 @@ navigation: path: /physics/constraints/cylindrical - title: Spring path: /physics/constraints/spring - - title: TorsionSpring + - title: Torsion Spring path: /physics/constraints/torsion-spring - title: Universal path: /physics/constraints/universal @@ -132,43 +132,43 @@ navigation: path: /physics/constraints/weld - title: Rigid path: /physics/constraints/rigid - - title: NoCollision + - title: No Collision path: /physics/constraints/no-collision - - title: Mover constraints + - title: Mover Constraints path: /physics/mover-constraints section: - title: Overview path: /physics/mover-constraints - - title: LinearVelocity + - title: Linear Velocity path: /physics/constraints/linear-velocity - - title: AngularVelocity + - title: Angular Velocity path: /physics/constraints/angular-velocity - - title: AlignPosition + - title: Align Position path: /physics/constraints/align-position - - title: AlignOrientation + - title: Align Orientation path: /physics/constraints/align-orientation - - title: VectorForce + - title: Vector Force path: /physics/constraints/vector-force - title: Torque path: /physics/constraints/torque - - title: LineForce + - title: Line Force path: /physics/constraints/line-force - - title: Sleep system + - title: Sleep System path: /physics/sleep-system - - title: Adaptive timestepping + - title: Adaptive Timestepping path: /physics/adaptive-timestepping - - title: Character controllers + - title: Character Controllers path: /physics/character-controllers - - title: Roblox units + - title: Roblox Units path: /physics/units - title: Effects path: /effects/ section: - title: Overview path: /effects/ - - title: Light sources + - title: Light Sources path: /effects/light-sources - - title: Particle emitters + - title: Particle Emitters path: /effects/particle-emitters - title: Beams path: /effects/beams @@ -178,7 +178,7 @@ navigation: path: /effects/highlighting - title: Camera path: /workspace/camera - - title: Spatial data + - title: Spatial Data section: #- title: Object World Space # path: /workspace/object-world-space @@ -195,13 +195,13 @@ navigation: section: - title: Overview path: /scripting/ - - title: Types and locations + - title: Types and Locations path: /scripting/locations - - title: Reuse code + - title: Reusing Code path: /scripting/module - title: Services path: /scripting/services - - title: Properties and attributes + - title: Properties and Attributes path: /scripting/attributes - title: Events path: /scripting/events/ @@ -218,15 +218,15 @@ navigation: section: - title: Scheduler path: /scripting/scheduler - - title: Multi-threading + - title: Multi-Threading path: /scripting/multithreading - - title: Native code generation + - title: Native Code Generation path: /luau/native-code-gen - - title: Script capabilities + - title: Script Capabilities path: /scripting/capabilities - - title: Security tactics and cheat mitigation + - title: Security Tactics and Cheat Mitigation path: /scripting/security/security-tactics - - title: Luau reference + - title: Luau Reference path: /luau/ section: - title: Overview @@ -249,7 +249,7 @@ navigation: path: /luau/tuples - title: Userdata path: /luau/userdata - - title: Data structures + - title: Data Structures section: - title: Queues path: /luau/queues @@ -267,28 +267,28 @@ navigation: path: /luau/scope - title: Operators path: /luau/operators - - title: Control structures + - title: Control Structures path: /luau/control-structures - title: Functions path: /luau/functions - - title: Type coercion + - title: Type Coercion path: /luau/type-coercion - - title: Type checking + - title: Type Checking path: /luau/type-checking - title: Environment path: /environment/ section: - title: Overview path: /environment/ - - title: Global lighting + - title: Global Lighting path: /environment/lighting - title: Atmosphere path: /environment/atmosphere - title: Clouds path: /environment/clouds - - title: Global wind + - title: Global Wind path: /environment/global-wind - - title: Post-processing effects + - title: Post-Processing Effects path: /environment/post-processing-effects - title: Skyboxes path: /environment/skybox @@ -303,9 +303,9 @@ navigation: path: /characters/emotes - title: Pathfinding path: /characters/pathfinding - - title: Name and health display + - title: Name and Health Display path: /characters/name-health-display - - title: R6 to R15 adapter + - title: R6 to R15 Adapter path: /characters/r6-to-r15-adapter - title: Players path: /players/ @@ -313,31 +313,31 @@ navigation: - title: Overview path: /players/ - title: Teleporting - path: /projects/teleport + path: /projects/teleporting - title: Teams path: /players/teams - - title: In-experience tools + - title: In-Experience Tools path: /players/tools - title: Leaderboards path: /players/leaderboards - - title: Loading screens - path: /players/load-screens + - title: Loading Screens + path: /players/loading-screens - title: Player UI section: - - title: Avatar editor + - title: Avatar Editor path: /players/avatar-editor - - title: Avatar inspect menu + - title: Avatar Inspect Menu path: /players/avatar-inspect-menu - - title: Avatar context menu + - title: Avatar Context Menu path: /players/avatar-context-menu - - title: Disable default UI - path: /players/disable-ui + - title: Disabling Default UI + path: /players/disabling-ui - title: Input path: /input/ section: - title: Overview path: /input/ - - title: Mouse and keyboard + - title: Mouse and Keyboard path: /input/mouse-and-keyboard - title: Mobile path: /input/mobile @@ -348,100 +348,100 @@ navigation: section: - title: Overview path: /sound/ - - title: Audio assets + - title: Audio Assets path: /sound/assets - - title: Sound objects + - title: Objects path: /sound/objects - - title: Sound groups + - title: Groups path: /sound/groups - - title: Dynamic effects + - title: Dynamic Effects path: /sound/dynamic-effects - - title: User interface + - title: User Interface path: /ui/ section: - title: Overview path: /ui/ - - title: On-screen UI + - title: On-Screen UI path: /ui/on-screen-containers - - title: In-experience UI + - title: In-Experience UI path: /ui/in-experience-containers - - title: UI objects + - title: UI Objects section: - title: Labels path: /ui/labels - title: Frames path: /ui/frames - - title: Video frames + - title: Video Frames path: /ui/video-frames - - title: 2D paths + - title: 2D Paths path: /ui/2D-paths - title: Interactive section: - title: Buttons path: /ui/buttons - - title: Text input fields + - title: Text Input Fields path: /ui/text-input - - title: Proximity prompts + - title: Proximity Prompts path: /ui/proximity-prompts - - title: UI drag detectors + - title: UI Drag Detectors path: /ui/ui-drag-detectors - - title: 3D drag detectors + - title: 3D Drag Detectors path: /ui/3D-drag-detectors - - title: Position and size - path: /ui/position-and-size - - title: Layout structures + - title: Positioning and Sizing + path: /ui/positioning-and-sizing + - title: Layout Structures section: - - title: List and flex layouts + - title: List and Flex Layouts path: /ui/list-flex-layouts - - title: Grids and tables + - title: Grids and Tables path: /ui/grid-table-layouts - - title: Page layouts + - title: Page Layouts path: /ui/page-layouts - - title: Appearance modifiers + - title: Appearance Modifiers path: /ui/appearance-modifiers - - title: Size modifiers and constraints + - title: Size Modifiers and Constraints path: /ui/size-modifiers - - title: UI animation/tweens + - title: UI Animation/Tweens path: /ui/animation - - title: 9-slice design + - title: 9-Slice Design path: /ui/9-slice - - title: Rich text markup + - title: Rich Text Markup path: /ui/rich-text - - title: Text filtering + - title: Text Filtering path: /ui/text-filtering - title: Animation path: /animation/ section: - title: Overview path: /animation/ - - title: Create animations + - title: Creating Animations section: - - title: Animation editor + - title: Animation Editor path: /animation/editor - - title: Animation events + - title: Animation Events path: /animation/events - - title: Animation capture + - title: Animation Capture path: /animation/capture - - title: Curve editor + - title: Curve Editor path: /animation/curve-editor - - title: Inverse kinematics + - title: Inverse Kinematics path: /animation/inverse-kinematics - - title: Use animations + - title: Using Animations path: /animation/using - title: Chat section: - - title: Voice chat + - title: Voice Chat path: /chat/voice-chat - - title: Text chat + - title: Text Chat path: /chat/in-experience-text-chat section: - title: Overview path: /chat/in-experience-text-chat - title: Guidelines path: /chat/guidelines - - title: Chat window + - title: Chat Window path: /chat/chat-window - - title: Bubble chat + - title: Bubble Chat path: /chat/bubble-chat - title: Examples path: /chat/examples/simple-custom-frontend-ui @@ -450,90 +450,90 @@ navigation: path: /chat/examples/simple-custom-frontend-ui #- title: Custom System Messages # path: /chat/examples/custom-system-messages - - title: Chat tags + - title: Chat Tags path: /chat/examples/group-chat-tags - - title: Proximity chat + - title: Proximity Chat path: /chat/examples/proximity-chat - - title: Custom chat commands + - title: Custom Chat Commands path: /chat/examples/custom-text-chat-commands - - title: Legacy chat system + - title: Legacy Chat System path: /chat/legacy/legacy-chat-system - - title: Performance optimization + - title: Performance Optimization path: /performance-optimization/ section: - title: Overview path: /performance-optimization/ - - title: Design for performance - path: /performance-optimization/design - - title: Identify issues - path: /performance-optimization/identify - - title: Improve performance - path: /performance-optimization/improve - - title: Monitor performance - path: /performance-optimization/monitor - - title: Cloud services + - title: Designing for Performance + path: /performance-optimization/designing + - title: Identifying Issues + path: /performance-optimization/identifying + - title: Improving Performance + path: /performance-optimization/improving + - title: Monitoring Performance + path: /performance-optimization/monitoring + - title: Cloud Services path: /cloud-services/data-stores-vs-memory-stores section: - - title: Data stores vs memory stores + - title: Data Stores vs Memory Stores path: /cloud-services/data-stores-vs-memory-stores - - title: Data stores + - title: Data Stores path: /cloud-services/data-stores/ section: - title: Overview path: /cloud-services/data-stores/ - - title: Manage data stores - path: /cloud-services/data-stores/manage-data-stores - - title: Best practices + - title: Managing Data Stores + path: /cloud-services/data-stores/managing-data-stores + - title: Best Practices path: /cloud-services/data-stores/best-practices - - title: Error codes and limits + - title: Error Codes and Limits path: /cloud-services/data-stores/error-codes-and-limits - title: Observability path: /cloud-services/data-stores/observability - - title: Implement player data and purchase systems + - title: Implementing Player Data and Purchasing Systems path: /cloud-services/data-stores/player-data-purchasing - - title: Memory stores + - title: Memory Stores path: /cloud-services/memory-stores/ section: - title: Overview path: /cloud-services/memory-stores/ - - title: Sorted map + - title: Sorted Map path: /cloud-services/memory-stores/sorted-map - title: Queue path: /cloud-services/memory-stores/queue - - title: Hash map + - title: Hash Map path: /cloud-services/memory-stores/hash-map - title: Observability path: /cloud-services/memory-stores/observability - - title: Per-partition limits + - title: Per-Partition Limits path: /cloud-services/memory-stores/per-partition-limits - - title: Best practices + - title: Best Practices path: /cloud-services/memory-stores/best-practices - - title: Cross-server communication + - title: Cross-Server Messaging path: /cloud-services/cross-server-messaging - - title: Roblox for Unity developers + - title: Roblox for Unity Developers path: /unity - - title: Roblox for Unreal developers + - title: Roblox for Unreal Developers path: /unreal - heading: Distribute - title: Overview path: /production/ - - title: Roblox user base + - title: Roblox User Base path: /production/roblox-user-base - title: Discovery path: /discovery - - title: Publish + - title: Publishing section: - title: Experiences - path: /production/publishing/publish-experiences-and-places + path: /production/publishing/publishing-experiences-and-places section: - title: Overview - path: /production/publishing/publish-experiences-and-places - - title: Genres + path: /production/publishing/publishing-experiences-and-places + - title: Experience Genres path: /production/publishing/experience-genres - - title: Icons + - title: Experience Icons path: /production/publishing/experience-icons - - title: Thumbnails + - title: Experience Thumbnails path: /production/publishing/thumbnails - title: Badges path: /production/publishing/badges @@ -548,28 +548,28 @@ navigation: section: - title: Creator Store path: /production/creator-store - - title: Sell on the Creator Store - path: /production/sell-on-creator-store + - title: Selling on the Creator Store + path: /production/selling-on-creator-store - title: Guidelines path: /production/promotion/content-maturity section: - - title: Content maturity + - title: Content Maturity path: /production/promotion/content-maturity - title: About GDPR and CCPA path: /production/publishing/about-GDPR-and-CCPA - - title: DMCA guidelines + - title: DMCA Guidelines path: /production/publishing/dmca-guidelines - - title: Accessibility guidelines + - title: Accessibility Guidelines path: /production/publishing/accessibility - - title: Console guidelines + - title: Console Guidelines path: /production/publishing/console-guidelines - - title: VR guidelines + - title: VR Guidelines path: /production/publishing/vr-guidelines - - title: Account verification + - title: Account Verification path: /production/publishing/account-verification - title: Rights Manager path: /production/publishing/rights-manager - - title: AI data sharing + - title: AI Data Sharing path: /ai-data-sharing - title: Promotion path: /production/promotion/ @@ -577,103 +577,103 @@ navigation: - title: Overview path: /production/promotion/ - title: Advertising - path: /production/promotion/advertise-on-roblox + path: /production/promotion/advertising-on-roblox section: - title: Overview - path: /production/promotion/advertise-on-roblox + path: /production/promotion/advertising-on-roblox - title: Ads Manager path: /production/promotion/ads-manager - - title: Search ads + - title: Search Ads path: /production/promotion/search-ads - - title: Sponsor items - path: /production/promotion/sponsor-items - - title: Comply with advertising standards - path: /production/promotion/comply-with-advertising-standards - - title: Events and updates + - title: Sponsoring Items + path: /production/promotion/sponsoring-items + - title: Complying with Advertising Standards + path: /production/promotion/complying-with-advertising-standards + - title: Events and Updates path: /production/promotion/experience-events - - title: Experience notifications + - title: Experience Notifications path: /production/promotion/experience-notifications - - title: Social media links + - title: Social Media Links path: /production/promotion/social-media-links - - title: Player invite prompts + - title: Player Invite Prompts path: /production/promotion/invite-prompts - - title: Friend invite reward system + - title: Friend Invite Reward System path: /production/promotion/referral-system - - title: Nominate for the Discover page - path: /production/promotion/nominate-for-the-discover-page - - title: Get featured on Roblox‑owned channels - path: /production/promotion/get-featured-on-roblox-owned-channels - - title: Deep links - path: /production/promotion/deeplinks + - title: Nominating for the Discover Page + path: /production/promotion/nominating-for-the-discover-page + - title: Getting Featured on Roblox‑Owned Channels + path: /production/promotion/getting-featured-on-roblox-owned-channels + - title: Deep Linking + path: /production/promotion/deeplinking - title: Monetization path: /production/monetization/ section: - title: Overview path: /production/monetization/ - title: Earning on Roblox - path: /production/earn-on-roblox + path: /production/earning-on-roblox - title: Products section: - - title: Immersive ads + - title: Immersive Ads path: /production/monetization/immersive-ads - title: Subscriptions path: /production/monetization/subscriptions - title: Passes path: /production/monetization/game-passes - - title: Developer products + - title: Developer Products path: /production/monetization/developer-products - - title: Price optimization + - title: Price Optimization path: /production/monetization/price-optimization - - title: Avatar items + - title: Avatar Items path: /production/monetization/avatar-items - - title: Avatar creation tokens + - title: Avatar Creation Tokens path: /production/monetization/avatar-creation-token - - title: Engagement-based payouts + - title: Engagement-Based Payouts path: /production/monetization/engagement-based-payouts - - title: Paid access in Robux + - title: Paid Access in Robux path: /production/monetization/paid-access-robux - - title: Paid access in local currency + - title: Paid Access in Local Currency path: /production/monetization/paid-access-local-currency - - title: Private servers + - title: Private Servers path: /production/monetization/private-servers - title: Resources section: - - title: Build your business + - title: Building Your Business path: /production/monetization/business-resources - - title: Randomized virtual items policy + - title: Randomized Virtual Items Policy path: /production/monetization/randomized-virtual-items-policy - title: Localization path: /production/localization/ section: - title: Overview path: /production/localization/ - - title: Automatic translations + - title: Automatic Translations path: /production/localization/automatic-translations - - title: Custom translations + - title: Custom Translations path: /production/localization/custom-translations section: - title: Overview path: /production/localization/custom-translations - - title: Manually edit localization table + - title: Manually Editing Localization Table path: /production/localization/manual-translations - - title: Translate dynamic content - path: /production/localization/translate-dynamic-content - - title: Localize with scripting - path: /production/localization/localize-with-scripting - - title: Work with translators - path: /production/localization/work-with-translators - - title: Language codes + - title: Translating Dynamic Content + path: /production/localization/translating-dynamic-content + - title: Localizing with Scripting + path: /production/localization/localizing-with-scripting + - title: Working With Translators + path: /production/localization/working-with-translators + - title: Language Codes path: /production/localization/language-codes - title: Analytics path: /production/analytics/ section: - title: Overview path: /production/analytics/ - - title: Monitor + - title: Monitoring section: - title: Performance path: /production/analytics/performance - - title: Error report + - title: Error Report path: /production/analytics/error-report - title: Dashboards path: /production/analytics/analytics-dashboard @@ -690,20 +690,20 @@ navigation: path: /production/analytics/audience - title: Monetization path: /production/analytics/monetization - - title: Event types + - title: Event Types path: /production/analytics/event-types section: - title: Overview path: /production/analytics/event-types - - title: Economy events + - title: Economy Events path: /production/analytics/economy-events - - title: Funnel events + - title: Funnel Events path: /production/analytics/funnel-events - - title: Custom events + - title: Custom Events path: /production/analytics/custom-events - - title: Custom fields + - title: Custom Fields path: /production/analytics/custom-fields - - heading: For educators - - title: Go to educator onboarding + - heading: For Educators + - title: Go to Educator Onboarding path: /education/educator-onboarding/landing navigation: /education.yaml diff --git a/content/common/navigation/engine/resources.yaml b/content/common/navigation/engine/resources.yaml index 39ff4c65c..f7c6c1cd4 100644 --- a/content/common/navigation/engine/resources.yaml +++ b/content/common/navigation/engine/resources.yaml @@ -1,15 +1,15 @@ navigation: - - heading: Code samples + - heading: Code Samples - title: Overview path: /samples/ - - heading: Feature packages + - heading: Feature Packages - title: Overview path: /resources/feature-packages/ - title: Bundles path: /resources/feature-packages/bundles - title: Missions path: /resources/feature-packages/missions - - heading: Developer modules + - heading: Developer Modules - title: Overview path: /resources/modules/ - title: Selfie Mode @@ -34,73 +34,73 @@ navigation: path: /resources/modules/social-interactions - title: Event Sequencer path: /resources/modules/event-sequencer - - heading: Scripting libraries + - heading: Scripting Libraries - title: Overview path: /resources/scripting-libraries - - heading: Projects and kits + - heading: Projects and Kits - title: Templates path: /resources/templates - - title: Roblox Connect project + - title: Roblox Connect Project path: /resources/roblox-connect - - title: Plant reference project + - title: Plant Reference Project path: /resources/plant-reference-project - title: Battle Royale path: /resources/battle-royale/ section: - title: Overview path: /resources/battle-royale/ - - title: Installation and setup + - title: Installation and Setup path: /resources/battle-royale/installation-and-setup - - title: Run the game - path: /resources/battle-royale/run-the-game - - title: Core scripts + - title: Running the Game + path: /resources/battle-royale/running-the-game + - title: Core Scripts path: /resources/battle-royale/core-scripts - - title: Pickup system + - title: Pickup System path: /resources/battle-royale/pickup-system - - title: Building system + - title: Building System path: /resources/battle-royale/building-system - - title: Minimap system + - title: Minimap System path: /resources/battle-royale/minimap-system - - title: The storm + - title: The Storm path: /resources/battle-royale/the-storm - - title: Weapons kit + - title: Weapons Kit path: /resources/weapons-kit - - title: NPC kit + - title: NPC Kit path: /resources/npc-kit - - heading: Creator programs + - heading: Creator Programs - title: Overview path: /creator-programs/ - - title: All programs + - title: All Programs section: - - title: Brand Developer Directory - path: /creator-programs/brand-developer-directory - - title: Community Feedback - path: /creator-programs/feedback - - title: Creator Affiliate Pilot - path: /creator-programs/creator-affiliate - - title: Creator Events - path: /creator-programs/creator-events - - title: Creator Fund - path: /creator-fund - - title: Creator Spotlights - path: /creator-programs/spotlights - - title: Developer Awards - path: /creator-programs/developer-awards - - title: Inspire - path: /creator-programs/inspire - - title: Learn & Explore Sort - path: /creator-programs/learn-explore-sort - - title: Managed Brand Integrations - path: /creator-programs/managed-brand-integrations - - title: Notable Translators - path: /creator-programs/notable-translators - - title: Roblox Developers Conference (RDC) - path: /creator-programs/rdc - - title: Roblox Innovation Awards - path: /creator-programs/innovation-awards - - title: Roblox Research Panel - path: /creator-programs/research-panel - - title: Today's Picks on Home - path: /creator-programs/todays-picks-home - - title: Today's Picks on Marketplace - path: /creator-programs/todays-picks-marketplace + - title: Brand Developer Directory + path: /creator-programs/brand-developer-directory + - title: Community Feedback Program + path: /creator-programs/feedback + - title: Creator Affiliate Pilot Program + path: /creator-programs/creator-affiliate + - title: Creator Events + path: /creator-programs/creator-events + - title: Creator Fund + path: /creator-fund + - title: Creator Spotlights + path: /creator-programs/spotlights + - title: Developer Awards + path: /creator-programs/developer-awards + - title: Inspire + path: /creator-programs/inspire + - title: Learn & Explore Sort + path: /creator-programs/learn-explore-sort + - title: Managed Brand Integrations + path: /creator-programs/managed-brand-integrations + - title: Notable Translators Program + path: /creator-programs/notable-translators + - title: Roblox Developers Conference (RDC) + path: /creator-programs/rdc + - title: Roblox Innovation Awards + path: /creator-programs/innovation-awards + - title: Roblox Research Panel + path: /creator-programs/research-panel + - title: Today's Picks on Home + path: /creator-programs/todays-picks-home + - title: Today's Picks on Marketplace + path: /creator-programs/todays-picks-marketplace diff --git a/content/common/navigation/engine/studio.yaml b/content/common/navigation/engine/studio.yaml index 21089bf01..d454772e5 100644 --- a/content/common/navigation/engine/studio.yaml +++ b/content/common/navigation/engine/studio.yaml @@ -1,19 +1,19 @@ defaultType: markdown backTo: - title: Back to guides + title: Back to Guides path: /platform navigation: - heading: Roblox Studio - - title: Overview + - title: Overview # merge working in studio content into here path: /studio/ - - title: Setup + - title: Studio Setup path: /studio/setup - - title: Interface + - title: Studio Interface path: /studio/ui-overview - - heading: Building tools + - heading: Building Tools - title: Align Tool path: /studio/align-tool - - title: Pivot tools + - title: Pivot Tools path: /studio/pivot-tools - title: Terrain Editor path: /studio/terrain-editor @@ -23,15 +23,15 @@ navigation: path: /studio/texture-generator - title: Rig Builder path: /studio/rig-builder - - heading: Scripting tools + - heading: Scripting Tools - title: Script Editor path: /studio/script-editor - title: Debugging path: /studio/debugging - - heading: Testing tools - - title: Studio testing modes + - heading: Testing Tools + - title: Studio Testing Modes path: /studio/testing-modes - - title: Output + - title: Output Window path: /studio/output - title: MicroProfiler path: /studio/microprofiler/ @@ -40,12 +40,12 @@ navigation: path: /studio/microprofiler/ - title: Modes path: /studio/microprofiler/modes - - title: Task scheduler + - title: Task Scheduler path: /studio/microprofiler/task-scheduler - - title: Tag reference + - title: Tag Reference path: /studio/microprofiler/tag-table - title: Walkthrough - path: /studio/microprofiler/use-microprofiler + path: /studio/microprofiler/using-microprofiler - title: Developer Console path: /studio/developer-console section: @@ -53,35 +53,35 @@ navigation: path: /studio/developer-console - title: Script Profiler path: /studio/optimization/scriptprofiler - - title: Memory usage + - title: Memory Usage path: /studio/optimization/memory-usage - - heading: UI reference - - title: Quick access tools + - heading: UI Reference + - title: Quick Access Tools path: /studio/quick-access - - title: Home tab + - title: Home Tab path: /studio/home-tab - - title: Model tab + - title: Model Tab path: /studio/model-tab - - title: Avatar tab + - title: Avatar Tab path: /studio/avatar-tab - - title: Test tab + - title: Test Tab path: /studio/test-tab - - title: View tab + - title: View Tab path: /studio/view-tab - - title: Plugins tab + - title: Plugins Tab path: /studio/plugins-tab - - title: Script tab + - title: Script Tab path: /studio/script-tab - - title: Explorer window + - title: Explorer Window path: /studio/explorer - - title: Properties window + - title: Properties Window path: /studio/properties - title: Game Settings path: /studio/game-settings - - title: Studio shortcuts + - title: Studio Shortcuts path: /studio/shortcuts - heading: Plugins - - title: Overview + - title: Creating and Publishing path: /studio/plugins - - title: Build Studio widgets - path: /studio/build-studio-widgets + - title: Building Studio Widgets + path: /studio/building-studio-widgets diff --git a/content/common/navigation/engine/tutorials-core.yaml b/content/common/navigation/engine/tutorials-core.yaml index eee93c0ab..777d7a4d7 100644 --- a/content/common/navigation/engine/tutorials-core.yaml +++ b/content/common/navigation/engine/tutorials-core.yaml @@ -1,30 +1,30 @@ backTo: - title: Back to tutorials + title: Back to Tutorials path: /tutorials/ navigation: - heading: Overview - - title: Core curriculum + - title: Core Curriculum path: /tutorials/curriculums/core/ - - heading: Build - - title: Create a project + - heading: Building + - title: Create a Project path: /tutorials/curriculums/core/building/create-a-project - - title: Create an environment with terrain + - title: Create an Environment with Terrain path: /tutorials/curriculums/core/building/create-an-environment-with-terrain - - title: Greybox a playable area + - title: Greybox a Playable Area path: /tutorials/curriculums/core/building/greybox-a-playable-area - - heading: Script - - title: Create a coin collection mechanic + - heading: Scripting + - title: Create a Coin Collection Mechanic path: /tutorials/curriculums/core/scripting/script-game-behavior - - title: Record and display player data + - title: Record and Display Player Data path: /tutorials/curriculums/core/scripting/record-and-display-player-data - - title: Create player hazards + - title: Create Player Hazards path: /tutorials/curriculums/core/scripting/create-player-hazards - - title: Script an upgrade button + - title: Script an Upgrade Button path: /tutorials/curriculums/core/scripting/script-an-upgrade-button - heading: Polish - - title: Create basic visual effects + - title: Create Basic Visual Effects path: /tutorials/curriculums/core/building/create-basic-visual-effects - - title: Customize global lighting + - title: Customize Global Lighting path: /tutorials/curriculums/core/building/customize-global-lighting - - title: Apply polished assets + - title: Apply Polished Assets path: /tutorials/curriculums/core/building/apply-polished-assets diff --git a/content/common/navigation/engine/tutorials-ea.yaml b/content/common/navigation/engine/tutorials-ea.yaml index 57ee5a3a4..877d1feec 100644 --- a/content/common/navigation/engine/tutorials-ea.yaml +++ b/content/common/navigation/engine/tutorials-ea.yaml @@ -1,17 +1,17 @@ backTo: - title: Back to tutorials + title: Back to Tutorials path: /tutorials/ navigation: - - heading: Environmental art curriculum + - heading: Environmental Art Curriculum - title: Overview path: /tutorials/curriculums/environmental-art/ - - title: Greybox your environment + - title: Greybox Your Environment path: /tutorials/curriculums/environmental-art/greybox-your-environment - - title: Develop polished assets + - title: Develop Polished Assets path: /tutorials/curriculums/environmental-art/develop-polished-assets - - title: Assemble an asset library + - title: Assemble an Asset Library path: /tutorials/curriculums/environmental-art/assemble-an-asset-library - - title: Construct your world + - title: Construct Your World path: /tutorials/curriculums/environmental-art/construct-your-world - - title: Optimize your experience + - title: Optimize Your Experience path: /tutorials/curriculums/environmental-art/optimize-your-experience diff --git a/content/common/navigation/engine/tutorials-fundamentals.yaml b/content/common/navigation/engine/tutorials-fundamentals.yaml index c08196f83..0779a2abc 100644 --- a/content/common/navigation/engine/tutorials-fundamentals.yaml +++ b/content/common/navigation/engine/tutorials-fundamentals.yaml @@ -1,79 +1,79 @@ backTo: - title: Back to guides + title: Back to Guides path: /platform/ navigation: - - heading: Coding fundamentals + - heading: Coding Fundamentals - title: Overview path: /tutorials/fundamentals/coding-1/coding-fundamentals - - title: Variables & objects + - title: Variables & Objects path: /tutorials/fundamentals/coding-1/landing section: - - title: Create a script - path: /tutorials/fundamentals/coding-1/create-a-script - - title: Object properties + - title: Creating a Script + path: /tutorials/fundamentals/coding-1/creating-a-script + - title: Object Properties path: /tutorials/fundamentals/coding-1/object-properties - - title: Parents and children + - title: Parents and Children path: /tutorials/fundamentals/coding-1/parents-and-children - - title: Functions and events + - title: Functions and Events path: /tutorials/fundamentals/coding-2/functions-and-events section: - - title: Code a function - path: /tutorials/fundamentals/coding-2/code-a-function - - title: Use information with parameters - path: /tutorials/fundamentals/coding-2/use-parameters-and-events - - title: Parameters practice - buttons + - title: Coding a Function + path: /tutorials/fundamentals/coding-2/coding-a-function + - title: Using Information with Parameters + path: /tutorials/fundamentals/coding-2/using-parameters-and-events + - title: Parameters Practice - Buttons path: /tutorials/fundamentals/coding-2/parameters-practice-buttons - - title: Multiple parameters and arguments + - title: Multiple Parameters and Arguments path: /tutorials/fundamentals/coding-2/multiple-parameters-and-arguments - title: Conditionals path: /tutorials/fundamentals/coding-3/landing section: - - title: Intro to if statements + - title: Intro to If Statements path: /tutorials/fundamentals/coding-3/intro-to-if-statements - - title: If/then practice - traps + - title: If/then Practice - Traps path: /tutorials/fundamentals/coding-3/traps-with-if-statements - - title: If/then practice - power ups + - title: If/then Practice - Power ups path: /tutorials/fundamentals/coding-3/powerups-with-if-statements - - title: Multiple conditions with else/if + - title: Multiple Conditions with Else/If path: /tutorials/fundamentals/coding-3/multiple-conditions - - title: Else/if practice - giving points - path: /tutorials/fundamentals/coding-3/give-points + - title: Else/If Practice - Giving Points + path: /tutorials/fundamentals/coding-3/giving-points - title: Loops path: /tutorials/fundamentals/coding-4/landing section: - - title: Repeat code with while loops - path: /tutorials/fundamentals/coding-4/repeat-code-with-while-loops - - title: Intro to for loops + - title: Repeating Code with while Loops + path: /tutorials/fundamentals/coding-4/repeating-code-with-while-loops + - title: Intro to For Loops path: /tutorials/fundamentals/coding-4/intro-to-for-loops - - title: Glow lights with for loops + - title: Glowing Lights with For Loops path: /tutorials/fundamentals/coding-4/glow-lights-with-for-loops - - title: Timed bridge for loops - path: /tutorials/fundamentals/coding-4/create-a-timed-bridge - - title: Nest loops + - title: Timed Bridge For Loops + path: /tutorials/fundamentals/coding-4/creating-a-timed-bridge + - title: Nesting Loops path: /tutorials/fundamentals/coding-4/nested-loops - - title: Dictionaries and arrays + - title: Dictionaries and Arrays path: /tutorials/fundamentals/coding-5/landing section: - - title: Intro to arrays + - title: Intro to Arrays path: /tutorials/fundamentals/coding-5/intro-to-arrays - - title: Loop through arrays + - title: Looping through Arrays path: /tutorials/fundamentals/coding-5/loops-and-arrays - - title: Make changes to arrays - path: /tutorials/fundamentals/coding-5/make-changes-to-arrays - - title: Intro to dictionaries + - title: Making Changes to Arrays + path: /tutorials/fundamentals/coding-5/making-changes-to-arrays + - title: Intro to Dictionaries path: /tutorials/fundamentals/coding-5/intro-to-dictionaries - title: Pairs and iPairs path: /tutorials/fundamentals/coding-5/pairs-and-ipairs - - title: Return values from tables - path: /tutorials/fundamentals/coding-5/return-values-from-tables - - title: Organize code + - title: Returning Values From Tables + path: /tutorials/fundamentals/coding-5/returning-values-from-tables + - title: Organizing Code path: /tutorials/fundamentals/coding-6/landing section: - - title: Intro to module scripts + - title: Intro to Module Scripts path: /tutorials/fundamentals/coding-6/intro-to-module-scripts - - title: Create with module scripts - path: /tutorials/fundamentals/coding-6/create-with-module-scripts - - title: Code abstraction + - title: Creating with Module Scripts + path: /tutorials/fundamentals/coding-6/creating-with-module-scripts + - title: Coding Abstraction path: /tutorials/fundamentals/coding-6/coding-concept-abstraction - - title: Code algorithms + - title: Coding Algorithms path: /tutorials/fundamentals/coding-6/coding-concept-algorithms diff --git a/content/common/navigation/engine/tutorials-gs.yaml b/content/common/navigation/engine/tutorials-gs.yaml index 6d5815999..64d06d3a2 100644 --- a/content/common/navigation/engine/tutorials-gs.yaml +++ b/content/common/navigation/engine/tutorials-gs.yaml @@ -1,17 +1,17 @@ backTo: - title: Back to tutorials + title: Back to Tutorials path: /tutorials/ navigation: - - heading: Gameplay scripting curriculum + - heading: Gameplay Scripting Curriculum - title: Overview path: /tutorials/curriculums/gameplay-scripting/ - - title: Create teams - path: /tutorials/curriculums/gameplay-scripting/create-teams - - title: Spawn and respawn + - title: Creating Teams + path: /tutorials/curriculums/gameplay-scripting/creating-teams + - title: Spawning and Respawning path: /tutorials/curriculums/gameplay-scripting/spawn-respawn - - title: Add rounds - path: /tutorials/curriculums/gameplay-scripting/add-rounds - - title: Implement blaster behavior - path: /tutorials/curriculums/gameplay-scripting/implement-blasters - - title: Detect hits - path: /tutorials/curriculums/gameplay-scripting/detect-hits + - title: Adding Rounds + path: /tutorials/curriculums/gameplay-scripting/adding-rounds + - title: Implementing Blaster Behavior + path: /tutorials/curriculums/gameplay-scripting/implementing-blasters + - title: Detecting Hits + path: /tutorials/curriculums/gameplay-scripting/detecting-hits diff --git a/content/common/navigation/engine/tutorials-ui.yaml b/content/common/navigation/engine/tutorials-ui.yaml index 6097af869..71e6d61b9 100644 --- a/content/common/navigation/engine/tutorials-ui.yaml +++ b/content/common/navigation/engine/tutorials-ui.yaml @@ -1,13 +1,13 @@ backTo: - title: Back to tutorials + title: Back to Tutorials path: /tutorials/ navigation: - - heading: UI design curriculum + - heading: UI Design Curriculum - title: Overview path: /tutorials/curriculums/user-interface-design/ - - title: Choose an art style + - title: Choose an Art Style path: /tutorials/curriculums/user-interface-design/choose-an-art-style - - title: Wireframe your layouts + - title: Wireframe Your Layouts path: /tutorials/curriculums/user-interface-design/wireframe-your-layouts - - title: Implement designs in Studio + - title: Implement Designs in Studio path: /tutorials/curriculums/user-interface-design/implement-designs-in-studio diff --git a/content/common/navigation/engine/tutorials.yaml b/content/common/navigation/engine/tutorials.yaml index b2bde1ef6..4b19ba025 100644 --- a/content/common/navigation/engine/tutorials.yaml +++ b/content/common/navigation/engine/tutorials.yaml @@ -1,114 +1,120 @@ navigation: - - heading: Get started + - heading: Get Started - title: Overview path: /tutorials/ - - title: Create your first experience + - title: Create Your First Experience path: /tutorials/first-experience/ - - heading: Curriculum paths + - heading: Curriculum Paths - title: Overview path: /tutorials/curriculums/curriculum-overview - title: Core path: /tutorials/curriculums/core/ navigation: /engine/tutorials-core.yaml - - title: Environmental art + - title: Environmental Art path: /tutorials/curriculums/environmental-art/ navigation: /engine/tutorials-ea.yaml - - title: Gameplay scripting + - title: Gameplay Scripting path: /tutorials/curriculums/gameplay-scripting/ navigation: /engine/tutorials-gs.yaml - - title: User interface design + - title: User Interface Design path: /tutorials/curriculums/user-interface-design/ navigation: /engine/tutorials-ui.yaml - - heading: Use case tutorials + - heading: Use Case Tutorials - title: Overview path: /tutorials/use-case-tutorials/use-case-tutorial-overview - title: Modeling section: - - title: Neon signs - path: /tutorials/use-case-tutorials/modeling/create-neon-signs - - title: Modular environments - path: /tutorials/use-case-tutorials/modeling/assemble-modular-environments - - title: User interfaces + - title: Creating Neon Signs + path: /tutorials/use-case-tutorials/modeling/creating-neon-signs + - title: Assembling Modular Environments + path: /tutorials/use-case-tutorials/modeling/assembling-modular-environments + - title: User Interfaces section: - - title: HUD meters - path: /tutorials/use-case-tutorials/ui/create-hud-meters - - title: Interactive UI + - title: Creating HUD Meters + path: /tutorials/use-case-tutorials/ui/creating-hud-meters + - title: Making UI Interactive path: /tutorials/use-case-tutorials/ui/interactive-ui - - title: Proximity prompts + - title: Creating Proximity Prompts path: /tutorials/use-case-tutorials/ui/proximity-prompts - - title: Score bars - path: /tutorials/use-case-tutorials/ui/create-a-score-bar + - title: Creating Score Bars + path: /tutorials/use-case-tutorials/ui/creating-a-score-bar - title: Audio section: - - title: Background music - path: /tutorials/use-case-tutorials/audio/play-background-music - - title: Positional sounds + - title: Playing Background Music + path: /tutorials/use-case-tutorials/audio/playing-background-music + - title: Playing Positional Sounds path: /tutorials/use-case-tutorials/audio/in-game-sounds - title: Lighting section: - - title: Indoor environments - path: /tutorials/use-case-tutorials/lighting/enhance-indoor-environments - - title: Outdoor environments - path: /tutorials/use-case-tutorials/lighting/enhance-outdoor-environments-with-future-lighting + - title: Enhancing Indoor Environments + path: /tutorials/use-case-tutorials/lighting/enhancing-indoor-environments + - title: Enhancing Outdoor Environments + path: /tutorials/use-case-tutorials/lighting/enhancing-outdoor-environments-with-future-lighting - title: VFX section: - - title: Laser beams + - title: Creating Laser Beams path: /tutorials/use-case-tutorials/vfx/laser-traps-with-beams - - title: Waterfalls - path: /tutorials/use-case-tutorials/vfx/create-waterfalls - - title: Volcanoes - path: /tutorials/use-case-tutorials/vfx/create-volcanoes - - title: Explosions - path: /tutorials/use-case-tutorials/vfx/use-particles-for-explosions + - title: Creating Waterfalls + path: /tutorials/use-case-tutorials/vfx/creating-waterfalls + - title: Creating Volcanoes + path: /tutorials/use-case-tutorials/vfx/creating-volcanoes + - title: Creating Explosions + path: /tutorials/use-case-tutorials/vfx/using-particles-for-explosions - title: Physics section: - - title: Moving objects - path: /tutorials/use-case-tutorials/physics/create-moving-objects - - title: Spinning objects - path: /tutorials/use-case-tutorials/physics/create-spinning-objects + - title: Creating Moving Objects + path: /tutorials/use-case-tutorials/physics/creating-moving-objects + - title: Creating Spinning Objects + path: /tutorials/use-case-tutorials/physics/creating-spinning-objects + - title: Creating Elevators + path: /tutorials/use-case-tutorials/physics/creating-elevators + - title: Building Hinged Doors + path: /tutorials/use-case-tutorials/physics/building-a-hinged-door + - title: Building Ferris Wheels + path: /tutorials/use-case-tutorials/physics/building-a-ferris-wheel - title: Animation section: - title: In Studio section: - - title: Create character animations - path: /tutorials/use-case-tutorials/animation/create-an-animation - - title: Play character animations - path: /tutorials/use-case-tutorials/animation/play-character-animations + - title: Creating Character Animations + path: /tutorials/use-case-tutorials/animation/creating-an-animation + - title: Playing Character Animations + path: /tutorials/use-case-tutorials/animation/playing-character-animations - title: In Blender section: - - title: Rig simple meshes - path: /art/modeling/rig-a-simple-mesh - - title: Skin simple meshes - path: /art/modeling/skin-a-simple-mesh - - title: Rig humanoid models - path: /art/modeling/rig-a-humanoid-model - - title: Skin humanoid models - path: /art/modeling/skin-a-humanoid-model + - title: Rigging Simple Meshes + path: /art/modeling/rigging-a-simple-mesh + - title: Skinning Simple Meshes + path: /art/modeling/skinning-a-simple-mesh + - title: Rigging Humanoid Models + path: /art/modeling/rigging-a-humanoid-model + - title: Skinning Humanoid Models + path: /art/modeling/skinning-a-humanoid-model - title: Scripting section: - - title: Basic gameplay + - title: Basic Gameplay section: - - title: Introduction to scripting + - title: Introduction to Scripting path: /tutorials/use-case-tutorials/scripting/basic-scripting/intro-to-scripting - - title: Deadly lava + - title: Deadly Lava path: /tutorials/use-case-tutorials/scripting/basic-scripting/deadly-lava - - title: Fading trap + - title: Fading Trap path: /tutorials/use-case-tutorials/scripting/basic-scripting/fading-trap - - title: Score points - path: /tutorials/use-case-tutorials/scripting/basic-scripting/score-points - - title: Intermediate gameplay + - title: Scoring Points + path: /tutorials/use-case-tutorials/scripting/basic-scripting/scoring-points + - title: Intermediate Gameplay section: - - title: Health pickups - path: /tutorials/use-case-tutorials/scripting/intermediate-scripting/create-a-health-pickup - - title: Save data - path: /tutorials/use-case-tutorials/scripting/intermediate-scripting/save-data - - title: Player tools - path: /tutorials/use-case-tutorials/scripting/intermediate-scripting/create-player-tools - - title: Hit detection with lasers + - title: Creating Health Pickups + path: /tutorials/use-case-tutorials/scripting/intermediate-scripting/creating-a-health-pickup + - title: Saving Data + path: /tutorials/use-case-tutorials/scripting/intermediate-scripting/saving-data + - title: Creating Player Tools + path: /tutorials/use-case-tutorials/scripting/intermediate-scripting/creating-player-tools + - title: Hit Detection with Lasers path: /tutorials/use-case-tutorials/scripting/intermediate-scripting/hit-detection-with-lasers - - title: Input and camera + - title: Input and Camera section: - - title: Control the user's camera - path: /tutorials/use-case-tutorials/input-and-camera/control-the-users-camera - - title: Detect user input - path: /tutorials/use-case-tutorials/input-and-camera/detect-user-input + - title: Controlling the User's Camera + path: /tutorials/use-case-tutorials/input-and-camera/controlling-the-users-camera + - title: Detecting User Input + path: /tutorials/use-case-tutorials/input-and-camera/detecting-user-input diff --git a/content/en-us/ai-data-sharing.md b/content/en-us/ai-data-sharing.md index 1273782ba..f247b8b54 100644 --- a/content/en-us/ai-data-sharing.md +++ b/content/en-us/ai-data-sharing.md @@ -1,5 +1,5 @@ --- -title: AI data sharing +title: AI Data Sharing description: Understand AI data sharing policies and how to update your preferences. --- @@ -20,7 +20,7 @@ You can change your default choice at any time and override it as desired whenev Because they're distributed with the intent of others using them, **free** [Creator Store](production/creator-store.md) assets are shared by default, with no ability to disable sharing. -## Manage data sharing preferences +## Managing Data Sharing Preferences To set your global data sharing preferences: @@ -29,7 +29,7 @@ To set your global data sharing preferences: 1. Enable or disable **Make sharing data the default option when publishing experiences**. 1. (Optional) Choose individual experiences, avatar items, and paid Creator Store assets to share or not share. -## How Roblox uses data +## How Roblox Uses Data All data shared with Roblox is for AI-enhancement purposes only and is not shared with third parties. Data is processed and stored in accordance with strict security protocols, contains no personal information, is split into tokens (small snippets) for further anonymization, and is retained for only as long as it is beneficial for model improvement. Roblox regularly reviews and purges shared data. @@ -39,4 +39,4 @@ If you share something and then later stop sharing it, Roblox will remove it fro Previously, Roblox launched a program that allowed you to share your scripts with Roblox, a public Luau dataset, or both. Roblox no longer uses the script data that was shared only with Roblox. Instead, you now decide if you want to share entire experiences, including their scripts. -The Luau public dataset is not affected by this change. You can set your sharing preferences on the Creator Hub in the **Public Luau** tab. For more details on the public dataset, see [Empower Luau creation](https://create.roblox.com/data-collection). +The Luau public dataset is not affected by this change. You can set your sharing preferences on the Creator Hub in the **Public Luau** tab. For more details on the public dataset, see [Empower Luau Creation](https://create.roblox.com/data-collection). diff --git a/content/en-us/animation/capture.md b/content/en-us/animation/capture.md index d0216826c..e61b3ed18 100644 --- a/content/en-us/animation/capture.md +++ b/content/en-us/animation/capture.md @@ -1,5 +1,5 @@ --- -title: Animation capture +title: Animation Capture description: Animation Capture in the Animation Editor allows you to generate high-quality, realistic animations for faces and bodies. --- @@ -22,7 +22,7 @@ With the ability to record up to 60-second animations, you can quickly provide b -### Record face animations +### Recording Face Animations Before you begin to record your face, ensure that you're in a well lit room close enough to your camera so that your face is in the center of your camera's recording frame. This increases your camera's ability to distinguish you from your surroundings so that you can accurately puppeteer your avatar and create high-quality animations. @@ -70,7 +70,7 @@ To record your face and create an animation: -After you finish your recording, you can [fine-tune](../animation/editor.md#keyframes) the keyframes, [save](../animation/editor.md#save-an-animation) your animation, then [export](../animation/editor.md#export-an-animation) it to use across all of your experiences. +After you finish your recording, you can [fine-tune](../animation/editor.md#keyframes) the keyframes, [save](../animation/editor.md#saving-an-animation) your animation, then [export](../animation/editor.md#exporting-an-animation) it to use across all of your experiences. ## Body @@ -80,7 +80,7 @@ The **Animation Capture - Body** allows you to quickly generate high-quality, re -### Import videos for animation +### Importing Videos for Animation Before you import a video to the Animation Editor, ensure the **.mp4** or **.mov** file meets the following requirements: @@ -115,4 +115,4 @@ To import a video to create an animation: 6. Click the **Choose Video** button. 7. Select the video you want to import from your local machine, then click the **Open** button. After about a minute, keyframes that correspond to movement in your video display within the timeline. -After your import is successful, you can [save](../animation/editor.md#save-an-animation) and [export](../animation/editor.md#export-an-animation) your animation to use across all of your experiences. +After your import is successful, you can [save](../animation/editor.md#saving-an-animation) and [export](../animation/editor.md#exporting-an-animation) your animation to use across all of your experiences. diff --git a/content/en-us/animation/curve-editor.md b/content/en-us/animation/curve-editor.md index 5cdfd7202..8cb199ace 100644 --- a/content/en-us/animation/curve-editor.md +++ b/content/en-us/animation/curve-editor.md @@ -28,13 +28,13 @@ While the Animation Editor displays a rig's orientation as three separate X, Y, However, the Curve Editor allows you to work with Euler angles either globally or on a per-part basis, which allows you to define independent tracks for the X, Y and Z angles. This provides additional levels of control to make your animations more fluid and realistic. -## Set rotation type +## Setting Rotation Type It's important to verify your rotation type **before you open the Curve Editor** because once you convert quaternions to Euler angle tracks, it's impossible to convert them back into quaternions. -The Animation Editor automatically converts quaternions to Euler angles when you [open the Curve Editor](#open-the-curve-editor), but you can keep quaternion values by setting the Animation Editor's rotation type to quaternions. +The Animation Editor automatically converts quaternions to Euler angles when you [open the Curve Editor](#opening-the-curve-editor), but you can keep quaternion values by setting the Animation Editor's rotation type to quaternions. To set rotation type: @@ -47,14 +47,14 @@ To set rotation type: 2. Hover over **Default Rotation Type**, then select either **Euler Angles** or **Quaternions**. Your rotation type sets to your choice and becomes the default rotation type for future projects. -## Open the Curve Editor +## Opening the Curve Editor You can switch the Animation Editor's timeline between the Dope Sheet Editor and the Curve Editor at any time. To open the Curve Editor: -1. [Open the Animation Editor](../animation/editor.md#open-the-animation-editor). -2. (Optional) If you want to keep your orientation keyframe quaternion values, [set the rotation type](#set-rotation-type) to **quaternions**. +1. [Open the Animation Editor](../animation/editor.md#opening-the-animation-editor). +2. (Optional) If you want to keep your orientation keyframe quaternion values, [set the rotation type](#setting-rotation-type) to **quaternions**. 3. In the top-left corner of the **timeline**, click the **Curve Animation** icon. A pop-up window displays to confirm that your `Class.KeyframeSequence` clip will convert to a new CurveAnimation clip. - 2. If you [set the rotation](#set-rotation-type) type to quaternions, the conversion to curves preserves the quaternions and the animation remains the same. + 2. If you [set the rotation](#setting-rotation-type) type to quaternions, the conversion to curves preserves the quaternions and the animation remains the same. Curve Editor Overview
@@ -98,9 +98,9 @@ Interpolation is Studio's process of "filling in" position and orientation value For **Euler angle curves**, the height of each keyframe represents its orientation value over time. For example, the highest keyframe represents a rotation of about 120 degrees around the X axis, and the lowest keyframe represents a rotation of about -10 degrees. For **quaternion curves**, each segment represents orientation changing between keyframes, and the line displays the interpolation between them. In the previous example, the animation starts from orientation A, then interpolates linearly to orientation B. Once it is at B, the interpolation starts again from orientation B to orientation C, then continues with this pattern until the rig reaches its final orientation. -You can modify how the Curve Editor handles interpolation for both Euler angle curves and quaternion curves by [setting tangents](#set-tangents), [changing the interpolation mode](#change-interpolation-mode), or by [generating interpolation curves](#generate-interpolation-curves) between two or more keyframes. +You can modify how the Curve Editor handles interpolation for both Euler angle curves and quaternion curves by [setting tangents](#setting-tangents), [changing the interpolation mode](#changing-interpolation-mode), or by [generating interpolation curves](#generating-interpolation-curves) between two or more keyframes. -### Set tangents +### Setting Tangents The Curve Editor provides **tangents**, or handles, that let you quickly adjust the interpolation either before or after a keyframe. Euler angle curves have a tangent both before and after the keyframe while quaternion curves have one tangent at the beginning and another at the end of a segment. The initial tangent controls the interpolation after the keyframe and the secondary tangent controls the interpolation before the keyframe. For example: @@ -136,7 +136,7 @@ To set a tangent: 2. Release the tangent. The interpolation between keyframes adjusts accordingly. 3. (Optional) If you set one tangent and want to align the unset tangent horizontally, right-click the unset tangent, then select **Set Tangent to Zero** from the contextual menu. -#### Reset tangents +#### Resetting Tangents If you ever set a tangent to a new position and the resulting interpolation is undesirable, you can always use Auto-Tangent Mode to clear a tangent's value and reset it back to its default interpolation behavior. @@ -150,7 +150,7 @@ To reset a tangent: 2. Select **Set Tangent To Zero**. The tangent resets to its default interpolation behavior. -### Change interpolation mode +### Changing Interpolation Mode Interpolation mode is the rate at which an animation moves between different keyframe positions within the animation. There are three interpolation modes available for curve animations: @@ -168,7 +168,7 @@ To change interpolation mode: src="../assets/animation/curve-editor/Interpolation-Mode.png" width="600" /> -### Generate interpolation curves +### Generating Interpolation Curves For curve animations, bounce and elastic easing styles are not available as standard interpolations like they are for `Class.KeyframeSequence|KeyframeSequences`. However, when you convert a `Class.KeyframeSequence` to a curve animation, the Animation Editor automatically adds additional keyframes to your animation to keep the animation intact, and you can select two or more keyframes and generate an **interpolation curve** that removes and replaces any of their intermediate keyframes to mimic bounce and elastic easing behavior. @@ -190,7 +190,7 @@ To generate interpolation curves: src="../assets/animation/curve-editor/Generate-Curve-Editor.png" width="400" /> -## Set Euler angles order +## Setting Euler Angles Order When you're working with Euler angles, Studio represents the X, Y, and Z axis through three channel values that follow a specific order to move your rig from its starting orientation to its next orientation. Each order is named after the [matrix multiplications](https://en.wikipedia.org/wiki/Matrix_multiplication) to get to the final orientation. For example, an XYZ order (X × Y × Z) means that the rig moves starting on the Z axis, then the Y axis, then the X axis. The Animation Editor defaults to this **XYZ order**, but you can change the order at any time. diff --git a/content/en-us/animation/editor.md b/content/en-us/animation/editor.md index 394897d01..e12ee1699 100644 --- a/content/en-us/animation/editor.md +++ b/content/en-us/animation/editor.md @@ -7,7 +7,7 @@ The **Animation Editor** plugin allows you to design and publish custom animations on rigs. A rig is an object with individual sections connected by joints. You can -move these joints to [create poses](#create-poses), and +move these joints to [create poses](#creating-poses), and the Animation Editor then smoothly animates the rig from pose-to-pose. As long as all moving parts are connected with `Class.Motor6D` @@ -19,7 +19,7 @@ rigs. -### Media and playback controls +### Media and Playback Controls @@ -128,7 +128,7 @@ rigs.
-### Track list +### Track List @@ -165,7 +165,7 @@ rigs.
-## Create an animation +## Creating an Animation You can only create animations using rigs. If you don't have a rig available, insert a pre-built rig using the [Rig Builder](../studio/rig-builder.md) plugin. The pre-built rigs have all of the basic parts and mechanisms to build a character animation. @@ -187,12 +187,12 @@ If you have a rig, you can create a new animation for it using the following ste click the **Create** button. The Animation Editor window displays the [media and playback controls](#media-and-playback-controls), [timeline](#timeline), and [track list](#track-list). -From here, you can begin [creating poses](#create-poses) +From here, you can begin [creating poses](#creating-poses) for your rig and modifying the animation settings, such as [looping -the animation](#loop-an-animation) or [setting its -priority](#set-a-priority). +the animation](#looping-an-animation) or [setting its +priority](#setting-a-priority). -### Create poses +### Creating Poses An animation consists of different **poses**, or specific positions and orientations of `Class.Bone` or `Class.MeshPart` objects within a rig. You can create poses by moving or rotating bones or meshes, such as the rig's hands, feet, or torso. After you create multiple poses on different positions of the timeline, the Animation Editor runs between them with your [easing settings](#easing) to smoothly animate the rig from pose-to-pose. @@ -249,11 +249,11 @@ To create a pose: ## Keyframes -Once you [create basic poses](#create-poses) for a rig, +Once you [create basic poses](#creating-poses) for a rig, fine-tuning individual keyframes can significantly improve the final animation. -### Add keyframes +### Adding Keyframes Whenever you change a part's position or orientation, a new keyframe displays on the timeline. You can also add keyframes to a timeline @@ -286,7 +286,7 @@ To add a keyframe for multiple parts of the rig: Note that the keyframes insert at the frame position closest to where you click, not at the position of the scrubber. -### Move keyframes +### Moving Keyframes You can increase or decrease the amount of time between keyframes by moving either individual keyframes or every keyframe in a frame position. @@ -315,7 +315,7 @@ To move every keyframe in a frame position: 2. Click-and-drag it to a new frame position. -### Duplicate keyframes +### Duplicating Keyframes You can duplicate either a specific keyframe or multiple keyframes for multiple parts into a new position in the timeline. This is particularly @@ -328,24 +328,24 @@ To duplicate one or more keyframes: 1. Move the **scrubber** to a new frame position. 1. Press CtrlV (V). The keyframe(s) paste into the new frame position. -### Delete keyframes +### Deleting Keyframes To delete one or more keyframes, select the keyframe(s), then press **Delete** or **Backspace**. -### Optimize keyframes +### Optimizing Keyframes Animators can often generate many keyframes during the course of animation, especially when using various animation tools and features. To help reduce the number of unnecessary keyframes and make it easier to animate on the timeline, the Animation Editor provides tools for [automatic](#automatic-optimization) and [on-demand](#on-demand-optimization) keyframe optimization. -#### Automatic optimization +#### Automatic Optimization -The Animation Editor automatically detects and removes unnecessary keyframes when creating [facial animations](../art/characters/facial-animation/animate-heads.md) and when [promoting a keyframe animation to a curve animation](../animation/curve-editor.md#open-the-curve-editor). +The Animation Editor automatically detects and removes unnecessary keyframes when creating [facial animations](../art/characters/facial-animation/animating-heads.md) and when [promoting a keyframe animation to a curve animation](../animation/curve-editor.md#opening-the-curve-editor). -If 3 or more consecutive keyframes have the same value in a track, the Animation Editor removes the intermediary keyframes and keeps only the first and last keyframes. +If 3 or more consecutive keyframes have the same value in a track, the animation editor removes the intermediary keyframes and keeps only the first and last keyframes. If the track only contains keyframes with default values, such as an `Datatype.CFrame.identity|Identity Cframe`, or a `0` value for a curve animation, the entire track is removed from the animation. -#### On-demand optimization +#### On-Demand Optimization Optimize Keyframes -## Set a priority +## Setting a Priority An animation's **priority** (`Enum.AnimationPriority`) dictates when it will play in an experience. For example, if you play an animation with a higher priority @@ -512,10 +512,10 @@ To set an animation to a different priority: 1. Hover over **Set Animation Priority**, then choose your desired priority setting. -## Save an animation +## Saving an Animation When you save an animation, Studio saves it as a -`Class.KeyframeSequence` object in `Class.ServerStorage` and adds a reference to your rig object. Saving your animation is meant to preserve your animation progress and work. If you intend to use an animation, [export it](#export-an-animation) before referencing the published animation in your experience. +`Class.KeyframeSequence` object in `Class.ServerStorage` and adds a reference to your rig object. Saving your animation is meant to preserve your animation progress and work. If you intend to use an animation, [export it](#exporting-an-animation) before referencing the published animation in your experience. To save an animation: @@ -531,7 +531,7 @@ To save an animation: -### Access local data +### Accessing Local Data Roblox saves animation data locally to `Class.ServerStorage` to preserve your animation work. In most cases, your experience shouldn't directly access this local data and instead should reference a published animation. @@ -551,9 +551,9 @@ local myAnim = ServerStorage.RBX_ANIMSAVES.myRig.myAnimation Since local data is stored in `Class.ServerStorage`, it doesn't replicate and isn't available from clients. If your clients need access to that data, you must move the `Class.KeyframeSequence` or `Class.CurveAnimation` objects and their descendants to `Class.ReplicatedStorage`. -### Migrate legacy data +### Migrating Legacy Data -The Animation Editor previously stored animation objects directly within a rig, not within `Class.ServerStorage`. If your experience references legacy animation objects in a rig, you can migrate this data to `Class.ServerStorage` using the animation migration tool, allowing you to [access local animation data](#access-local-data) in the same way. +The Animation Editor previously stored animation objects directly within a rig, not within `Class.ServerStorage`. If your experience references legacy animation objects in a rig, you can migrate this data to `Class.ServerStorage` using the animation migration tool, allowing you to [access local animation data](#accessing-local-data) in the same way. To migrate your legacy animation data: @@ -565,11 +565,11 @@ To migrate your legacy animation data: - **Delete**: Delete animations that are already published or no longer being used. - **Migrate**: Migrate animations that are still in progress or that haven't yet been published. - - **Ignore**: Ignore animations if you have yet to update your experience's code to [access local data](#access-local-data) from `Class.ServerStorage`. Once updated, migrate these animations. + - **Ignore**: Ignore animations if you have yet to update your experience's code to [access local data](#accessing-local-data) from `Class.ServerStorage`. Once updated, migrate these animations. 3. Press **OK** when complete. -## Export an animation +## Exporting an Animation When you export an animation to Studio, it becomes available for use in all experiences. This means that you only need to create an animation @@ -581,7 +581,7 @@ once, then you can reuse it as many times as you want. To export an animation: -1. **(Important)** If the animation will be used to [replace a default character animation](../animation/using.md#replace-default-animations) like running or jumping, rename the final keyframe **End** as follows: +1. **(Important)** If the animation will be used to [replace a default character animation](../animation/using.md#replacing-default-animations) like running or jumping, rename the final keyframe **End** as follows: 1. Right-click the final white keyframe symbol in the upper bar region and choose **Rename Key Keyframe** from the contextual menu. @@ -603,8 +603,8 @@ To export an animation: 6. Click the **Submit** button. Once the upload is complete, you can copy the animation's asset ID -from the [Toolbox](../projects/assets/toolbox.md) for scripting custom animations or to replace default character animations, as outlined in [Use animations](../animation/using.md). +from the [Toolbox](../projects/assets/toolbox.md) for scripting custom animations or to replace default character animations, as outlined in [Using Animations](../animation/using.md). 1. Click the **Creations** tab and select **Animations** from the dropdown menu. 2. Right-click the desired animation and select **Copy Asset ID** from the contextual menu. -3. See [Use animations](../animation/using.md) for instructions on how to play the animation from a script or use the animation as a default character animation. +3. See [Using Animations](../animation/using.md) for instructions on how to play the animation from a script or use the animation as a default character animation. diff --git a/content/en-us/animation/events.md b/content/en-us/animation/events.md index db03eda12..d75b0979b 100644 --- a/content/en-us/animation/events.md +++ b/content/en-us/animation/events.md @@ -1,5 +1,5 @@ --- -title: Animation events +title: Animation Events description: Animation Events are markers across the timeline span in the Animation Editor. --- @@ -7,7 +7,7 @@ You can define animation **event markers** across the timeline span and use `Class.AnimationTrack:GetMarkerReachedSignal()|GetMarkerReachedSignal()` to detect those markers as the animation runs. -## Show events +## Showing Events By default, the event track isn't visible. To show the event track: @@ -25,10 +25,10 @@ By default, the event track isn't visible. To show the event track: src="../assets/animation/animation-editor/Animation-Events-Bar.png" width="600" /> -You can now [create](#create-events), [detect](#detect-events), and -[duplicate](#duplicate-events) events. +You can now [create](#creating-events), [detect](#detecting-events), and +[duplicate](#duplicating-events) events. -## Create events +## Creating Events Event markers are visual indicators of where an animation event begins. After you create an event marker, you can move it to any frame position on the timeline. @@ -59,7 +59,7 @@ To create a new event marker: src="../assets/animation/animation-editor/Animation-Events-Marker-In-Timeline.png" width="700" /> -## Detect events +## Detecting Events To detect animation events in a `Class.LocalScript`, connect a function to the `Class.AnimationTrack:GetMarkerReachedSignal()|GetMarkerReachedSignal()` function of `Class.AnimationTrack`. For example: @@ -94,7 +94,7 @@ marker within the Animation Editor. This lets you pass a custom string (single value, comma-separated string, etc.) to the `Class.AnimationTrack:GetMarkerReachedSignal()|GetMarkerReachedSignal()` function, as illustrated by the paramString argument in the code example above. This string can then be parsed or converted, if necessary, and used for whatever action you wish to perform in the event. -## Duplicate events +## Duplicating Events As you create events, they become available for usage throughout the whole animation, not only at the frame position where you originally created them. For @@ -131,5 +131,5 @@ steps: -You can also duplicate events by clicking the Edit Animation Events button (just as if you were creating a new event), clicking Add Event in the pop-up menu, selecting the desired event from the dropdown, and clicking Save. +You can also duplicate events by clicking the Edit Animation Events button (just as if you were creating a new event), clicking Add Event in the pop-up menu, selecting the desired event from the dropdown, and clicking Save. diff --git a/content/en-us/animation/index.md b/content/en-us/animation/index.md index 7f0f45a1b..6c382d013 100644 --- a/content/en-us/animation/index.md +++ b/content/en-us/animation/index.md @@ -25,10 +25,10 @@ When creating animations, Studio provides the following features to animate effe - Make realistic animations by posing and animating `Class.Bone|Bones` of a [rigged mesh](../art/modeling/rigging.md). -## Inverse kinematics +## Inverse Kinematics You can use [inverse kinematics](../animation/inverse-kinematics.md) APIs to automatically create animations and poses based on environmental and external events. With inverse kinematics, you can procedurally generate various animation events, such as having a character's head track a bird flying in the sky, or making a character's arm automatically reach for a door knob when nearby. -## Animation events +## Animation Events An [animation event](../animation/events.md) is a specific point in an animation that triggers an action. You can define animation event markers across the Animation Editor timeline span, then use `Class.AnimationTrack:GetMarkerReachedSignal()` to detect those markers as the animation runs to perform specific actions, such as playing a sound effect whenever the user's foot touches the ground. diff --git a/content/en-us/animation/inverse-kinematics.md b/content/en-us/animation/inverse-kinematics.md index 003bed92b..213884a25 100644 --- a/content/en-us/animation/inverse-kinematics.md +++ b/content/en-us/animation/inverse-kinematics.md @@ -26,9 +26,9 @@ This animation technique can provide solutions to the following examples: You can use an `Class.IKControl` to procedurally add IK to your character rigs outside of the Animation Editor. Studio allows you to programmatically apply IK to all characters, such as R15, Rthro, and custom imported skinned characters, to create realistic movement and interactions in your experience. -When adding an `Class.IKControl`, set the [required properties](#required-properties) correctly to avoid unexpected and unnatural animation results. As with all animation, [test your IKControls](#test-ikcontrols) to ensure that you achieve the desired behavior. +When adding an `Class.IKControl`, set the [required properties](#required-properties) correctly to avoid unexpected and unnatural animation results. As with all animation, [test your IKControls](#testing-ikcontrols) to ensure that you achieve the desired behavior. -### Required properties +### Required Properties When adding a `Class.IKControl` to your character's `Class.Humanoid` or `Class.AnimationController`, you must set the following required properties to enable IK: @@ -59,7 +59,7 @@ When adding a `Class.IKControl` to your character's `Class.Humanoid` or `Class.A -### Test IKControls +### Testing IKControls You can add and edit `Class.IKControl` programmatically or directly through the Explorer. You can even add and make changes to `Class.IKControl` during a Play test to quickly check how various properties affect a character's movements. @@ -104,7 +104,7 @@ To quickly test your `Class.IKControl` using an `Class.Attachment` as a target: -### Add constraints +### Adding Constraints You can use `Class.Constraint|Constraints` to restrict how joints can move when reaching its target. Constraints can ensure joints like the elbows and knees bend naturally, or to make the mechanical joints rotate in a specific orientation. diff --git a/content/en-us/animation/using.md b/content/en-us/animation/using.md index 7d46553f6..cf844029a 100644 --- a/content/en-us/animation/using.md +++ b/content/en-us/animation/using.md @@ -1,11 +1,11 @@ --- -title: Use animations +title: Using Animations description: Explains the process of playing animations through scripts, and replacing default animations. --- -Once you have [created an animation](../animation/editor.md), you need to use scripts to include them in your experience. You can either [play animations manually](#play-animations-from-scripts) from scripts or [replace default animations](#replace-default-animations) for player characters. +Once you have [created an animation](../animation/editor.md), you need to use scripts to include them in your experience. You can either [play animations manually](#playing-animations-from-scripts) from scripts or [replace default animations](#replacing-default-animations) for player characters. -## Play animations from scripts +## Playing Animations From Scripts In some cases, you'll need to play an animation directly from inside a script, such as when a user presses a certain key or picks up a special item. @@ -48,7 +48,7 @@ kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramStrin end) ``` -### Non-humanoids +### Non-Humanoids To play animations on rigs that do **not** contain a `Class.Humanoid`, you must create an `Class.AnimationController` with a child `Class.Animator`. For example, the following `Class.Script` (assumed to be a direct child of the rig) loads a "kick" animation and plays it. @@ -78,7 +78,7 @@ kickAnimationTrack:GetMarkerReachedSignal("KickEnd"):Connect(function(paramStrin end) ``` -## Replace default animations +## Replacing Default Animations By default, Roblox player characters include common animations like running, climbing, swimming, and jumping. You can replace these [default animations](#default-character-animations) with animations from the [catalog](#catalog-animations) or with your own [custom](../animation/editor.md) animations. @@ -161,10 +161,10 @@ climbing, swimming, and jumping. You can replace these [default animations](#def Players.PlayerAdded:Connect(onPlayerAdded) ``` -## Set animation weights +## Setting Animation Weights You can use multiple animations for the same action. For example, there -are two `idle` variations in the code sample for [replacing default animations](#replace-default-animations). +are two `idle` variations in the code sample for [replacing default animations](#replacing-default-animations). When multiple animations exist for a character state, the **Animate** script randomly chooses which one to play, but you can influence the outcome by @@ -181,17 +181,17 @@ In the following example, `idle.Animation1` will play ⅓ of the time the charac animateScript.idle.Animation2.Weight.Value = 10 ``` -## Animation references +## Animation References -### Default character animations +### Default Character Animations -The following table contains all of the default character animations that you can [replace](#replace-default-animations) with [catalog](#catalog-animations) animations or your own [custom](../animation/editor.md) animations. Note that **Idle** has two variations which you can [weight](#set-animation-weights) to play more or less frequently. +The following table contains all of the default character animations that you can [replace](#replacing-default-animations) with [catalog](#catalog-animations) animations or your own [custom](../animation/editor.md) animations. Note that **Idle** has two variations which you can [weight](#setting-animation-weights) to play more or less frequently. - - + + @@ -235,9 +235,9 @@ The following table contains all of the default character animations that you ca
Character actionAnimate script referenceCharacter ActionAnimate Script Reference
**Run**
-### Catalog animations +### Catalog Animations -When using avatar animation bundles to [replace default animations](#replace-default-animations), use the following references for the respective asset IDs. For example, if you want to apply the Ninja Jump animation, use `656117878`. Note that **Idle** has multiple variations. +When using avatar animation bundles to [replace default animations](#replacing-default-animations), use the following references for the respective asset IDs. For example, if you want to apply the Ninja Jump animation, use `656117878`. Note that **Idle** has multiple variations. diff --git a/content/en-us/art/accessories/automatic-skinning-transfer.md b/content/en-us/art/accessories/automatic-skinning-transfer.md index bd7b5ba26..79ec87f89 100644 --- a/content/en-us/art/accessories/automatic-skinning-transfer.md +++ b/content/en-us/art/accessories/automatic-skinning-transfer.md @@ -1,37 +1,37 @@ --- title: Automatic Skinning Transfer -description: Automatic Skinning Transfer can create deformation data for character accessories without manual skinning. +description: Automatic skinning transfer can create deformation data for character accessories without manual skinning. --- -**Automatic Skinning Transfer** allows layered clothing and facial accessories to deform accurately along with the character model it's attached to without having to skin the accessory itself. Instead of the complex task of manually [rigging and skinning](../../art/modeling/rigging.md) models in 3D modeling software, you can use this feature to transfer or generate skinning data to the accessory. When using Automatic Skinning Transfer, the Roblox Engine creates and applies skinning at runtime. +**Automatic skinning transfer** allows layered clothing and facial accessories to deform accurately along with the character model it's attached to without having to skin the accessory itself. Instead of the complex task of manually [rigging and skinning](../../art/modeling/rigging.md) models in 3D modeling software, you can use this feature to transfer or generate skinning data to the accessory. When using automatic skinning transfer, the Roblox engine creates and applies skinning at runtime. -**No skinning of accessory geometry is required to use Automatic Skinning Transfer**. In fact, auto-skinned accessories work well with most characters they're attached to, even if those characters have a different number of joints, bones, or use a different kind of skinning, and the accessories move accurately with characters as they animate. +**No skinning of accessory geometry is required to use automatic skinning transfer**. In fact, auto-skinned accessories work well with most characters they're attached to, even if those characters have a different number of joints, bones, or use a different kind of skinning, and the accessories move accurately with characters as they animate. -Skinning is still an important concept for character creation, and if you're creating custom characters, you may want to apply skinning data to the model to create a character with more natural looking poses and animations. For information on how to skin a mesh, see [Skin a humanoid model](../../art/modeling/skin-a-humanoid-model.md). +Skinning is still an important concept for character creation, and if you're creating custom characters, you may want to apply skinning data to the model to create a character with more natural looking poses and animations. For information on how to skin a mesh, see [Skinning a Humanoid Model](../../art/modeling/skinning-a-humanoid-model.md). Because the skinning transfer process uses a character's outer cage to help calculate skinning data to apply onto the accessory, it's important that all [layered clothing requirements](../../art/accessories/project-files.md) are still met when creating accessories. -## Enable Automatic Skinning Transfer +## Enabling Automatic Skinning Transfer -To enable the Automatic skinning transfer process, you must enable the `Class.WrapLayer.AutoSkin|AutoSkin` property within the `Class.WrapLayer` instance of the layered `Class.Accessory` you want to automatically skin, then set it to one of the following values: +To enable the automatic skinning transfer process, you must enable the `Class.WrapLayer.AutoSkin|AutoSkin` property within the `Class.WrapLayer` instance of the layered `Class.Accessory` you want to automatically skin, then set it to one of the following values: -- `Disabled`: Disables the Automatic Skinning Transfer process. This is the default value. -- `EnabledOverride`: Enables the Automatic Skinning Transfer process, and allows it to override any existing skinning information found on the accessory at runtime. -- `EnabledPreserve`: Enables the Automatic Skinning Transfer process, but doesn't allow it to override any existing skinning information found on the accessory at runtime. If there isn't any skinning to maintain, the Automatic Skinning Transfer process automatically creates new skinning data. +- `Disabled`: Disables the automatic skinning transfer process. This is the default value. +- `EnabledOverride`: Enables the automatic skinning transfer process, and allows it to override any existing skinning information found on the accessory at runtime. +- `EnabledPreserve`: Enables the automatic skinning transfer process, but doesn't allow it to override any existing skinning information found on the accessory at runtime. If there isn't any skinning to maintain, the automatic skinning transfer process automatically creates new skinning data. -When there isn't any skinning data on the accessory, or if you choose to override any existing skinning data associated with the accessory, the Roblox Engine calculates skinning data from the character's geometry and cages, then the new skinning data and rig associated with the accessory drives the accessory's deformations and motions in sync with the source geometry itself. +When there isn't any skinning data on the accessory, or if you choose to override any existing skinning data associated with the accessory, the Roblox engine calculates skinning data from the character's geometry and cages, then the new skinning data and rig associated with the accessory drives the accessory's deformations and motions in sync with the source geometry itself. -## Best practices +## Best Practices -While Automatic Skinning Transfer often works better than manual skinning, there are some best practices to reduce unexpected behavior with the accessory skinning. Like all modeling processes, constantly test your layered clothing and facial accessories on different avatar types to achieve the results you want. +While automatic skinning often works better than manual skinning, there are some best practices to reduce unexpected behavior with the accessory skinning. Like all modeling processes, constantly test your layered clothing and facial accessories on different avatar types to achieve the results you want. -### Modify character cages +### Modifying Character Cages -You can modify character cages for the accessories to deform accurately to the expected character surfaces using the Automatic Skinning Transfer. For example, auto-skinning may cause layered clothing to deform based on an incorrect body part because the transfer process is based on the closest distance between the accessory and its inner cage. In the following instance, a beard accessory was modeled using a blocky-type full-body cage. This causes the beard to deform incorrectly because parts of the beard are closer to the character cage's upper chest instead of the chin: +You can modify character cages for the accessories to deform accurately to the expected character surfaces using the automatic skinning transfer. For example, auto-skinning may cause layered clothing to deform based on an incorrect body part because the transfer process is based on the closest distance between the accessory and its inner cage. In the following instance, a beard accessory was modeled using a blocky-type full-body cage. This causes the beard to deform incorrectly because parts of the beard are closer to the character cage's upper chest instead of the chin: @@ -45,7 +45,7 @@ To prevent a layered accessory from using skinning data from an undesired area o -It's important to note that you could also solve the previous example's deformation issue by using a different cage altogether. For example, if you use a more humanoid cage with more space between the chest and the chin, the beard is closest to the head instead of being near the chest or neck area, so the Automatic Skinning Transfer wouldn't transfer skinning data from those regions. +It's important to note that you could also solve the previous example's deformation issue by using a different cage altogether. For example, if you use a more humanoid cage with more space between the chest and the chin, the beard is closest to the head instead of being near the chest or neck area, so the automatic skinning transfer wouldn't transfer skinning data from those regions. @@ -57,10 +57,10 @@ By modifying different regions of the character's cage, you can ensure that your -During the asset creation process, it's important to verify what skinning solution works best for your design by testing your individual assets on multiple models and animations. You can always skin your assets manually and choose to use the Automatic Skinning Transfer later. +During the asset creation process, it's important to verify what skinning solution works best for your design by testing your individual assets on multiple models and animations. You can always skin your assets manually and choose to use the automatic skinning transfer later. -### Different accessory types +### Different Accessory Types Automatic skinning transfer may not work well for certain accessory types, such as eyelash, hat, and glasses-type accessories. For example, eyelash-type accessories might have issues due to the typical complexity of the character's geometry around the eye region, and hat or glasses-type accessories might introduce deformation in areas that should typically be rigid. In general, those types of accessories should remain rigid, and you shouldn't associate any skinning data with them. diff --git a/content/en-us/art/accessories/body-scale.md b/content/en-us/art/accessories/body-scale.md index c19232359..6523b5168 100644 --- a/content/en-us/art/accessories/body-scale.md +++ b/content/en-us/art/accessories/body-scale.md @@ -1,5 +1,5 @@ --- -title: Body scale and proportions +title: Body Scale and Proportions description: Avatars come in 3 different standard sizes, Classic, Rthro, Rthro Slender. --- @@ -30,7 +30,7 @@ Slender body scale.

Roughly 5.25-6.25 studs tall, with narrower sho -See the [accessory apecifications](../../art/accessories/specifications.md#body-scale) and the [body specifications](../../art/characters/specifications.md#body-scale) for specific range values and other geometry requirements. +See [Accessory Specifications](../../art/accessories/specifications.md#body-scale) and [Body Specifications](../../art/characters/specifications.md#body-scale) for specific range values and other geometry requirements. ## AvatarPartScaleType diff --git a/content/en-us/art/accessories/caging-best-practices.md b/content/en-us/art/accessories/caging-best-practices.md index e5c6b165e..aec5893e6 100644 --- a/content/en-us/art/accessories/caging-best-practices.md +++ b/content/en-us/art/accessories/caging-best-practices.md @@ -1,5 +1,5 @@ --- -title: Caging best practices +title: Caging Best Practices description: In-depth description and images of various caging best practices for layered clothing. --- diff --git a/content/en-us/art/accessories/classic-clothing.md b/content/en-us/art/accessories/classic-clothing.md index 6566f28f3..6ada73901 100644 --- a/content/en-us/art/accessories/classic-clothing.md +++ b/content/en-us/art/accessories/classic-clothing.md @@ -1,21 +1,21 @@ --- -title: Classic clothing +title: Classic Clothing description: Classic clothing are decals you can apply to a classic character model's surface. You can create classic clothing items on Roblox and upload them to the Marketplace. --- -Current user-generated avatars on the Marketplace do not support 2D classic clothing. For information on creating modern 3D cosmetics, including rigid accessories and clothing items, see [Get started](../../avatar/index.md). +Current user-generated avatars on the Marketplace do not support 2D classic clothing. For information on creating modern 3D cosmetics, including rigid accessories and clothing items, see [Getting Started](../../avatar/index.md). Classic clothing are a type of 2D cosmetic item that you can apply to the surface of a classic avatar character. You can [create](#creating) your own classic clothing items and sell them on the [Marketplace](https://www.roblox.com/catalog). This guide covers the process of creating a classic clothes asset using the following steps: -1. Designing an image for a [t-shirt](#t-shirts) or [shirts and pants](#shirts-and-pants) using a third-party image processing program. -2. [Testing](#test) the look of the classic clothes in Studio. -3. [Uploading](#upload) the image assets to the Marketplace. +1. Designing an image for a [T-shirt](#t-shirts) or [Shirts and Pants](#shirts-and-pants) using a third-party image processing program. +2. [Testing](#testing) the look of the classic clothes in Studio. +3. [Uploading](#uploading) the image assets to the Marketplace. -## Create +## Creating The three types of classic clothing items are **T-shirts**, **Shirts**, and **Pants**. Each has different design and format requirements. @@ -26,22 +26,22 @@ T-shirts are square images applied to the front of an avatar's torso. To make a 1. Create a square image (such as 512×512 pixels). 2. Use an image editor to apply changes in the specific square sections of the template images. 3. Upload it to Roblox using the [Asset Manager](../../projects/assets/manager.md) to test in your own experience. -4. Follow the [testing](#test) steps to ensure your 2D image looks as expected. -5. Follow the [uploading](#upload) steps to upload and sell your asset on the Marketplace. +4. Follow the [Testing](#testing) steps to ensure your 2D image looks as expected. +5. Follow the [Uploading](#uploading) steps to upload and sell your asset on the Marketplace. -### Shirts and pants +### Shirts and Pants Classic shirts and pants are image assets that wrap around an avatar's body. Because classic shirts and pants have specific size requirements, download and modify the provided template files to begin creating these assets.
-
Shirt (torso and arms)
+
Shirt (Torso and Arms)
-
Pants (torso and legs)
+
Pants (Torso and Legs)
@@ -54,8 +54,8 @@ Table of sizes for each template part - - + + @@ -106,7 +106,7 @@ When applying clothing to R15 avatars in Roblox, some limits exist with the temp -## Test +## Testing To ensure the best quality results, you can test your clothes before uploading or selling. You can test your clothes without needing to pay any fees. @@ -160,7 +160,7 @@ To ensure the best quality results, you can test your clothes before uploading o To make sure your clothing looks as good as possible on as many avatars as possible, make sure you test on a few different rig types. Some character rigs may not support classic clothing effectively. -## Upload +## Uploading After finalizing and testing your design, you can upload the clothing item to the [Marketplace](https://www.roblox.com/catalog) for a [fee](../../marketplace/marketplace-fees-and-commissions.md#classic-clothing). After Roblox reviews and uploads the item to the Marketplace, you will receive a [commission](../../marketplace/marketplace-fees-and-commissions.md#commissions) for all sales of your items. diff --git a/content/en-us/art/accessories/clothing-export-settings.md b/content/en-us/art/accessories/clothing-export-settings.md index 9e21f5463..52db54a21 100644 --- a/content/en-us/art/accessories/clothing-export-settings.md +++ b/content/en-us/art/accessories/clothing-export-settings.md @@ -1,5 +1,5 @@ --- -title: Layered clothing export settings +title: Layered Clothing Export Settings description: Use the appropriate export settings in Maya and Blender to generate Studio-ready .fbx files. --- diff --git a/content/en-us/art/accessories/clothing-specifications.md b/content/en-us/art/accessories/clothing-specifications.md index c5057d970..6705f5094 100644 --- a/content/en-us/art/accessories/clothing-specifications.md +++ b/content/en-us/art/accessories/clothing-specifications.md @@ -1,5 +1,5 @@ --- -title: Clothing specifications +title: Clothing Specifications description: Layered clothing specifications lists the specific technical requirements for the visible mesh, cages, and proper rigging and skinning data. --- @@ -158,7 +158,7 @@ See [Creating Layered Models](../../art/accessories/creating/index.md) for a bas ### Rigging and Skinning -Rigging and skinning a layered accessory allows the accessory to move naturally with a character body. You can perform this manually through a modeling tool, or [use Automatic Skinning Transfer transfer](../../art/accessories/automatic-skinning-transfer.md) to generate an accessory's skinning data at run time. +Rigging and skinning a layered accessory allows the accessory to move naturally with a character body. You can perform this manually through a modeling tool, or [use automatic skinning transfer](../../art/accessories/automatic-skinning-transfer.md) to generate an accessory's skinning data at run time. If using modeling software to skin your accessories, keep in mind that **Joint Influences** (Maya) or **Bone Assignments** (Blender) per vertex should be limited to **4**. diff --git a/content/en-us/art/accessories/creating-rigid/converting.md b/content/en-us/art/accessories/creating-rigid/converting.md index d2ab6db7c..fec84bd6c 100644 --- a/content/en-us/art/accessories/creating-rigid/converting.md +++ b/content/en-us/art/accessories/creating-rigid/converting.md @@ -1,5 +1,5 @@ --- -title: Use the accessory fitting tool +title: Using the Accessory Fitting Tool description: Use the Accessory Fitting tool to convert your model to an rigid accessory. next: /art/accessories/creating-rigid/publishing prev: /art/accessories/creating-rigid/importing @@ -24,7 +24,7 @@ To fit and generate your accessory: 5. After previewing and fitting your asset, select the **dropdown** next to **Generate** button to select **Generate Legacy Accessory**. The accessory object populates in your viewport and in the Explorer. - - For rigid accessories that you intend to sell on the Marketplace you must use the [generate legacy accessory](../accessory-fitting-tool.md#generate-legacy-accessory) option when creating your Marketplace accessories. + - For rigid accessories that you intend to sell on the Marketplace you must use the [Generate Legacy Accessory](../accessory-fitting-tool.md#generate-legacy-accessory) option when creating your Marketplace accessories. A dropdown appears above the GenerateMeshPartAccessory when expanded, displaying a Generate Legacy Accessory option. diff --git a/content/en-us/art/accessories/creating-rigid/exporting.md b/content/en-us/art/accessories/creating-rigid/exporting.md index 12812cf0b..029491836 100644 --- a/content/en-us/art/accessories/creating-rigid/exporting.md +++ b/content/en-us/art/accessories/creating-rigid/exporting.md @@ -1,5 +1,5 @@ --- -title: Export from Blender +title: Exporting description: Use Blender's .fbx exporter with the correct settings to create a Studio-ready asset. prev: /art/accessories/creating-rigid/texturing next: /art/accessories/creating-rigid/importing @@ -7,7 +7,7 @@ next: /art/accessories/creating-rigid/importing -After modeling and texturing your asset, you can begin the process of **exporting** your Blender project as a `.fbx` or `.gltf`. For up-to-date settings, see [Export settings](../../modeling/export-requirements.md). +After modeling and texturing your asset, you can begin the process of **exporting** your Blender project as a `.fbx` or `.gltf`. For up-to-date settings, see [Export Settings](../../modeling/export-requirements.md). If you are creating your own accessory object, it's important to clean up your project, which can involve deleting or removing any extra objects, such as lights, cameras, or mannequins, to ensure you only export the accessory mesh, and applying any modifiers to your mesh object. diff --git a/content/en-us/art/accessories/creating-rigid/importing.md b/content/en-us/art/accessories/creating-rigid/importing.md index 86f7c05c4..a4a810aaf 100644 --- a/content/en-us/art/accessories/creating-rigid/importing.md +++ b/content/en-us/art/accessories/creating-rigid/importing.md @@ -1,5 +1,5 @@ --- -title: Use Studio's 3D Importer +title: Using Studio's 3D Importer description: Use Studio's 3D importer to import a third-party 3D model into Studio. next: /art/accessories/creating-rigid/converting prev: /art/accessories/creating-rigid/exporting @@ -21,7 +21,7 @@ To import your asset ([downloadable reference](../../../assets/art/accessories/c 2. If textures were not imported correctly, follow the instructions below to add the file manually. -Add textures manually +Adding textures manually If textures didn't load correctly, add them manually with the Asset Manager. diff --git a/content/en-us/art/accessories/creating-rigid/index.md b/content/en-us/art/accessories/creating-rigid/index.md index 4f1e0719a..7cc2a780a 100644 --- a/content/en-us/art/accessories/creating-rigid/index.md +++ b/content/en-us/art/accessories/creating-rigid/index.md @@ -1,5 +1,5 @@ --- -title: Rigid accessory creation +title: Rigid Accessory Creation description: This tutorial covers the basic steps required to publish a custom asset on the Marketplace. next: /art/accessories/creating-rigid/modeling-setup --- @@ -14,7 +14,7 @@ Unlike clothing or bodies, rigid accessories do not require additional configura This tutorial covers the basics of each step in the workflow to create your own simple 3D model in Blender and import it into Studio. From there, you can upload the accessory to the Marketplace to sell, save the asset to your toolbox, or use the asset in your experiences. -Creating, building, and sharing on Roblox is free. However, the last step of listing your item to sell requires a Premium Roblox account, an upload fee, and a publishing advance. For more information, see the [Marketplace policy](../../../marketplace/marketplace-policy.md#creator-requirements). +Creating, building, and sharing on Roblox is free. However, the last step of listing your item to sell requires a Premium Roblox account, an upload fee, and a publishing advance. For more information, see [Marketplace Policy](../../../marketplace/marketplace-policy.md#creator-requirements). diff --git a/content/en-us/art/accessories/creating-rigid/modeling-setup.md b/content/en-us/art/accessories/creating-rigid/modeling-setup.md index 50898a26e..255f89326 100644 --- a/content/en-us/art/accessories/creating-rigid/modeling-setup.md +++ b/content/en-us/art/accessories/creating-rigid/modeling-setup.md @@ -1,5 +1,5 @@ --- -title: Box modeling +title: Box Modeling description: Create your basic rigid accessory model in Blender. next: /art/accessories/creating-rigid/texturing prev: /art/accessories/creating-rigid/ @@ -15,7 +15,7 @@ The following instructions are based off of the [Box Modeling 101 staff article] Whether you are using an existing shape or creating your own 3D object, it's important to consider [technical requirements](../../../art/accessories/specifications.md), such as keeping your geometry within a polycount budget, and [policy requirements](../../../marketplace/marketplace-policy.md), such as ensuring your design does not infringe on other creator's IP both within and outside of the Roblox ecosystem. -## General shape +## General Shape @@ -30,7 +30,7 @@ In a new Blender file, delete everything except the starter cube, then create th 5. Select the top face of the box and press E to extrude. 6. Drag your mouse to extrude the lid. Extend the lid to about half the height of the main body. -## Rounded lid +## Rounded Lid Create the rounded lid shape using segmentation: @@ -40,7 +40,7 @@ Create the rounded lid shape using segmentation: 3. With both lines selected, press Ctrl/Cmd+B to Bevel. 4. In the context menu at the bottom right, set the number of segments to `6` and enable **Clamp Overlap**. -### Merge vertices +### Merge Vertices Sometimes tools like the Bevel tool may move vertices very close to each other without merging them. Use the Merge Vertices function to ensure that your object shares vertices wherever possible. @@ -49,7 +49,7 @@ Sometimes tools like the Bevel tool may move vertices very close to each other w 3. Right-click and select **Merge Vertices by Distance**. 4. In the pop-up modal, set the distance to `.01`. -## Side insets +## Side Insets @@ -62,11 +62,11 @@ Create the left and right insets of your chest: 4. With your new insets selected, right-click and select **Extrude Along Normals**. 5. Use the mouse to drag and adjust the distance of extrusion into the chest. -## Front insets +## Front Insets Create the front and back insets of your chest by creating new lines and then extruding your faces between those lines. -### Vertical loop cuts +### Vertical Loop Cuts @@ -80,7 +80,7 @@ To create your vertical loop cuts: 6. With the new lines selected, press S to scale and Y to scale within the y-axis. 7. Use the mouse to drag the lines until they nearly reach the edges of your chest. Click to confirm. -### Horizontal loop cuts +### Horizontal Loop Cuts @@ -107,13 +107,13 @@ Create the extrusions for the front, top, and back of the chest. 3. With the faces selected, hold Shift and click on the metal borders to deselect them. The front and back faces, and the top segmentations, should remain selected. 4. Right click and select **Extrude Faces Along Normals**. Drag the mouse to extrude the faces about the same width as the metal borders. -## Complete border +## Complete Border The chest is almost ready, but is still missing the continuous metal border across the top edge. Remove the existing faces and add new geometry to the treasure chest. -### Delete faces +### Delete Faces Delete the faces of the top side metal borders: @@ -122,7 +122,7 @@ Delete the faces of the top side metal borders: 3. Press X to delete. 4. Repeat steps 2-3 on the other side. -### Add faces +### Add Faces Add new faces to the sides that complete the geometry of the treasure chest box. diff --git a/content/en-us/art/accessories/creating-rigid/publishing.md b/content/en-us/art/accessories/creating-rigid/publishing.md index e35208a85..38459e133 100644 --- a/content/en-us/art/accessories/creating-rigid/publishing.md +++ b/content/en-us/art/accessories/creating-rigid/publishing.md @@ -1,5 +1,5 @@ --- -title: Upload and publish +title: Upload and Publish description: Before selling your accessory, upload the accessory for validation and moderation. prev: /art/accessories/creating-rigid/converting --- @@ -7,7 +7,7 @@ prev: /art/accessories/creating-rigid/converting After generating your `Class.Accessory` item, you can now begin the process of **publishing** the asset to the Marketplace. This step is optional and only applicable for creators who intend to sell their asset. -Users must meet [creator requirements](../../../marketplace/marketplace-policy.md#creator-requirements) to be eligible to sell assets on the Marketplace. Creators must also provide an upload fee and a payment advance during the upload and publishing process. +Users must meet [Creator Requirements](../../../marketplace/marketplace-policy.md#creator-requirements) to be eligible to sell assets on the Marketplace. Creators must also provide an upload fee and a payment advance during the upload and publishing process. Adding your asset to the Marketplace involves 2 steps: @@ -17,7 +17,7 @@ Adding your asset to the Marketplace involves 2 steps: -## Upload +## Uploading To upload your accessory: @@ -30,13 +30,13 @@ To upload your accessory: 1. **Title**: The name of your accessory. 2. **Description**: A short description of your asset. - 3. **Asset Category**: The type of accessory. This should match the Accessory Type selected during the [fitting and conversion](../../../art/accessories/creating-rigid/converting.md) process. + 3. **Asset Category**: The type of accessory. This should match the Accessory Type selected during the [Fitting and Conversion](../../../art/accessories/creating-rigid/converting.md) process. 4. **Creator**: Use the dropdown to select if you'd like to publish this asset as an individual or as part of an associated group. 4. After you select the **Asset Category**, Studio begins validating the asset to ensure that it matches Roblox's accessory technical requirements. -5. If the validation is successful, you can submit the asset to the upload and moderation queue for a fee. See [Fees and commissions](../../../marketplace/marketplace-fees-and-commissions.md) for current fee information. +5. If the validation is successful, you can submit the asset to the upload and moderation queue for a fee. See [Fees and Commissions](../../../marketplace/marketplace-fees-and-commissions.md) for current fee information. -## Publish +## Publishing After uploading your accessory, the asset is added to the moderation queue and may take up to 24 hours to clear. diff --git a/content/en-us/art/accessories/creating-rigid/texturing.md b/content/en-us/art/accessories/creating-rigid/texturing.md index 016220dc9..6fc903159 100644 --- a/content/en-us/art/accessories/creating-rigid/texturing.md +++ b/content/en-us/art/accessories/creating-rigid/texturing.md @@ -1,5 +1,5 @@ --- -title: Texture painting +title: Texture Painting description: Covers the process of associating PBR textures to rigid accessories in Blender. prev: /art/accessories/creating-rigid/modeling-setup next: /art/accessories/creating-rigid/exporting @@ -15,7 +15,7 @@ This tutorial covers basic texture painting in Blender. Common workflows in the While PBR textures are not required for accessories and is not covered in this tutorial, adding PBR textures can add extra visual flair and realism to elevate your creations. This typically requires additional software.

For more information, see [PBR textures](../../modeling/surface-appearance.md). -## UV projecting +## UV Projecting @@ -25,7 +25,7 @@ Use Blender's automatic UV Project feature to "unwrap" your 3D object onto a 2D 2. In the top UV menu, select **Smart UV Project**. 3. Set Island Margin to `.02`. -## Add new material +## Adding New Material @@ -39,7 +39,7 @@ Add a new material for Blender to associate this new texture, and assign it to a 1. Name the texture image file. Using an affix like "\_TXT" can help organize your files later. 2. Select the color and pick a color. This tutorial recommends using a metallic color for your metal borders to save time. -## Texture painting +## Texture Painting Texture painting allows you to paint directly on the 3D object or the 2D mapping of the surface. @@ -49,7 +49,7 @@ Since Blender automatically mapped the 2D atlas of the texture, it's not easy to There are many ways to texture within Blender. To keep this process simple, the tutorial used Blender's [Smart UV Project](https://docs.blender.org/manual/en/2.79/editors/uv_image/uv/editing/unwrapping/mapping_types.html), but there are many ways to manually create your 2D texture islands and organize your mesh and texture. -### Mark 3D object +### Marking 3D Object @@ -62,7 +62,7 @@ Switch to Texture Paint mode and use the paintbrush to track the "wood" parts of 1. Use Ctrl/Cmd+Z to undo any accidental brushes on the metal border. 2. Hold F and drag the mouse to adjust brush size. -### Paint 2D map +### Painting 2D Map diff --git a/content/en-us/art/accessories/creating/armature-setup.md b/content/en-us/art/accessories/creating/armature-setup.md index 7ddd4cc3d..10a9368e3 100644 --- a/content/en-us/art/accessories/creating/armature-setup.md +++ b/content/en-us/art/accessories/creating/armature-setup.md @@ -1,11 +1,11 @@ --- -title: Armature setup +title: Armature Setup description: Transfer and parent an armature template to your custom clothing Blender project. -next: /art/accessories/creating/test-poses +next: /art/accessories/creating/testing-poses prev: /art/accessories/creating/texture-painting --- -**Rigging** is the process that enables the clothing object to move and deform with a Roblox character's R15 rig. In this tutorial, you'll parent the clothing item to Roblox's provided R15 armature and verify the Automatic Skinning Transfer data. After rigging, be sure to test out some basic poses to ensure that your clothes move and stretch correctly with any character body. +**Rigging** is the process that enables the clothing object to move and deform with a Roblox character's R15 rig. In this tutorial, you'll parent the clothing item to Roblox's provided R15 armature and verify the automatic skinning data. After rigging, be sure to test out some basic poses to ensure that your clothes move and stretch correctly with any character body.
@@ -24,7 +24,7 @@ The rigging process requires the following: 2. Parent the rig with Blender's automatic weights. 3. Test poses. -## Transfer armature +## Transferring Armature Roblox provides an R15 base armature that you can import into your own project. While it is possible to create your own R15 armature rig, importing a premade rig saves you time and reduces the potential for error. @@ -50,7 +50,7 @@ To import the R15 character armature into your file: -## Parent armature +## Parenting Armature With the armature rig in place, you can use Blender's **Parent with Automatic Weights** functionality to quickly set your clothing mesh as a child of the armature. This feature also applies vertex weighting, or **skinning**, automatically to your mesh, which can save you significant time over skinning your clothing manually. diff --git a/content/en-us/art/accessories/creating/caging-setup.md b/content/en-us/art/accessories/creating/caging-setup.md index 307c0ff36..a42b381f5 100644 --- a/content/en-us/art/accessories/creating/caging-setup.md +++ b/content/en-us/art/accessories/creating/caging-setup.md @@ -1,7 +1,7 @@ --- -title: Caging setup +title: Caging Setup description: Isolate your outer cage meshes and hide extra objects before modifying your clothing cage. -next: /art/accessories/creating/modify-cage +next: /art/accessories/creating/modifying-cage prev: /art/accessories/creating/testing-poses --- diff --git a/content/en-us/art/accessories/creating/converting.md b/content/en-us/art/accessories/creating/converting.md index d04bb2e44..df3ff3ea6 100644 --- a/content/en-us/art/accessories/creating/converting.md +++ b/content/en-us/art/accessories/creating/converting.md @@ -1,5 +1,5 @@ --- -title: Convert +title: Converting description: Use the Accessory Fitting tool to convert a Model object to an Accessory. prev: /art/accessories/creating/importing --- @@ -10,7 +10,7 @@ To generate the accessory object: 1. In the Avatar tab, select the **Accessory Fitting Tool**. The Accessory Fitting Tool panel displays on the left side of the workspace. 2. Select the `Class.Model` of the clothing item in the viewport. The tool's text field populates with the name of the object selected. Alternatively, you can select the object within the Explorer window. -3. Test out various sample characters, clothing, and animations. See [Test accessories](../../../art/accessories/accessory-fitting-tool.md#test-accessories) for additional information. +3. Test out various sample characters, clothing, and animations. See [Testing Accessories](../../../art/accessories/accessory-fitting-tool.md#testing-accessories) for additional information. - If required, make minor cage adjustments using the editing features. Larger cage changes may require returning to your third-party modeling software and re-exporting the asset. 4. When ready to generate your accessory, click **Generate MeshPart Accessory**. The Accessory object with your model populates in your workspace. For additional information and documentation on the tool, see [Accessory Fitting Tool](../../../art/accessories/accessory-fitting-tool.md). @@ -31,6 +31,6 @@ Congratulations, you've completed your clothing tutorial. With this accessory, y - Equip the accessory on an avatar-ready character by drag and dropping the accessory on an existing model, or using [HumanoidDescription](../../../characters/appearance.md#humanoiddescription). - Save the accessory as an [avatar asset](../../../projects/assets/index.md#for-avatars) for use in an experience later. -- If you meet certain account requirements, you can [upload your asset](../../../marketplace/publish-to-marketplace.md) for moderation and start selling it on the Marketplace. +- If you meet certain account requirements, you can [upload your asset](../../../marketplace/publishing-to-marketplace.md) for moderation and start selling it on the Marketplace. diff --git a/content/en-us/art/accessories/creating/exporting.md b/content/en-us/art/accessories/creating/exporting.md index e5a1a3be2..ac53145f2 100644 --- a/content/en-us/art/accessories/creating/exporting.md +++ b/content/en-us/art/accessories/creating/exporting.md @@ -1,7 +1,7 @@ --- -title: Export +title: Exporting description: Use Blender's FBX export with specific settings when exporting a clothing asset. -prev: /art/accessories/creating/modify-cage +prev: /art/accessories/creating/modifying-cage next: /art/accessories/creating/importing --- diff --git a/content/en-us/art/accessories/creating/importing.md b/content/en-us/art/accessories/creating/importing.md index d80043986..4a47e3e45 100644 --- a/content/en-us/art/accessories/creating/importing.md +++ b/content/en-us/art/accessories/creating/importing.md @@ -1,5 +1,5 @@ --- -title: Import +title: Importing description: Use the 3D Importer to import your custom accessory into Studio. prev: /art/accessories/creating/exporting next: /art/accessories/creating/converting diff --git a/content/en-us/art/accessories/creating/index.md b/content/en-us/art/accessories/creating/index.md index f26348019..ac8b6a2ff 100644 --- a/content/en-us/art/accessories/creating/index.md +++ b/content/en-us/art/accessories/creating/index.md @@ -1,5 +1,5 @@ --- -title: Basic clothing creation +title: Basic Clothing Creation description: This tutorial covers the basic steps required in Blender to Studio-ready clothing assets from scratch. next: /art/accessories/creating/modeling-setup --- diff --git a/content/en-us/art/accessories/creating/modeling-setup.md b/content/en-us/art/accessories/creating/modeling-setup.md index 190beb88c..6ea54abdc 100644 --- a/content/en-us/art/accessories/creating/modeling-setup.md +++ b/content/en-us/art/accessories/creating/modeling-setup.md @@ -1,5 +1,5 @@ --- -title: Modeling setup +title: Modeling Setup description: Setup your Blender environment with the correct files and templates to model efficiently. next: /art/accessories/creating/trimming prev: /art/accessories/creating/ @@ -28,7 +28,7 @@ This modeling tutorial covers the following processes: 6. Sculpting fabric and other details onto the mesh object. 7. Closing the holes in your mesh, making it watertight. -## Set up mesh +## Setting Up Mesh To get your project started, download and open Roblox's [Clothing_Cage.blend](../../../assets/modeling/meshes/reference-files/Clothing_Cage_Templates.zip) project and begin setting up your basic project objects. @@ -56,7 +56,7 @@ To set up your project and your initial mesh object: -## Clear extra attributes +## Clearing Extra Attributes The cage mesh objects in the template include some helper vertex color properties that need to be removed from your clothing mesh. If left in, the vertex colors may clash with the texture of the object after importing in Studio. diff --git a/content/en-us/art/accessories/creating/modify-cage.md b/content/en-us/art/accessories/creating/modifying-cage.md similarity index 98% rename from content/en-us/art/accessories/creating/modify-cage.md rename to content/en-us/art/accessories/creating/modifying-cage.md index b7531515f..3ee708152 100644 --- a/content/en-us/art/accessories/creating/modify-cage.md +++ b/content/en-us/art/accessories/creating/modifying-cage.md @@ -1,5 +1,5 @@ --- -title: Modify outer cage +title: Modifying Outer Cage description: Modify the outer cage to fit tightly over your clothing item. next: /art/accessories/creating/exporting prev: /art/accessories/creating/caging-setup diff --git a/content/en-us/art/accessories/creating/sculpting.md b/content/en-us/art/accessories/creating/sculpting.md index 888d9c222..f6a3c39a5 100644 --- a/content/en-us/art/accessories/creating/sculpting.md +++ b/content/en-us/art/accessories/creating/sculpting.md @@ -1,5 +1,5 @@ --- -title: Sculpt detail +title: Sculpting Detail description: Use Blender's sculpting and simulation tools to add detail to your clothing shape. next: /art/accessories/creating/watertight prev: /art/accessories/creating/trimming diff --git a/content/en-us/art/accessories/creating/test-poses.md b/content/en-us/art/accessories/creating/testing-poses.md similarity index 92% rename from content/en-us/art/accessories/creating/test-poses.md rename to content/en-us/art/accessories/creating/testing-poses.md index ae111e540..a516a31aa 100644 --- a/content/en-us/art/accessories/creating/test-poses.md +++ b/content/en-us/art/accessories/creating/testing-poses.md @@ -1,5 +1,5 @@ --- -title: Test poses +title: Testing Poses description: Test your poses after rigging a clothing item to ensure the clothes bend and deform correctly. next: /art/accessories/creating/caging-setup prev: /art/accessories/creating/armature-setup @@ -12,8 +12,8 @@ If you see issues with the deformation of your clothing, you may need to correct This tutorial doesn't cover the process of weight-painting. For additional resources on manually weight painting and instructions on updating skinning data on meshes, see the following resources: -- [Skin a simple mesh](../../modeling/skinning-a-simple-mesh.md) -- [Skin a humanoid mesh](../../modeling/skinning-a-humanoid-model.md) +- [Skinning a Simple Mesh](../../modeling/skinning-a-simple-mesh.md) +- [Skinning a Humanoid Mesh](../../modeling/skinning-a-humanoid-model.md) diff --git a/content/en-us/art/accessories/creating/texture-map.md b/content/en-us/art/accessories/creating/texture-map.md index 971812c71..e6257b1e5 100644 --- a/content/en-us/art/accessories/creating/texture-map.md +++ b/content/en-us/art/accessories/creating/texture-map.md @@ -1,5 +1,5 @@ --- -title: Create texture map +title: Creating Texture Map description: Generate a 2D texture map image that you can save your texture painting to. prev: /art/accessories/creating/unwrapping next: /art/accessories/creating/texture-painting diff --git a/content/en-us/art/accessories/creating/texture-painting.md b/content/en-us/art/accessories/creating/texture-painting.md index e035f7dc9..c25bbafeb 100644 --- a/content/en-us/art/accessories/creating/texture-painting.md +++ b/content/en-us/art/accessories/creating/texture-painting.md @@ -1,5 +1,5 @@ --- -title: Texture painting +title: Texture Painting description: Use Blender's Texture Painting tools to apply a surface appearance to your clothing item. prev: /art/accessories/creating/texture-map next: /art/accessories/creating/armature-setup diff --git a/content/en-us/art/accessories/creating/trimming.md b/content/en-us/art/accessories/creating/trimming.md index f305d77af..7be31d55c 100644 --- a/content/en-us/art/accessories/creating/trimming.md +++ b/content/en-us/art/accessories/creating/trimming.md @@ -1,5 +1,5 @@ --- -title: Trim clothing shape +title: Trimming Clothing Shape description: Create the general shape of your clothing item by removing unnecessary sections of your duplicated mesh. next: /art/accessories/creating/sculpting prev: /art/accessories/creating/modeling-setup @@ -12,7 +12,7 @@ With a clean mesh object to work with, cut the basic shape of the type of clothi
Long-sleeve trimming of the full-body mesh.
-## Trim clothing shape +## Trimming Clothing Shape Create the general shape of your clothing type by trimming sections of your duplicated mannequin mesh. @@ -27,7 +27,7 @@ To trim your clothing shape: -## Add and smooth vertices +## Add and Smooth Vertices With the basic shape created, subdivide the surface of your clothing mesh to add vertices and smooth out the mesh. This process removes the grid-like surface and allows you to apply more complex sculpting detail later. @@ -51,7 +51,7 @@ To add and smooth your vertices: -## Scale and position +## Scaling and Positioning With your base clothing shape created, the next steps are to scale out the mesh and reposition it on top of the mannequin. diff --git a/content/en-us/art/accessories/creating/unwrapping.md b/content/en-us/art/accessories/creating/unwrapping.md index 6681699ae..49712c72b 100644 --- a/content/en-us/art/accessories/creating/unwrapping.md +++ b/content/en-us/art/accessories/creating/unwrapping.md @@ -1,5 +1,5 @@ --- -title: Create seams and unwrap +title: Creating Seams and Unwrapping description: Use Blender's seams and unwrapping functionality to project your 3D surface on a 2D texture plane. prev: /art/accessories/creating/watertight next: /art/accessories/creating/texture-map @@ -8,7 +8,7 @@ next: /art/accessories/creating/texture-map **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. In this tutorial, apply a complete color to your shirt and add a smaller design using Blender's Texture Paint mode. -This tutorial does not cover [PBR textures](../../modeling/surface-appearance.md), which are advanced textures that can replicate real-world texture properties, like reflectivity and surface roughness, and are recommended to give your clothing items an extra dimension of creativity and visual pop. PBR textures often require a third-party application such as Substance Painter. +This tutorial does not cover [PBR Textures](../../modeling/surface-appearance.md), which are advanced textures that can replicate real-world texture properties, like reflectivity and surface roughness, and are recommended to give your clothing items an extra dimension of creativity and visual pop. PBR textures often require a third-party application such as Substance Painter. @@ -29,7 +29,7 @@ The texturing process requires the following steps: 3. Create a new texture image to save as your 2D map. 4. Paint a custom texture using Blender's Texture Paint tools. -## Create seams +## Creating Seams To begin texturing, you must first generate a **UV map**, or 2D projection, of the surface of your mesh. To set up this UV map, you tell Blender which edges of your mesh to use as seams when creating the projection. @@ -42,7 +42,7 @@ To create seams that naturally separate the front and back of the shirt: 5. **Repeat steps 3-4** to create a continuous seam across your mesh. -## UV unwrap +## UV Unwrapping After applying the seams, Blender now knows how to "unwrap" the mesh surface onto a 2D plane as a front and back surface. diff --git a/content/en-us/art/accessories/creating/watertight.md b/content/en-us/art/accessories/creating/watertight.md index 2181b6dcf..d9ae8d2cb 100644 --- a/content/en-us/art/accessories/creating/watertight.md +++ b/content/en-us/art/accessories/creating/watertight.md @@ -1,5 +1,5 @@ --- -title: Make mesh watertight +title: Making Mesh Watertight description: Seal off your geometry to ensure that there are no angles where the interior backfaces of your object are exposed. next: /art/accessories/creating/unwrapping prev: /art/accessories/creating/sculpting diff --git a/content/en-us/art/accessories/export-settings.md b/content/en-us/art/accessories/export-settings.md index a79b9f691..d4500c389 100644 --- a/content/en-us/art/accessories/export-settings.md +++ b/content/en-us/art/accessories/export-settings.md @@ -1,5 +1,5 @@ --- -title: Rigid accessory export settings +title: Rigid Accessory Export Settings description: Use the appropriate export settings in Maya and Blender to generate Studio-ready .fbx files. --- diff --git a/content/en-us/art/accessories/from-existing.md b/content/en-us/art/accessories/from-existing.md index 13c71b29d..6c9fafd87 100644 --- a/content/en-us/art/accessories/from-existing.md +++ b/content/en-us/art/accessories/from-existing.md @@ -1,11 +1,11 @@ --- -title: Accessories from an existing model +title: Accessories from an Existing Model description: This tutorial covers the basic steps required to publish a custom asset on the Marketplace. --- In many cases, you may want to convert a premade model from your modeling software into an accessory on Roblox. If you are looking to create your -accessory from scratch, see [Create accessories](./creating-rigid/index.md). +accessory from scratch, see [Creating Accessories](./creating-rigid/index.md). Using a provided 3D reference file, this tutorial covers each step in the workflow to properly configure and export a 3D model with PBR textures from Blender and generate your own rigid accessory in Studio. After you create the accessory, you can upload it to the Marketplace, save it to your toolbox, and use it in your own experiences. @@ -41,7 +41,7 @@ Using a provided reference 3D asset, this tutorial covers the following rigid ac While this content covers the Blender workflow with a provided reference example, you can apply the same concepts to other third-party modeling applications and custom assets. -## Modeling setup +## Modeling Setup Whether you are using an existing shape or creating your own 3D object, it's important to consider [technical requirements](../../art/accessories/specifications.md), such as keeping your geometry within a polycount budget, and [policy requirements](../../marketplace/marketplace-policy.md), such as ensuring your design does not infringe on other creator's IP both within and outside of the Roblox ecosystem. @@ -76,7 +76,7 @@ There are many tools and workflows to create your own unique asset. For addition **Texturing** is the process of applying a surface appearance to a 3D object. Blender provides various tools and features to create and connect your own texture maps to your asset, allowing you to preview your model's final appearance and link the texture images to your exported file. -The mask example asset uses [physically-based rendering (PBR) textures](../../art/modeling/surface-appearance.md), which are advanced textures that create realistic surfaces under different lighting environments. PBR textures use multiple image files, or **maps**, to represent the various surface properties of your 3D object. +The mask example asset uses [Physically-Based Rendering (PBR) textures](../../art/modeling/surface-appearance.md), which are advanced textures that create realistic surfaces under different lighting environments. PBR textures use multiple image files, or **maps**, to represent the various surface properties of your 3D object.
@@ -108,7 +108,7 @@ Metalness Map This tutorial doesn't cover the PBR texture creation process, which typically involves using third-party software such as ZBrush or Substance 3D Painter. Instead, this section goes over the process of bringing premade PBR image files into Blender and properly associating them to your asset on export. -While PBR textures are not required for accessories, adding PBR textures can add extra visual flair and realism to elevate your creations. For an example on using Blender to create a basic, non-PBR texture, see [Texture basic clothing](../../art/accessories/creating/unwrapping.md). +While PBR textures are not required for accessories, adding PBR textures can add extra visual flair and realism to elevate your creations. For an example on using Blender to create a basic, non-PBR texture, see [Texturing Basic Clothing](../../art/accessories/creating/unwrapping.md). To configure and link your PBR textures to your model: @@ -143,10 +143,10 @@ To configure and link your PBR textures to your model: You've completed the texturing section of this tutorial. If desired, download a [reference sample](../../assets/art/accessories/creating-rigid/Rigid_Mask_Texturing-Completed.blend) of this stage of the project for comparison. -If you are creating your own PBR textures, check out [Material references](../../art/modeling/material-reference.md) for various PBR material examples you can apply to your next accessory. +If you are creating your own PBR textures, check out [Material References](../../art/modeling/material-reference.md) for various PBR material examples you can apply to your next accessory. -## Clean up +## Clean Up After modeling and texturing your asset, you can begin the process of **exporting** your Blender project as a `.fbx`. The start of this process includes cleaning up your project, which can involve deleting or removing any extra objects, such as lights, cameras, or mannequin meshes, to ensure you only export the accessory mesh, and applying any modifiers to your mesh object. @@ -159,7 +159,7 @@ To freeze your transforms: -## Export +## Exporting After modeling and texturing your asset, you can begin the process of **exporting** your Blender project as a `.fbx`. The start of this process includes cleaning up your project, which can involve deleting or removing any extra objects, such as lights, cameras, or mannequins, to ensure you only export the accessory mesh, and applying any modifiers to your mesh object. @@ -190,7 +190,7 @@ To export your model as a `.fbx`: You've completed the exporting section of this tutorial. If desired, download a [reference sample](../../assets/art/accessories/creating-rigid/Rigid_Mask_Export.fbx) of this exported file for comparison. You can use this reference in the next importing step. -## Import +## Importing Studio's 3D Importer provides a quick and easy way to import third-party 3D assets into your projects. The importer provides object previews and error-checking to ensure that your asset meets Studio's general 3D requirements. @@ -231,7 +231,7 @@ To import your asset: After successful import, your model object should populate in your project as a `Class.Model` with the appropriate textures applied. See [3D Importer](../../art/modeling/3d-importer.md) for additional information on import settings and troubleshooting. -## Convert +## Converting After importing your asset into Studio, you can begin **fitting** your imported object to a mannequin and **converting** the `Class.Model` object into a `Class.Accessory`. When fitting and converting your accessory it's important to use the **Accessory Fitting Tool (AFT)** to correctly preview the placement and apply the correct configurations to your accessory. @@ -274,7 +274,7 @@ To fit and generate your accessory: After successful fitting and converting, your 3D model should populate in your project as a `Class.Accessory`. With this `Class.Accessory` you can perform any of the following: -- [Upload the accessory](../../art/accessories/creating-rigid/publishing.md) to the Marketplace. +- [Upload the accessory](../../art/accessories/creating-rigid/publishing.md) to the Marketplace.- [Upload the accessory](../../art/accessories/creating-rigid/publishing.md) to the Marketplace. - Use the accessory in your current experience by equipping it to character models with [HumanoidDescription](../../characters/appearance.md#humanoiddescription), or by dragging and dropping the accessory under the appropriate character `Class.Model` object. - Save the accessory to your [Toolbox](../../projects/assets/toolbox.md) to share or use within any of your experiences. @@ -301,18 +301,18 @@ If you intend to sell the asset on the Marketplace, use the following steps to b 1. **Title**: The name of your accessory. 2. **Description**: A short description of your asset. - 3. **Asset Category**: The type of accessory. This should match the Accessory Type selected during the [Fitting and conversion](../../art/accessories/creating-rigid/converting.md) process. + 3. **Asset Category**: The type of accessory. This should match the Accessory Type selected during the [Fitting and Conversion](../../art/accessories/creating-rigid/converting.md) process. 4. **Creator**: Use the dropdown to select if you'd like to publish this asset as an individual or as part of an associated group. 4. After you select the **Asset Category**, Studio begins validating the asset to ensure that it matches Roblox's accessory technical requirements. 1. If set up correctly, the window displays a green Validation Successful confirmation. - 2. If you see an error `Could not find a Part called Handle...`, you may have published your accessory as a MeshPart instead of a legacy accessory. See [Use the Accessory Fitting tool](#convert) step 6 for more information. + 2. If you see an error `Could not find a Part called Handle...`, you may have published your accessory as a MeshPart instead of a legacy accessory. See [Using the Accessory Fitting Tool](#converting) step 6 for more information. 3. If other errors appear, see the error messages for specific details. Some errors may require going back to the modeling software and adjusting the asset. -5. If the validation is successful, you can submit the asset to the upload and moderation queue for a fee. See [Fees and commissions](../../marketplace/marketplace-fees-and-commissions.md) for current fee information. +5. If the validation is successful, you can submit the asset to the upload and moderation queue for a fee. See [Fees and Commissions](../../marketplace/marketplace-fees-and-commissions.md) for current fee information. -## Publish +## Publishing After uploading your asset for moderation, you can check your asset's current moderation status on your [Creator Dashboard > Avatar Items](https://create.roblox.com/dashboard/creations). Moderation can take up to 24 hours during which a placeholder icon is used on the creation page. @@ -329,8 +329,8 @@ You now have your accessory added to the Marketplace catalog! Use the item's Mar See the following resources for additional Marketplace policy and related information: - [Marketplace policy](../../marketplace/marketplace-policy.md) -- [Fees and commissions](../../marketplace/marketplace-fees-and-commissions.md) -- [Intellectual property](../../marketplace/intellectual-property.md) +- [Fees and Commissions](../../marketplace/marketplace-fees-and-commissions.md) +- [Intellectual Property](../../marketplace/intellectual-property.md) - [Moderation](../../marketplace/moderation.md) diff --git a/content/en-us/art/accessories/import-clothing.md b/content/en-us/art/accessories/importing-clothing.md similarity index 87% rename from content/en-us/art/accessories/import-clothing.md rename to content/en-us/art/accessories/importing-clothing.md index a3d338ca3..657ec90d7 100644 --- a/content/en-us/art/accessories/import-clothing.md +++ b/content/en-us/art/accessories/importing-clothing.md @@ -1,19 +1,19 @@ --- -title: Import clothing accessories +title: Importing Clothing Accessories description: Use the 3D Importer to add third-party models to Studio before using the Accessory Fitting Tool to convert the model to an Accessory. --- -Use the following instructions to [import](#import-3d-assets) your `.fbx` or `.gltf` third-party model into Studio and [convert](#convert-layered-accessories) the asset to a clothing `Accessory` object that you can save to use in your experience, share with others, or upload to the Marketplace. +Use the following instructions to [import](#importing-3d-assets) your `.fbx` or `.gltf` third-party model into Studio and [convert](#converting-layered-accessories) the asset to a clothing `Accessory` object that you can save to use in your experience, share with others, or upload to the Marketplace. -The following asset example and instructions are part of the [Clothing accessory tutorial](../accessories/creating/index.md) which covers the process of converting a model from Blender to publishing the asset to the Marketplace. +The following asset example and instructions are part of the [Clothing Accessory Tutorial](../accessories/creating/index.md) which covers the process of converting a model from Blender to publishing the asset to the Marketplace. -## Import 3D assets +## Importing 3D Assets Studio's 3D Importer provides a quick and easy way to import third-party 3D assets into your projects. The importer provides object previews and error-checking to ensure that your asset meets Roblox's [general 3D requirements](../modeling/specifications.md). -Keep in mind, your 3D layered accessory must also follow Roblox's [clothing specifications](../accessories/clothing-specifications.md) to eventually use this asset as a layered `Class.Accessory`, or you may experience errors later in the workflow. +Keep in mind, your 3D layered accessory must also follow Roblox's [Clothing Specifications](../accessories/clothing-specifications.md) to eventually use this asset as a layered `Class.Accessory`, or you may experience errors later in the workflow. To import your asset: @@ -26,7 +26,7 @@ To import your asset: 3. Select **Import**. The asset populates in your workspace as a `Class.Model` with the appropriate textures applied as a `Class.SurfaceAppearance` or `Class.MeshPart.TextureID`. -Manually add textures +Manually adding textures If textures didn't load correctly, add them manually. You may need to save and publish your experience in order to access the [Asset Manager](../../projects/assets/manager.md). @@ -62,7 +62,7 @@ To import your asset: After successful import, your model object should populate in your project as a `Class.Model` with the appropriate textures applied. See [3D Importer](../../art/modeling/3d-importer.md) for additional information on import settings and troubleshooting. -## Convert layered accessories +## Converting Layered Accessories With the `Class.Model` in your project, the last step in the process of clothing creation requires you to use the Accessory Fitting Tool to convert this object to a standard `Class.Accessory` that avatar characters can equip. @@ -70,7 +70,7 @@ To generate the accessory object: 1. In the Avatar tab, select the [**Accessory Fitting Tool**](../accessories/accessory-fitting-tool.md). The Accessory Fitting Tool panel displays on the left side of the workspace. 2. Select the `Class.Model` of the clothing item in the viewport. The tool's text field populates with the name of the object selected. Alternatively, you can select the object within the Explorer window. -3. Test out various sample characters, clothing, and animations. See [Test accessories](../../art/accessories/accessory-fitting-tool.md#test-accessories) for additional information. +3. Test out various sample characters, clothing, and animations. See [Testing Accessories](../../art/accessories/accessory-fitting-tool.md#testing-accessories) for additional information. - If required, make minor cage adjustments using the editing features. Larger cage changes may require returning to your third-party modeling software and re-exporting the asset. 4. When ready to generate your accessory, click **Generate MeshPart Accessory**. The Accessory object with your model populates in your workspace. For additional information and documentation on the tool, see [Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md). @@ -88,7 +88,7 @@ To generate the accessory object: After successful fitting and converting, your 3D model should populate in your project as an `Class.Accessory`. With this `Class.Accessory` you can perform any of the following: -- Begin the process of [uploading and publishing](../../marketplace/publish-to-marketplace.md#upload-an-asset) the clothing accessory to the Marketplace. +- Begin the process of [uploading and publishing](../../marketplace/publishing-to-marketplace.md#uploading-an-asset) the clothing accessory to the Marketplace. - Use the accessory in your current experience by equipping it to character models with [HumanoidDescription](../../characters/appearance.md#humanoiddescription), or by dragging and dropping the accessory under the appropriate character `Class.Model` object. diff --git a/content/en-us/art/accessories/importing.md b/content/en-us/art/accessories/importing.md index fea10a7d6..e9accda56 100644 --- a/content/en-us/art/accessories/importing.md +++ b/content/en-us/art/accessories/importing.md @@ -1,19 +1,19 @@ --- -title: Import rigid accessories +title: Importing Rigid Accessories description: Use the 3D Importer to add third-party models to Studio before using the Accessory Fitting Tool to convert the model to an Accessory. --- -Use the following instructions to [import](#import-3d-assets) your `.fbx` or `.gltf` third-party model into Studio and [convert](#convert-rigid-accessories) the asset to an `Accessory` object that you can save to use in your experience, share with others, or upload to the Marketplace. +Use the following instructions to [import](#importing-3d-assets) your `.fbx` or `.gltf` third-party model into Studio and [convert](#converting-rigid-accessories) the asset to an `Accessory` object that you can save to use in your experience, share with others, or upload to the Marketplace. -The following asset example and instructions are part of the [Rigid accessory tutorial](../accessories/creating-rigid/index.md) which covers the process of converting a model from Blender to publishing the asset to the Marketplace. +The following asset example and instructions are part of the [Rigid Accessory Tutorial](../accessories/creating-rigid/index.md) which covers the process of converting a model from Blender to publishing the asset to the Marketplace. -## Import 3D assets +## Importing 3D Assets Studio's 3D Importer provides a quick and easy way to import third-party 3D assets into your projects. The importer provides object previews and error-checking to ensure that your asset meets Roblox's [general 3D requirements](../modeling/specifications.md). -Keep in mind, the model that you intend to create as a rigid accessory must also follow Roblox's [accessory specifications](../accessories/specifications.md) to eventually use this asset as an `Class.Accessory`, or you may experience errors later in the workflow. +Keep in mind, the model that you intend to create as a rigid accessory must also follow Roblox's [Accessory Specifications](../accessories/specifications.md) to eventually use this asset as an `Class.Accessory`, or you may experience errors later in the workflow. To import your asset: @@ -28,7 +28,7 @@ To import your asset: 3. Select **Import**. The asset populates in your workspace as a `Class.Model` with the appropriate textures applied as a `Class.SurfaceAppearance` or `Class.MeshPart.TextureID`. -Manually add textures +Manually adding textures If textures didn't load correctly, add them manually. You may need to save and publish your experience in order to access the [Asset Manager](../../projects/assets/manager.md). @@ -61,7 +61,7 @@ If textures didn't load correctly, add them manually. You may need to save and p After successful import, your model object should populate in your project as a `Class.Model` with the appropriate textures applied. See [3D Importer](../../art/modeling/3d-importer.md) for additional information on import settings and troubleshooting. -## Convert rigid accessories +## Converting Rigid Accessories After importing your asset into Studio, you can begin **fitting** your imported object to a mannequin and **converting** the `Class.Model` object into a `Class.Accessory`. When fitting and converting your accessory it's important to use the [**Accessory Fitting Tool (AFT)**](../accessories/accessory-fitting-tool.md) to correctly preview the placement and apply the correct configurations to your accessory. @@ -98,7 +98,7 @@ To fit and generate your accessory: After successful fitting and converting, your 3D model should populate in your project as an `Class.Accessory`. With this `Class.Accessory` you can perform any of the following: -- Begin the process of [uploading and publishing](../../marketplace/publish-to-marketplace.md#upload-an-asset) the accessory to the Marketplace. +- Begin the process of [uploading and publishing](../../marketplace/publishing-to-marketplace.md#uploading-an-asset) the accessory to the Marketplace. - Use the accessory in your current experience by equipping it to character models with [HumanoidDescription](../../characters/appearance.md#humanoiddescription), or by dragging and dropping the accessory under the appropriate character `Class.Model` object. diff --git a/content/en-us/art/accessories/index.md b/content/en-us/art/accessories/index.md index 901e63b7a..1500a93b6 100644 --- a/content/en-us/art/accessories/index.md +++ b/content/en-us/art/accessories/index.md @@ -1,5 +1,5 @@ --- -title: Rigid accessories +title: Rigid Accessories description: Rigid accessories are basic 3D cosmetics users can equip and wear on their avatar character. hideBreadcrumbs: true --- @@ -22,13 +22,13 @@ To create a custom Roblox accessory for your own experience or to sell on the Ma

-## Components of a rigid accessory +## Components of a Rigid Accessory All accessory models are made up of the same base components of a [mesh object](#mesh-part), [textures](#textures), and [attachment](#attachments). When [creating accessories](#creation-process), most of these components are created first in your modeling software, then converted to their appropriate Roblox Studio instance on import. -### Mesh part +### Mesh Part
Bow rigid accessory mesh object
@@ -64,10 +64,10 @@ In Studio, textures images are imported as image assets and are set to `Class.Me Attachment points define where accessories attach to a character's body. In Studio, attachments are represented by `Class.Attachment` objects. -## Creation process +## Creation Process Custom accessories are first created in 3D modeling programs, such as [Blender](https://www.blender.org/) or [Maya](https://www.autodesk.com/products/maya/overview), before importing the `.fbx` or `.gltf` model into Studio. -To get started creating your first avatar asset, see the [avatar tutorials](../../avatar/tutorials.md). +To get started creating your first avatar asset, see [Avatar Tutorials](../../avatar/tutorials.md). Depending on the type of asset you are creating, the creation process follows these high-level workflows: @@ -98,31 +98,31 @@ If you are interested in specific avatar creation topics, use the following tabl
- + - - + + - - + + - - + + - + - - + + - +
ShapePixel size (width x height)Clothing partsPixel Size (width x height)Clothing Parts
Tutorials[Rigid accessory creation](../../art/accessories/creating-rigid/index.md)

[Basic clothing creation](../../art/accessories/creating/index.md)
[Rigid Accessory Creation](../../art/accessories/creating-rigid/index.md)

[Basic Clothing Creation](../../art/accessories/creating/index.md)
Reference files[Accessory and clothing reference files](../../art/modeling/project-files.md)Reference Files[Accessory and Clothing Reference Files](../../art/modeling/project-files.md)
Technical specs[.FBX export settings](../../art/modeling/export-requirements.md)

[General mesh specifications](../../art/modeling/specifications.md)

[Accessory specifications](../../art/accessories/specifications.md)

[Marketplace policy](../../marketplace/marketplace-policy.md)
Technical Specs[.FBX Export Settings](../../art/modeling/export-requirements.md)

[General Mesh Specifications](../../art/modeling/specifications.md)

[Accessory Specifications](../../art/accessories/specifications.md)

[Marketplace Policy](../../marketplace/marketplace-policy.md)
Cosmetic creation[Accessories overview](../../art/accessories/specifications.md)

[Layered clothing overview](../../art/accessories/layered-clothing.md)


[Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md)

[Accessory specifications](../../art/accessories/specifications.md)

[Marketplace requirements](../../marketplace/marketplace-policy.md)
Cosmetic Creation[Accessories Overview](../../art/accessories/specifications.md)

[Layered Clothing Overview](../../art/accessories/layered-clothing.md)


[Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md)

[Accessory Specifications](../../art/accessories/specifications.md)

[Marketplace Requirements](../../marketplace/marketplace-policy.md)
Texturing[Texturing requirements](../../art/modeling/texture-specifications.md)

[PBR textures](../../art/modeling/surface-appearance.md)
[Texturing Requirements](../../art/modeling/texture-specifications.md)

[PBR Textures](../../art/modeling/surface-appearance.md)
Rigging and skinning[Rigging and skinning overview](../../art/modeling/rigging.md)

[Humanoid rig requirements](../../art/characters/specifications.md#rigging)

[Rig facial bones](../../art/characters/facial-animation/create-basic-heads.md#rigging)

[Automatic Skin Transfer](../../art/accessories/automatic-skinning-transfer.md)

[Skin facial bones](../../art/characters/facial-animation/create-basic-heads.md#skin-face-bones)
Rigging and Skinning[Rigging and Skinning Overview](../../art/modeling/rigging.md)

[Humanoid Rig Requirements](../../art/characters/specifications.md#rigging)

[Rigging Facial Bones](../../art/characters/facial-animation/creating-basic-heads.md#rigging)

[Auto Skin Transfer](../../art/accessories/automatic-skinning-transfer.md)

[Skinning Facial Bones](../../art/characters/facial-animation/creating-basic-heads.md#skinning-face-bones)
Publishing and Marketplace[Uploading to Marketplace](../../marketplace/publish-to-marketplace.md)

[Marketplace Policy](../../marketplace/marketplace-policy.md)

[Fees and commissions](../../marketplace/marketplace-fees-and-commissions.md)
[Uploading to Marketplace](../../marketplace/publishing-to-marketplace.md)

[Marketplace Policy](../../marketplace/marketplace-policy.md)

[Fees and Commissions](../../marketplace/marketplace-fees-and-commissions.md)
diff --git a/content/en-us/art/accessories/layered-clothing.md b/content/en-us/art/accessories/layered-clothing.md index 06a2247bd..fe751a9e3 100644 --- a/content/en-us/art/accessories/layered-clothing.md +++ b/content/en-us/art/accessories/layered-clothing.md @@ -1,5 +1,5 @@ --- -title: Layered clothing +title: Layered Clothing description: Layered clothing are cosmetic accessories that stretch, fit, and layer over any body type simulating real-life clothing. hideBreadcrumbs: true --- @@ -21,13 +21,13 @@ To create a custom Roblox accessory for your own experience or to sell on the Ma Roblox also supports [classic clothing](#classic-clothing), 2D images that can be applied to your character's surface. -## Components of a layered clothing accessory +## Components of a Layered Clothing Accessory All accessory models are made up of the same base components of a [mesh object](#mesh-part), [textures](#textures), and [attachment](#attachments). Layered clothing requires additional components, such as a [poseable rig](#rigging-armature), and an [inner and outer cage](#inner-and-outer-cages), to allow the asset to stretch, fit, and layer over a target character and existing clothing items. When [creating accessories](#creation-process), all of the components are created first in your modeling software, then converted to their appropriate Roblox Studio instance on import. -### Mesh part +### Mesh Part @@ -64,7 +64,7 @@ For layered clothing, the attachment point is used to associate with the correct Attachments for clothing items are automatically generated in Studio using the [Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md). -### Rigging armature +### Rigging Armature
To ensure natural movement of the clothing item, it must be weighted to a character rig
@@ -74,7 +74,7 @@ Attachments for clothing items are automatically generated in Studio using the [ A rigging armature defines how a layered asset can move with a character model. Using rigging and skinning techniques, you can set the areas of your clothes to move naturally with a character model's joints, such as ensuring a shirt sleeve correctly follows the movement of the elbow and shoulder. In Studio, this rigging and skinning data is saved to the mesh geometry. -### Inner and outer cages +### Inner and Outer Cages
The inner cage defines the inner surface of the clothing item where the clothes wrap over
@@ -84,7 +84,7 @@ A rigging armature defines how a layered asset can move with a character model. Cage meshes indicate the inner and outer surfaces of a layered accessory. The inside cage of a t-shirt defines how the t-shirt stretches and fits over a character body. The outer cage of a t-shirt defines how additional layered clothing fit over the t-shirt. In Studio, these cages are represented by `Class.WrapLayer` objects. -## Creation process +## Creation Process Custom accessories are first created in 3D modeling programs, such as [Blender](https://www.blender.org/) or [Maya](https://www.autodesk.com/products/maya/overview), before importing the `.fbx` or `.gltf` model into Studio. To get started creating your first avatar asset, see [Avatar Tutorials](../../avatar/tutorials.md). @@ -118,41 +118,41 @@ If you are interested in specific avatar creation topics, use the following tabl Tutorials - [Rigid accessory creation](../../art/accessories/creating-rigid/index.md)

[Basic clothing creation](../../art/accessories/creating/index.md) + [Rigid Accessory Creation](../../art/accessories/creating-rigid/index.md)

[Basic Clothing Creation](../../art/accessories/creating/index.md) - Reference files - [Accessory and clothing reference files](../../art/modeling/project-files.md) + Reference Files + [Accessory and Clothing Reference Files](../../art/modeling/project-files.md) - Technical specs - [.FBX export settings](../../art/modeling/export-requirements.md)

[General mesh specifications](../../art/modeling/specifications.md)

[Accessory specifications](../../art/accessories/specifications.md)

[Marketplace policy](../../marketplace/marketplace-policy.md) + Technical Specs + [.FBX Export Settings](../../art/modeling/export-requirements.md)

[General Mesh Specifications](../../art/modeling/specifications.md)

[Accessory Specifications](../../art/accessories/specifications.md)

[Marketplace Policy](../../marketplace/marketplace-policy.md) - Cosmetic creation - [Accessories overview](../../art/accessories/specifications.md)

[Layered clothing overview](../../art/accessories/index.md)

[Create face accessories](../../art/characters/facial-animation/create-face-accessories.md)

[Accessory fitting tool](../../art/accessories/accessory-fitting-tool.md)

[Accessory specifications](../../art/accessories/specifications.md)

[Marketplace requirements](../../marketplace/marketplace-policy.md) + Cosmetic Creation + [Accessories Overview](../../art/accessories/specifications.md)

[Layered Clothing Overview](../../art/accessories/index.md)

[Creating Face Accessories](../../art/characters/facial-animation/creating-face-accessories.md)

[Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md)

[Accessory Specifications](../../art/accessories/specifications.md)

[Marketplace Requirements](../../marketplace/marketplace-policy.md) Texturing - [Texturing requirements](../../art/modeling/texture-specifications.md)

[PBR textures](../../art/modeling/surface-appearance.md) + [Texturing Requirements](../../art/modeling/texture-specifications.md)

[PBR Textures](../../art/modeling/surface-appearance.md) - Rigging and skinning - [Rigging and skinning overview](../../art/modeling/rigging.md)

[Humanoid rigging requirements](../../art/characters/specifications.md#rigging)

[Rigging facial bones](../../art/characters/facial-animation/create-basic-heads.md#rigging)

[Auto skin transfer](../../art/accessories/automatic-skinning-transfer.md)

[Skin facial bones](../../art/characters/facial-animation/create-basic-heads.md#skin-face-bones) + Rigging and Skinning + [Rigging and Skinning Overview](../../art/modeling/rigging.md)

[Humanoid Rig Requirements](../../art/characters/specifications.md#rigging)

[Rigging Facial Bones](../../art/characters/facial-animation/creating-basic-heads.md#rigging)

[Auto Skin Transfer](../../art/accessories/automatic-skinning-transfer.md)

[Skinning Facial Bones](../../art/characters/facial-animation/creating-basic-heads.md#skinning-face-bones) - Testing and validation - [Calisthenics tool](../../art/modeling/calisthenics-tool.md)

[Clothing validation tool](../../art/accessories/validation-tool.md) + Testing and Validation + [Calisthenics Tool](../../art/modeling/calisthenics-tool.md)

[Clothing Validation Tool](../../art/accessories/validation-tool.md) Publishing and Marketplace - [Upload to Marketplace](../../marketplace/publish-to-marketplace.md)

[Marketplace policy](../../marketplace/marketplace-policy.md)

[Fees and commissions](../../marketplace/marketplace-fees-and-commissions.md) + [Uploading to Marketplace](../../marketplace/publishing-to-marketplace.md)

[Marketplace Policy](../../marketplace/marketplace-policy.md)

[Fees and Commissions](../../marketplace/marketplace-fees-and-commissions.md) -## Classic clothing +## Classic Clothing -Classic clothing assets are 2D images that you can apply to the surface of an avatar body as t-shirts, shirts, or pants. You can design these assets in any image processing software, test the textures in Studio, and then upload the designs to the Marketplace to sell. See [Classic clothing](../../art/accessories/classic-clothing.md) for more information on creating, uploading, and selling these assets. +Classic clothing assets are 2D images that you can apply to the surface of an avatar body as t-shirts, shirts, or pants. You can design these assets in any image processing software, test the textures in Studio, and then upload the designs to the Marketplace to sell. See [Classic Clothing](../../art/accessories/classic-clothing.md) for more information on creating, uploading, and selling these assets. diff --git a/content/en-us/art/accessories/project-files.md b/content/en-us/art/accessories/project-files.md index c907a9f26..680e76420 100644 --- a/content/en-us/art/accessories/project-files.md +++ b/content/en-us/art/accessories/project-files.md @@ -1,5 +1,5 @@ --- -title: Accessory project files and references +title: Accessory Project Files and References description: Download various accessory-related project files and reference files. --- @@ -10,7 +10,7 @@ See [Resources](../../avatar/resources.md) for a complete list of avatar-related The following `.fbx`, `.blend`, and `.ma` project files are available to use as templates or as reference: - + diff --git a/content/en-us/art/accessories/publish-eyebrows-eyelashes.md b/content/en-us/art/accessories/publishing-eyebrows-eyelashes.md similarity index 87% rename from content/en-us/art/accessories/publish-eyebrows-eyelashes.md rename to content/en-us/art/accessories/publishing-eyebrows-eyelashes.md index 188ae9294..4823a32ef 100644 --- a/content/en-us/art/accessories/publish-eyebrows-eyelashes.md +++ b/content/en-us/art/accessories/publishing-eyebrows-eyelashes.md @@ -1,5 +1,5 @@ --- -title: Publish bodies with eyelashes and eyebrows +title: Publishing Bodies with Eyelashes and Eyebrows description: Eyelashes and eyebrows are optional accessory items you can equip to an avatar to publish in the Marketplace. --- @@ -20,13 +20,13 @@ Eyelashes and eyebrows are cosmetics that can help emphasize facial features and -When publishing eyelashes and eyebrows, you must parent these `Class.Accessory` objects under the avatar character's `Class.Model` prior to uploading the character `Model` to the Marketplace. These `Accessory` face objects must adhere to Roblox's accessory requirements and include layered components such as caging, rigging, and skinning components. For an overview on creating your own eyelashes and eyebrows, see [Create face accessories](../../art/characters/facial-animation/create-face-accessories.md). +When publishing eyelashes and eyebrows, you must parent these `Class.Accessory` objects under the avatar character's `Class.Model` prior to uploading the character `Model` to the Marketplace. These `Accessory` face objects must adhere to Roblox's accessory requirements and include layered components such as caging, rigging, and skinning components. For an overview on creating your own eyelashes and eyebrows, see [Creating Face Accessories](../../art/characters/facial-animation/creating-face-accessories.md). -At this time, you can only bundle **eyelashes**, **eyebrows**, and **hair** with your body on Marketplace upload. Other facial accessories, such as horns, makeup, glitter, or other cosmetics are not acceptable. See [Marketplace policy](../../marketplace/marketplace-policy.md) for specific information on allowable cosmetics and other policy regulations and guidelines. +At this time, you can only bundle **eyelashes**, **eyebrows**, and **hair** with your body on Marketplace upload. Other facial accessories, such as horns, makeup, glitter, or other cosmetics are not acceptable. See [Marketplace Policy](../../marketplace/marketplace-policy.md) for specific information on allowable cosmetics and other policy regulations and guidelines. -## Configure eyelash and eyebrow accessories +## Configuring Eyelash and Eyebrow Accessories Use the following steps to import your face accessory and body assets into Studio. After converting the eyelashes and eyebrows to `Accessory` objects, parent the `Accessory` objects within the character `Model` before uploading the character to the Marketplace. @@ -39,7 +39,7 @@ You can download reference `.fbx` models of [eyelashes](../../assets/art/referen 3. Select the appropriate **Accessory** > **Eyelash** or **Accessory** > **Eyebrow** asset type and click **Next**. 4. (Optional) Preview the fit of your face accessory. - 1. If the face accessory was modeled on a specific character body, you may want to import that character body into Studio and use it as a mannequin in the Accessory fitting tool preview. See [Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md) for more information on adding custom characters. + 1. If the face accessory was modeled on a specific character body, you may want to import that character body into Studio and use it as a mannequin in the Accessory Fitting Tool preview. See [Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md) for more information on adding custom characters. 2. If using the provided reference body, you can continue to step 5. 5. Click **Generate MeshPart Accessory** to create your MeshPart. 6. **Repeat steps 2-5** for the other face accessory. @@ -58,4 +58,4 @@ You can download reference `.fbx` models of [eyelashes](../../assets/art/referen 8. If required, rename the accessory objects to `EyelashAccessory` or `EyebrowAccessory` accordingly. -9. Once you are ready to upload the avatar model with your face accessories, see [Upload an asset](../../marketplace/publish-to-marketplace.md#upload-an-asset) for instructions on uploading and publishing your avatar body with eyelashes and eyebrows to the Marketplace. +9. Once you are ready to upload the avatar model with your face accessories, follow [Uploading an Asset](../../marketplace/publishing-to-marketplace.md#uploading-an-asset) for instructions on uploading and publishing your avatar body with eyelashes and eyebrows to the Marketplace. diff --git a/content/en-us/art/accessories/rig-and-cage-existing-models.md b/content/en-us/art/accessories/rigging-and-caging-existing-models.md similarity index 89% rename from content/en-us/art/accessories/rig-and-cage-existing-models.md rename to content/en-us/art/accessories/rigging-and-caging-existing-models.md index 89167b125..a9336c5ea 100644 --- a/content/en-us/art/accessories/rig-and-cage-existing-models.md +++ b/content/en-us/art/accessories/rigging-and-caging-existing-models.md @@ -1,5 +1,5 @@ --- -title: Rigging and caging models (Blender) +title: Rigging and Caging Models (Blender) description: Convert a 3D model into a layered 3D model in Blender before importing and converting the model into Studio as an Accessory. --- @@ -7,12 +7,12 @@ You can use a third party modeling tool, such as [Blender](https://www.blender.o This guide covers the basic workflow for converting a 3D model into a layerable model in Blender using the following steps: -1. [**Importing**](#import) a 3D asset into a template Blender project file. -2. [**Parenting**](#parent-and-weight) the imported mesh object to the project file's armature rig with Blender's Automatic Weights feature. - 1. Manual skinning is not covered, see [Skin a simple mesh](../modeling/skin-a-simple-mesh.md) for an overview of manual skinning. -3. [**Editing**](#edit-inner-and-outer-cage-meshes) the Inner and Outer Cage meshes to represent the inner and outer surface of the model. +1. [**Importing**](#importing) a 3D asset into a template Blender project file. +2. [**Parenting**](#parenting-and-weighting) the imported mesh object to the project file's armature rig with Blender's Automatic Weights feature. + 1. Manual skinning is not covered, see [Skinning a Simple Mesh](../modeling/skinning-a-simple-mesh.md) for an overview of manual skinning. +3. [**Editing**](#editing-inner-and-outer-cage-meshes) the Inner and Outer Cage meshes to represent the inner and outer surface of the model. -A full list of asset requirements for a layered model can be found in [Layered model specifications](../../art/accessories/specifications.md). +A full list of asset requirements for a layered model can be found in [Layered Model Specifications](../../art/accessories/specifications.md). This guide uses Blender version 3.0. If you are @@ -20,7 +20,7 @@ using another version of Blender, there may be minor differences in UI and settings. -## Import +## Importing Set up the project by opening the [rig template project](../../assets/modeling/meshes/reference-files/Rig_and_Attachments_Templates.zip) and importing the [sample accessory model](../../assets/accessories/reference-files/Tshirt-model.fbx). @@ -43,12 +43,12 @@ To import and parent the accessory model: -## Parent and weight +## Parenting and Weighting For this basic accessory, parent the imported mesh to the template mannequin armature using Blender's [Automatic Weights](https://docs.blender.org/manual/en/latest/animation/armatures/skinning/parenting.html#with-automatic-weights) feature. Parenting the accessory model mesh to the armature in this way enables the 3D model to move and deform naturally with the character in Studio. -Complex clothing and accessory items with moving parts may require more precise skinning with Blender's Weight Painting or other skinning tools. See [Skin a simple mesh](../modeling/skin-a-simple-mesh.md) for an example of manual skinning. +Complex clothing and accessory items with moving parts may require more precise skinning with Blender's Weight Painting or other skinning tools. See [Skinning a Simple Mesh](../modeling/skinning-a-simple-mesh.md) for an example of manual skinning. To parent the mesh object with the mannequin armature: @@ -67,7 +67,7 @@ To parent the mesh object with the mannequin armature: -## Edit inner and outer cage meshes +## Editing Inner and Outer Cage Meshes After parenting and weighting your clothing item, you can start adding the cage meshes to your clothing to indicate the inner and outer surfaces of your clothing. @@ -120,11 +120,11 @@ A finished outer cage should completely cover the accessory with minimal extra s -When finished with the caging and modeling of your asset, see [Exporting requirements](../../art/modeling/export-requirements.md#blender) for details on exporting the model from Blender. +When finished with the caging and modeling of your asset, see [Exporting Requirements](../../art/modeling/export-requirements.md#blender) for details on exporting the model from Blender. -After exporting, see [Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md) and [Converting clothing accessories tutorial](../accessories/creating/converting.md) for instructions on importing and converting the model into a usable accessory. +After exporting, see [Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md) and [Converting Clothing Accessories tutorial](../accessories/creating/converting.md) for instructions on importing and converting the model into a usable accessory. -## Tips for editing cages +## Tips for Editing Cages The following tips may be helpful when manipulating your cage vertices: diff --git a/content/en-us/art/accessories/specifications.md b/content/en-us/art/accessories/specifications.md index e6e925bf8..e9ca289ea 100644 --- a/content/en-us/art/accessories/specifications.md +++ b/content/en-us/art/accessories/specifications.md @@ -1,5 +1,5 @@ --- -title: Rigid accessory specifications +title: Rigid Accessory Specifications description: Rigid accessory specifications lists the specific technical requirements for basic avatar accessories. --- @@ -7,9 +7,9 @@ When creating rigid accessories for Roblox, it's important to meet specific tech Although rigid accessories and layerable clothing accessories share many technical requirements, layerable accessories must include [additional components](../../art/accessories/clothing-specifications.md) to ensure the accessories deform and stretch appropriately on different body scales. -If you are intending to publish and sell these assets on the Marketplace, there are additional [Marketplace policy](../../marketplace/marketplace-policy.md) standards that you must follow for any accessory or clothing item. +If you are intending to publish and sell these assets on the Marketplace, there are additional [Marketplace Policy](../../marketplace/marketplace-policy.md) standards that you must follow for any accessory or clothing item. -When ready to export, see [Export requirements](../../art/accessories/export-settings.md) for mesh export settings for Blender and Maya. +When ready to export, see [Export Requirements](../../art/accessories/export-settings.md) for mesh export settings for Blender and Maya. If creating other types of 3D models: @@ -20,7 +20,7 @@ When ready to export, see [Export requirements](../../art/accessories/export-set -## Geometry and budgets +## Geometry and Budgets - **Single Mesh** - Accessories must be a single mesh. - **Budgets** - Accessories can't exceed **4k** triangles. @@ -28,14 +28,14 @@ When ready to export, see [Export requirements](../../art/accessories/export-set - Use **quads** whenever possible. Avoid faces with 5 or more sides. - **Mesh Size** - Depending on the type of accessory asset, meshes must follow a standard size (in studs, centered on attachment point) depending on the [body scale](#body-scale) it is designed for. -### Body scale +### Body Scale Roblox supports 3 types of body scales: `Classic`, `Normal`, and `Slender`. When designing your accessory, the size of your accessory cannot exceed the following sizes based on body scale and accessory asset type. -See [Body scale](../accessories/body-scale.md) for more information on the different types of body proportions Roblox supports. +See [Body Scale](../accessories/body-scale.md) for more information on the different types of body proportions Roblox supports. -You can use tools like the [Accessory fitting tool](../../art/accessories/accessory-fitting-tool.md) to help visualize and adjust the scale of your mesh on a mannequin within a visualized boundary before uploading and publishing the asset. +You can use tools like the [Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md) to help visualize and adjust the scale of your mesh on a mannequin within a visualized boundary before uploading and publishing the asset. #### Classic @@ -275,7 +275,7 @@ You can use tools like the [Accessory fitting tool](../../art/accessories/access
-### Attachment points +### Attachment Points `Class.Attachment` objects indicate where an accessory model attaches to a point on a character body. Whether you are creating rigid or [layered](./layered-clothing.md) accessories, Studio's [Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md) automatically adds and configures the appropriate `Class.Attachment` with the following specifications: @@ -287,8 +287,8 @@ If setting or configuring attachments manually in Studio, use the following name - - + + @@ -335,17 +335,17 @@ If setting or configuring attachments manually in Studio, use the following name - Items using `RightShoulderAttachment` or `LeftShoulderAttachment` move with the character's arm. - Items using `RightCollarAttachment` or `LeftCollarAttachment` do not move with the character's arm. -## Layered properties +## Layered Properties -Accessories, such as clothing items, which stretch and fit around any character body type, must include additional configurations to achieve the layering effect. See [Clothing specifications](../../art/accessories/clothing-specifications.md) for specifications required to create layerable accessories. +Accessories, such as clothing items, which stretch and fit around any character body type, must include additional configurations to achieve the layering effect. See [Clothing Specifications](../../art/accessories/clothing-specifications.md) for specifications required to create layerable accessories. -## Marketplace requirements +## Marketplace Requirements Your items must meet the following requirements before you upload them to the Marketplace to sell: - Rigid accessories that you intend to sell on the Marketplace require a `Class.SpecialMesh` and don't support [SurfaceAppearance](../../art/modeling/surface-appearance.md). - - Use the [generate legacy accessory](./accessory-fitting-tool.md#generate-legacy-accessory) option when creating your accessory. -- Ensure that your items adhere to the [Marketplace program guidelines](../../marketplace/marketplace-policy.md). + - Use the [Generate Legacy Accessory](./accessory-fitting-tool.md#generate-legacy-accessory) option when creating your accessory. +- Ensure that your items adhere to the [Marketplace Program Guidelines](../../marketplace/marketplace-policy.md). - Whenever applicable, ensure that your items adhere to Roblox's [custom mesh specifications](../../art/modeling/specifications.md). - Object `Class.MeshPart.Material|Material` is set to `Plastic`. - Object `Class.MeshPart.Transparency|Transparency` is set to 0. diff --git a/content/en-us/art/accessories/validation-tool.md b/content/en-us/art/accessories/validation-tool.md index ca7798b2f..47f2b1c60 100644 --- a/content/en-us/art/accessories/validation-tool.md +++ b/content/en-us/art/accessories/validation-tool.md @@ -18,7 +18,7 @@ The **Layered Clothing Validation Tool** is a supplemental tool you can install While this tool can save you time in the typical iteration process between your 3D modeling program and Studio, the tool doesn't provide comprehensive verification of all aspects of layered clothing assets. You must ensure your layered clothing model meets both the [general mesh requirements](../../art/modeling/specifications.md) and Roblox-specific [layered clothing requirements](../../art/accessories/specifications.md#layered-requirements) prior to importing it into Studio. -## Install the Clothing Validation Tool +## Installing the Validation Tool There are two separate installation files and instructions for Blender and Maya. @@ -104,7 +104,7 @@ To install the Clothing Validation Tool in Maya: -## Validate assets +## Validating Assets With the plugin active and a layered asset in your workspace, you can begin validating content. After the check, results with issues change to **red** (Blender) or **yellow** (Maya). You can resolve some failed checks by clicking the check button. See [Checks and Troubleshooting Steps](#checks-and-troubleshooting-steps) for details on each validation check. @@ -129,7 +129,7 @@ To use the Validation Tool on your asset: This Validation Tool only checks for common clothing creation issues. Ensure your layered clothing model meets both the [general mesh specifications](../../art/modeling/specifications.md) and Roblox-specific [layered clothing specifications](../../art/accessories/specifications.md#layered-requirements) before uploading to Studio. -## Checks and troubleshooting steps +## Checks and Troubleshooting Steps Refer to the table below for details on the specific checks and troubleshooting steps: diff --git a/content/en-us/art/characters/creating/blender-configurations.md b/content/en-us/art/characters/creating/blender-configurations.md index 93359d630..6534c09fe 100644 --- a/content/en-us/art/characters/creating/blender-configurations.md +++ b/content/en-us/art/characters/creating/blender-configurations.md @@ -1,5 +1,5 @@ --- -title: Blender configuration +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 @@ -28,7 +28,7 @@ The following is a breakdown of what is included in each Blender template file: width="800" />
Blender Project Hierarchy
-### Disabled objects +### 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 . Since attachment objects are often not modified until the end of the character creation process, these objects have **Disable In Viewport** enabled to make the organization of your project more efficient, especially when bulk toggling object visibility. @@ -45,7 +45,7 @@ If you need access to disabled objects, use the following instructions to access 3. The **Disable In Viewport** icon now appears next to every object in the Outliner. Toggle the icon to change the Disabled status for your objects. -### Custom skin tones +### 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. @@ -57,7 +57,7 @@ Textures with full or partial transparency allow the underlying `Class.Part.Colo
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.
-#### Preview skin tones +#### Previewing Skin Tones 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. @@ -83,16 +83,16 @@ To preview your character's skin tone in Blender: src="../../../assets/art/avatar/basic-creation/Color_Picker_01.mp4" width="100%"> -#### Export setup +#### 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). +For instructions on how to perform either export workflow, see [Exporting Textures](../../../art/characters/creating/exporting-textures.md). -### Scene scale +### Scene Scale 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. @@ -112,7 +112,7 @@ Alternatively, you can modify your scaling when exporting your files: 2. Set **Transform** > **Scale** to `.01`. -### Animation range +### Animation Range 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. diff --git a/content/en-us/art/characters/creating/caging.md b/content/en-us/art/characters/creating/caging.md index 93eef9f0c..3363bdea6 100644 --- a/content/en-us/art/characters/creating/caging.md +++ b/content/en-us/art/characters/creating/caging.md @@ -1,7 +1,7 @@ --- -title: Caging character head +title: Caging description: Cage your avatar characters in Blender to support layerable accessories and clothing. -next: /art/characters/creating/combine-head-geometry +next: /art/characters/creating/combining-head-geometry prev: /art/characters/creating/texturing-pbr --- diff --git a/content/en-us/art/characters/creating/combine-head-geometry.md b/content/en-us/art/characters/creating/combining-head-geometry.md similarity index 86% rename from content/en-us/art/characters/creating/combine-head-geometry.md rename to content/en-us/art/characters/creating/combining-head-geometry.md index 0138bd835..85d8c98a3 100644 --- a/content/en-us/art/characters/creating/combine-head-geometry.md +++ b/content/en-us/art/characters/creating/combining-head-geometry.md @@ -1,7 +1,7 @@ --- -title: Combine head geometry +title: Combining 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 +next: /art/characters/creating/removing-extra-bones prev: /art/characters/creating/caging --- @@ -13,10 +13,10 @@ Whenever you are ready to export your model, it's important to clean up your pro - Final technical checks -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. +Failure to combine head geometry and [remove head bones](../../characters/creating/removing-extra-bones.md) will cause issues with validation, as the character will no longer adhere to the expected R15 geometry and joint hierarchy. -## Combine head geometry +## Combining 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: diff --git a/content/en-us/art/characters/creating/export-character.md b/content/en-us/art/characters/creating/exporting-character.md similarity index 82% rename from content/en-us/art/characters/creating/export-character.md rename to content/en-us/art/characters/creating/exporting-character.md index f86f20bed..cd42c729c 100644 --- a/content/en-us/art/characters/creating/export-character.md +++ b/content/en-us/art/characters/creating/exporting-character.md @@ -1,11 +1,11 @@ --- -title: Export character model +title: Exporting Character Model description: Export your character model from Blender using the correct settings and processes. prev: /art/characters/creating/exporting-textures --- -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. +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 [Testing Characters](../../../art/characters/testing/index.md) for more information. 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. @@ -24,7 +24,7 @@ To export your character: -After exporting your .fbx file, see [Test characters](../../../art/characters/testing/index.md) In Studio for steps on importing your character model into a test place and verifying your avatar and related components. +After exporting your .fbx file, see [Testing Characters](../../../art/characters/testing/index.md) In Studio for steps on importing your character model into a test place and verifying your avatar and related components. diff --git a/content/en-us/art/characters/creating/export-textures.md b/content/en-us/art/characters/creating/exporting-textures.md similarity index 84% rename from content/en-us/art/characters/creating/export-textures.md rename to content/en-us/art/characters/creating/exporting-textures.md index 0970ecff7..546090e1a 100644 --- a/content/en-us/art/characters/creating/export-textures.md +++ b/content/en-us/art/characters/creating/exporting-textures.md @@ -1,24 +1,24 @@ --- -title: Export textures +title: Exporting Textures description: Export your character textures from Blender using the correct settings and processes. -next: /art/characters/creating/export-character +next: /art/characters/creating/exporting-character prev: /art/characters/creating/final-checks --- -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. +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 [Testing Characters](../../../art/characters/testing/index.md) for more information. 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 +## Exporting 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. +- [Embedding textures](#embedding-textures) simplifies your export by packing all of your textures within the single `.fbx` file. +- [Exporting texture images](#exporting-textures) directly allows you direct access to the image textures, so you can test and swap them more quickly. -### Embed textures +### Embedding 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. @@ -43,7 +43,7 @@ To prepare your textures to embed with export: -### Unpack image files +### Unpacking 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. diff --git a/content/en-us/art/characters/creating/final-checks.md b/content/en-us/art/characters/creating/final-checks.md index a720a239f..80464dcfb 100644 --- a/content/en-us/art/characters/creating/final-checks.md +++ b/content/en-us/art/characters/creating/final-checks.md @@ -1,8 +1,8 @@ --- -title: Final checks +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 +next: /art/characters/creating/exporting-textures +prev: /art/characters/creating/verifying-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: diff --git a/content/en-us/art/characters/creating/head-objects.md b/content/en-us/art/characters/creating/head-objects.md index 1fd199543..dcc2806dc 100644 --- a/content/en-us/art/characters/creating/head-objects.md +++ b/content/en-us/art/characters/creating/head-objects.md @@ -1,5 +1,5 @@ --- -title: Template head structure +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 @@ -7,7 +7,7 @@ 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. +To avoid validation errors, you must [join](../../../art/characters/creating/combining-head-geometry.md) and [remove](../../../art/characters/creating/removing-extra-bones.md) these extra objects during the cleanup process prior to exporting. The extra head mesh objects are the following: diff --git a/content/en-us/art/characters/creating/index.md b/content/en-us/art/characters/creating/index.md index 72ac1f956..28355abd4 100644 --- a/content/en-us/art/characters/creating/index.md +++ b/content/en-us/art/characters/creating/index.md @@ -1,5 +1,5 @@ --- -title: Create with templates +title: Creating with Templates description: Use Roblox's supplied template models to create your own unique avatar character in Blender. next: /art/characters/creating/template-files --- @@ -16,7 +16,7 @@ This tutorial is intended for creators of all skill levels with moderate Blender 6. Exporting your asset for use or testing in Studio -
Starting template model
+
Starting Template Model
Example model after modifications
diff --git a/content/en-us/art/characters/creating/modeling-best-practices.md b/content/en-us/art/characters/creating/modeling-best-practices.md index fcc75319a..babd9a6cb 100644 --- a/content/en-us/art/characters/creating/modeling-best-practices.md +++ b/content/en-us/art/characters/creating/modeling-best-practices.md @@ -1,5 +1,5 @@ --- -title: Modeling best practices +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 @@ -19,7 +19,7 @@ By understanding how to make non-destructive sculpting changes to the head, the 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. See [Best Practices](#best-practices) for additional information on customizing your character body without breaking the underlying structure of the avatar template.
-## Non-destructive modeling +## 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. @@ -27,7 +27,7 @@ Non-destructive modeling means using a process that doesn't alter the physical s 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.
-## Edge flow +## 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. @@ -36,8 +36,8 @@ Even when maintaining edge flow, you should avoid sculpting certain regions of t
Accessory typeAttachment nameAccessory TypeAttachment Name
- - + + diff --git a/content/en-us/art/characters/creating/modeling-tips.md b/content/en-us/art/characters/creating/modeling-tips.md index 8426bb977..68042a801 100644 --- a/content/en-us/art/characters/creating/modeling-tips.md +++ b/content/en-us/art/characters/creating/modeling-tips.md @@ -1,5 +1,5 @@ --- -title: Modeling tips +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 @@ -7,7 +7,7 @@ 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 +### Hiding Inactive Objects In your Outliner, hide objects you aren't editing by enabling the **Hide In Viewport** icon . This cleans up your workspace and helps ensure you don't make unintentional changes to another object or collection. @@ -16,7 +16,7 @@ You can quickly bulk hide and unhide any parent and child objects that are not [ 1. In the Outliner, navigate to a parent object, such as **Cage** or **Joints**. 2. Hold Shift and click the **Hide In Viewport** icon to toggle the object's visibility. -### Enable wireframe view +### 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. diff --git a/content/en-us/art/characters/creating/remove-extra-bones.md b/content/en-us/art/characters/creating/removing-extra-bones.md similarity index 82% rename from content/en-us/art/characters/creating/remove-extra-bones.md rename to content/en-us/art/characters/creating/removing-extra-bones.md index f45a8b8ad..caed4ce10 100644 --- a/content/en-us/art/characters/creating/remove-extra-bones.md +++ b/content/en-us/art/characters/creating/removing-extra-bones.md @@ -1,14 +1,14 @@ --- -title: Remove extra bones +title: Removing 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 +next: /art/characters/creating/verifying-attachments +prev: /art/characters/creating/combining-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. -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. +Failure to [combine head geometry](../../characters/creating/combining-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. Remove the additional head bones by selecting them and deleting them in edit mode: diff --git a/content/en-us/art/characters/creating/sculpting.md b/content/en-us/art/characters/creating/sculpting.md index 77ecaa361..1aafa6640 100644 --- a/content/en-us/art/characters/creating/sculpting.md +++ b/content/en-us/art/characters/creating/sculpting.md @@ -1,5 +1,5 @@ --- -title: Sculpt the head +title: Sculpting 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 diff --git a/content/en-us/art/characters/creating/template-files.md b/content/en-us/art/characters/creating/template-files.md index e2eefb1bd..4542fff20 100644 --- a/content/en-us/art/characters/creating/template-files.md +++ b/content/en-us/art/characters/creating/template-files.md @@ -1,5 +1,5 @@ --- -title: Template files +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/ @@ -10,15 +10,15 @@ Each template comes pre-baked with the [necessary components of an avatar charac
Round head regionEdge flow notesRound Head RegionEdge Flow Notes
- + - + @@ -28,7 +28,7 @@ Each template comes pre-baked with the [necessary components of an avatar charac diff --git a/content/en-us/art/characters/creating/texturing-eyes.md b/content/en-us/art/characters/creating/texturing-eyes.md index 20677092c..1efaa0c48 100644 --- a/content/en-us/art/characters/creating/texturing-eyes.md +++ b/content/en-us/art/characters/creating/texturing-eyes.md @@ -1,5 +1,5 @@ --- -title: Texturing eyes +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 diff --git a/content/en-us/art/characters/creating/texturing-face.md b/content/en-us/art/characters/creating/texturing-face.md index c478a4ea6..1b9704d99 100644 --- a/content/en-us/art/characters/creating/texturing-face.md +++ b/content/en-us/art/characters/creating/texturing-face.md @@ -1,5 +1,5 @@ --- -title: Texturing face +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 diff --git a/content/en-us/art/characters/creating/texturing-pbr.md b/content/en-us/art/characters/creating/texturing-pbr.md index 41e07c4d3..48b7dd818 100644 --- a/content/en-us/art/characters/creating/texturing-pbr.md +++ b/content/en-us/art/characters/creating/texturing-pbr.md @@ -1,5 +1,5 @@ --- -title: PBR textures (optional) +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 @@ -13,4 +13,4 @@ Physically-based rendering (PBR) textures use multiple texture maps to define ho
PBR textures allow for virtually any type of material surface, such as leather and denim.
-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). +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). diff --git a/content/en-us/art/characters/creating/texturing-setup.md b/content/en-us/art/characters/creating/texturing-setup.md index 1993c2a12..c7330e256 100644 --- a/content/en-us/art/characters/creating/texturing-setup.md +++ b/content/en-us/art/characters/creating/texturing-setup.md @@ -1,5 +1,5 @@ --- -title: Texturing setup +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 @@ -13,7 +13,7 @@ prev: /art/characters/creating/sculpting
Model after texturing
-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. +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#previewing-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. @@ -21,7 +21,7 @@ For the purpose of demonstrating the basic texturing process, this tutorial goes 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. -## Set texture resolution +## Setting 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. diff --git a/content/en-us/art/characters/creating/verify-attachments.md b/content/en-us/art/characters/creating/verifying-attachments.md similarity index 96% rename from content/en-us/art/characters/creating/verify-attachments.md rename to content/en-us/art/characters/creating/verifying-attachments.md index f290d2f84..ba81a9dbb 100644 --- a/content/en-us/art/characters/creating/verify-attachments.md +++ b/content/en-us/art/characters/creating/verifying-attachments.md @@ -1,8 +1,8 @@ --- -title: Verify attachment placement +title: Verifying 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 +prev: /art/characters/creating/removing-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. diff --git a/content/en-us/art/characters/export-settings.md b/content/en-us/art/characters/export-settings.md index 27c6d72cf..a15f7d8de 100644 --- a/content/en-us/art/characters/export-settings.md +++ b/content/en-us/art/characters/export-settings.md @@ -1,5 +1,5 @@ --- -title: Character body export settings +title: Character Body Export Settings description: Use the appropriate export settings in Maya and Blender to generate Studio-ready .fbx files. --- @@ -12,7 +12,7 @@ Check that your model meets Roblox's [avatar character specifications](../../art - If you are creating a generic mesh, ensure that your model follows Roblox's [general specifications](../../art/modeling/specifications.md) and use the [general export settings](../../art/modeling/export-requirements.md). -If you are using Roblox's avatar template files, you must perform the [cleanup steps](../../art/characters/creating/combine-head-geometry.md) in order for the assets to properly validate. +If you are using Roblox's avatar template files, you must perform the [cleanup steps](../../art/characters/creating/combining-head-geometry.md) in order for the assets to properly validate. @@ -41,7 +41,7 @@ To export the `.fbx` file in Blender:
7. Click the **Export FBX** button. -8. 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 +8. After exporting, use Studio's [3D Importer](../../art/modeling/3d-importer.md) to import your model. See [Testing Characters in Studio](../../art/characters/testing/studio.md) for additional importing and testing information @@ -60,7 +60,7 @@ To export a mesh in Maya as a `.fbx` file: - Navigate to **FBX File Format**, then set the **Type** property to **Binary**, and the **Version** property to **FBX 2020**. 9. Click the **Export All** button. -10. 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. +10. After exporting, use Studio's [3D Importer](../../art/modeling/3d-importer.md) to import your model. See [Testing Characters in Studio](../../art/characters/testing/studio.md) for additional importing and testing information
diff --git a/content/en-us/art/characters/export-avatar-animations-from-maya.md b/content/en-us/art/characters/exporting-avatar-animations-from-maya.md similarity index 98% rename from content/en-us/art/characters/export-avatar-animations-from-maya.md rename to content/en-us/art/characters/exporting-avatar-animations-from-maya.md index 6b77eac43..ccfed7ad8 100644 --- a/content/en-us/art/characters/export-avatar-animations-from-maya.md +++ b/content/en-us/art/characters/exporting-avatar-animations-from-maya.md @@ -1,5 +1,5 @@ --- -title: Export avatar animations from Maya +title: Exporting Avatar Animations from Maya description: Explains the process for exporting avatar animations from Maya. --- @@ -20,11 +20,11 @@ description: Explains the process for exporting avatar animations from Maya. This guide uses a downloadable [R15-Mannequin-Rig.ma](../../assets/animation/exporting-avatar-animations-from-maya/R15-Mannequin-Rig.ma) file that contains an R15 mannequin that you can use as a reference to create and export animations. If you choose to animate on your own R15 rig, the same rig configuration and export settings apply. -## Configure the rig +## Configuring the Rig Before you export your avatar animation from Maya, you must configure your rig to be compatible with Studio's import requirements, including making sure that the rig follows a specific hierarchy and naming conventions so that Studio is able to recognize the file as an avatar animation, and that the rig's translation channel is muted so that the root node doesn't move with the animation. -### Hierarchy and naming conventions +### Hierarchy and Naming Conventions Studio requires a specific hierarchy and naming conventions for a humanoid rig's internal joint structure so that it can recognize what you're importing as an avatar animation. If you aren't using the downloadable R15 mannequin reference rig to create your animations, make sure your rig uses the following joint hierarchy and naming convention exactly as it is: @@ -46,7 +46,7 @@ Studio requires a specific hierarchy and naming conventions for a humanoid rig's - RightLowerLeg - RightFoot -### Mute the translation channel +### Muting the Translation Channel Roblox avatar animations cannot move a character when they play; instead, avatar animations animate rigs at their world position. If your avatar animation is a locomotion-type of animation where the root node moves in space, such as a character that moves forward as their walk animation plays, you must mute the rig's translation channel so that the animation plays without moving the rig on export. @@ -78,7 +78,7 @@ To mute the translation channel: When you play the animation, the character's root node doesn't move in space anymore, and the character animates in place at the origin of the scene. -## Export the animation +## Exporting the Animation Now that your rig animates in place and has a hierarchy and naming data that is compatible with Studio, you can export the animation into a `.fbx` format. Maya doesn't load this capability by default, so you need to enable an FBX plugin to gain the additional settings necessary to export the file in a format Studio can recognize. @@ -123,7 +123,7 @@ To export your avatar animation from Maya: 1. In the bottom right corner, click the **Export All** button. After a moment, the avatar animation `.fbx` file displays in your file browser. -## Test the animation in Studio +## Testing the Animation in Studio Once you have your avatar animation `.fbx` file, you can test it within Studio to make sure that the animation plays without any errors. diff --git a/content/en-us/art/characters/facial-animation/animate-heads.md b/content/en-us/art/characters/facial-animation/animating-heads.md similarity index 86% rename from content/en-us/art/characters/facial-animation/animate-heads.md rename to content/en-us/art/characters/facial-animation/animating-heads.md index 00e9994e8..203938a2e 100644 --- a/content/en-us/art/characters/facial-animation/animate-heads.md +++ b/content/en-us/art/characters/facial-animation/animating-heads.md @@ -1,12 +1,12 @@ --- -title: Animate heads +title: Animating Heads description: You can create facial animations for a character with live heads using the Animation Editor. --- -You can use the [Animation Editor](../../../animation/editor.md) to animate supported heads in the following ways: +You can utilize the [Animation Editor](../../../animation/editor.md) to animate supported heads in the following ways: -- You can manually set values to each facial pose on separate [animation tracks](#use-animation-tracks). -- You can use the [Face Animation Editor](#use-the-face-animation-editor) to access facial sliders that let you quickly create and save unique expressions on the timeline. +- You can manually set values to each facial pose on separate [animation tracks](#using-animation-tracks). +- You can use the [Face Animation Editor](#using-the-face-animation-editor) to access facial sliders that let you quickly create and save unique expressions on the timeline. - You can use the [Animation Capture for Faces](../../../animation/capture.md#face) extension to automatically track and record facial movements with a webcam that converts your movement into keyframes on the timeline. In all methods, creating and combining multiple facial expressions over a duration of time results in a face animation. Since you cannot import face animations, these methods are the only ways to create and utilize them. @@ -15,15 +15,15 @@ After you create and publish a head that supports facial animation to Roblox, yo A view of Studio where the Face Animation Editor, Animation Editor, and viewport are visible. The viewport shows a close up view of a blocky male avatar blinking with his left eye. -## Create animations +## Creating Animations -After you have [opened](../../../animation/editor.md#open-the-animation-editor) the Animation Editor and selected the character model with a head you want to create an animation for, you can either create a head animation by using animation tracks or the Face Animation Editor. +After you have [opened](../../../animation/editor.md#opening-the-animation-editor) the Animation Editor and selected the character model with a head you want to create an animation for, you can either create a head animation by using animation tracks or the Face Animation Editor. For details on using Animation Capture to track facial movement as keyframes, see [Animation Capture - Face](../../../animation/capture.md#face). -### Use animation tracks +### Using Animation Tracks -Similar to inserting other objects like `Class.MeshPart|MeshParts` or `Class.Bone|Bones` as animation tracks, you can manually add one FACS value at a time to the track list to manipulate a single body part, such as the character's eyes, jaw, or tongue. The [Animation Editor](../../../animation/editor.md) represents FACS values as a percentage between 0 and 1, and these values map directly to `Class.FaceControls` values. While this process provides precise control over individual values, the [Face Animation Editor](#use-the-face-animation-editor) enhances this workflow and lets you quickly change values to multiple facial features at once on the animation timeline. +Similar to inserting other objects like `Class.MeshPart|MeshParts` or `Class.Bone|Bones` as animation tracks, you can manually add one FACS value at a time to the track list to manipulate a single body part, such as the character's eyes, jaw, or tongue. The [Animation Editor](../../../animation/editor.md) represents FACS values as a percentage between 0 and 1, and these values map directly to `Class.FaceControls` values. While this process provides precise control over individual values, the [Face Animation Editor](#using-the-face-animation-editor) enhances this workflow and lets you quickly change values to multiple facial features at once on the animation timeline. To create an animation by inserting individual FACS values: @@ -37,7 +37,7 @@ To create an animation by inserting individual FACS values: A close up view of the track list in the Animation Editor. The values input is highlighted. -### Use the Face Animation Editor +### Using the Face Animation Editor The Face Animation Editor is an intuitive, visual way to automatically create keyframes as you adjust **sliders** to achieve your desired facial expression. For example, when you drag the thumb of the `LeftEyeClosed` slider all the way down, the character's left eye closes and a new animation track for `LeftEyeClosed` displays with a value of `1` within the track list. @@ -91,14 +91,14 @@ To create an animation for your head using the Face Animation Editor: 4. When you are finished creating your animation, navigate to the **Media and Playback Controls** and click the **…** button. A pop-up menu displays. 5. Select **Save** or **Save As** to save the animation. The animation displays in the **Explorer** window as a child of the **AnimSaves** object (itself a child of the rig). -## Export animations +## Exporting Animations -When you export a head that supports animation to Studio, it becomes available for use in all of your experiences. This means that you only need to create a head animation once, then you can reuse it as many times for as many characters as you want as long as the character has an [animatable head](../../../art/characters/facial-animation/use-heads-in-studio.md). +When you export a head that supports animation to Studio, it becomes available for use in all of your experiences. This means that you only need to create a head animation once, then you can reuse it as many times for as many characters as you want as long as the character has an [animatable head](../../../art/characters/facial-animation/using-heads-in-studio.md). -You can export head animations using the same workflow as [exporting other animations](../../../animation/editor.md#export-an-animation). Once the upload is complete, copy the animation's asset ID by clicking the copy button. **This ID is required for scripting animations**. +You can export head animations using the same workflow as [exporting other animations](../../../animation/editor.md#exporting-an-animation). Once the upload is complete, copy the animation's asset ID by clicking the copy button. **This ID is required for scripting animations**. A close up view of pop-up window that displays after you upload an asset. The Copy Asset ID button is highlighted. -## Script animations +## Scripting Animations -Once you have created an animation, you need to use a script to play it in your experience. Like generic animations, you can either play animations for heads manually from your scripts or automatically by replacing default animations for player characters. For more information, see [Use animations](../../../animation/using.md). +Once you have created an animation, you need to use a script to play it in your experience. Like generic animations, you can either play animations for heads manually from your scripts or automatically by replacing default animations for player characters. For more information, see [Using Animations](../../../animation/using.md). diff --git a/content/en-us/art/characters/facial-animation/create-basic-heads.md b/content/en-us/art/characters/facial-animation/creating-basic-heads.md similarity index 93% rename from content/en-us/art/characters/facial-animation/create-basic-heads.md rename to content/en-us/art/characters/facial-animation/creating-basic-heads.md index 4897f2b82..b5e9e244a 100644 --- a/content/en-us/art/characters/facial-animation/create-basic-heads.md +++ b/content/en-us/art/characters/facial-animation/creating-basic-heads.md @@ -1,5 +1,5 @@ --- -title: Create basic heads +title: Creating Basic Heads description: The process of creating a basic animatable head in Blender. --- @@ -10,8 +10,8 @@ description: The process of creating a basic animatable head in Blender. You can create or modify an existing model to support animated heads in a third-party modeling software, such as [Blender](https://www.blender.org) or [Maya](https://www.autodesk.com/products/maya/overview). When creating a head, your character model must meet the following requirements: - The model follows standard [modeling requirements](#modeling-requirements), and includes head geometry, such as eyes, a mouth, and teeth. -- The model's head must include a [rig](#rigging), or internal bone structure. These bones drive the various deformation of vertices to create facial expressions. You can create a [control system](#add-controls) to simplify the posing process. -- The model has facial poses [saved to the animation timeline](#pose) and [mapped to the head mesh](#map). Typical animatable heads include [50 standard base poses](../../../art/characters/facial-animation/facs-poses-reference.md) that allow for a diverse range of expressions. +- The model's head must include a [rig](#rigging), or internal bone structure. These bones drive the various deformation of vertices to create facial expressions. You can create a [control system](#adding-controls) to simplify the posing process. +- The model has facial poses [saved to the animation timeline](#posing) and [mapped to the head mesh](#mapping). Typical animatable heads include [50 standard base poses](../../../art/characters/facial-animation/facs-poses-reference.md) that allow for a diverse range of expressions. To meet these requirements, you can apply the steps in this guide when designing and posing your own head. This guide covers the basic processes of adding facial bones, posing, and mapping 5 basic FACS poses in Blender on a simplified reference character (Cubie), then exporting the model. @@ -19,7 +19,7 @@ To meet these requirements, you can apply the steps in this guide when designing For reference, this guide uses Blender version 3.0. If you are using another version of Blender, there might be minor differences in UI and settings. -## Reference files +## Reference Files The following are head reference files, including all example files from this guide: @@ -30,7 +30,7 @@ The reference character model provided is meant for educational purposes and doe
Template prototypeTemplate Prototype Sample customizationsSample Customizations
-
Muzzle head template
+
Muzzle Head Template
-
Round head template
+
Round Head Template
- + @@ -62,7 +62,7 @@ The reference character model provided is meant for educational purposes and doe
Reference filesReference Files Description
-## Modeling requirements +## Modeling Requirements Many character models already include a head with distinct facial features, but they might require minor modeling adjustments for head compatibility. When modeling a character with a head, ensure the head mesh meets the [Avatar character specifications](../../../art/characters/specifications.md) for Studio import, as well as the following requirements: @@ -76,11 +76,11 @@ You can follow along the rest of this head creation process using a [rigged Cubi ## Rigging -Your character must have an internal bone structure to drive the vertices of the face geometry and make facial poses. Unlike [rigging a humanoid model](../../../art/modeling/rig-a-humanoid-model.md), Studio doesn't require a specific bone hierarchy for a head. However, in order for the facial rig to work properly, the rig must include a [RootFaceJoint](#rootfacejoint) bone and [additional face bones](#face-bones). +Your character must have an internal bone structure to drive the vertices of the face geometry and make facial poses. Unlike [rigging a humanoid model](../../../art/modeling/rigging-a-humanoid-model.md), Studio doesn't require a specific bone hierarchy for a head. However, in order for the facial rig to work properly, the rig must include a [RootFaceJoint](#rootfacejoint) bone and [additional face bones](#face-bones). ### RootFaceJoint -The **RootFaceJoint** is a bone that is parented under the standard R15 head bone. This root bone does not control any vertices, but it must parent all other face bones. In Blender, you can quickly add a bone by **extruding** a child bone from the head bone and then map the bone name as a property in the Head_Geo mesh. The RootFaceJoint bone object is commonly named "DynamicHead" in the reference templates and examples, but you can use any name as long as you [map the root bone](#map) in custom properties. +The **RootFaceJoint** is a bone that is parented under the standard R15 head bone. This root bone does not control any vertices, but it must parent all other face bones. In Blender, you can quickly add a bone by **extruding** a child bone from the head bone and then map the bone name as a property in the Head_Geo mesh. The RootFaceJoint bone object is commonly named "DynamicHead" in the reference templates and examples, but you can use any name as long as you [map the root bone](#mapping) in custom properties. To add a RootFaceJoint bone: @@ -90,30 +90,30 @@ To add a RootFaceJoint bone: 2. Click on any bones to select the armature, then switch to **Edit Mode**. 3. In the **Outliner**, click on the **Head** bone. 4. In the **Viewport**, press E and drag your mouse up to extrude an additional child bone from the **Head** bone. -5. In the **Outliner**, rename this bone **DynamicHead**. You will reference this bone by name later in the [mapping](#map) section. +5. In the **Outliner**, rename this bone **DynamicHead**. You will reference this bone by name later in the [mapping](#mapping) section. - You must map the RootFaceJoint so Studio can properly locate that joint and hide all of the children joints and their bones within the `Class.FaceControls` instance on import. + You must map the RootFaceJoint so Studio can properly locate that joint and hide all of the children joints and their bones within the `Class.FaceControls` instance on import. -### Face bones +### Face Bones Face bones drive the bending and deformation of the face geometry. Each poseable face feature of your head typically requires at least one bone. Complex features, such as eyes and mouth, might require several bones to make certain poses possible. The rigging and skinning process depends on the character model and differs between tools and modelers. It's important to plan out the full range of facial poses your character requires to avoid additional adjustments to your head bones later. -The following instructions describe a basic process of [adding face bones](#add-face-bones) and [skinning](#skin-face-bones), or applying influences, to the reference model's **eyes** and **eyelids**. You can continue to apply this technique to the rest of the facial features that need articulation, such as the character's mouth, cheeks, and jaw. After adding your bones and applying influences, you can create [controls](#add-controls) that can help make the next posing process more efficient. +The following instructions describe a basic process of [adding face bones](#adding-face-bones) and [skinning](#skinning-face-bones), or applying influences, to the reference model's **eyes** and **eyelids**. You can continue to apply this technique to the rest of the facial features that need articulation, such as the character's mouth, cheeks, and jaw. After adding your bones and applying influences, you can create [controls](#adding-controls) that can help make the next posing process more efficient. You can download a [reference Cubie model](../../../assets/avatar/dynamic-heads/creating-dynamic-heads/reference-files/Cubie-Complete.fbx) with a completed rig with 30+ facial bones added and skinned. You can use this for a reference for unique bone placements not covered in this guide, such as cheeks, lips, and jaws. - See [Use heads in Studio](../../../art/characters/facial-animation/use-heads-in-studio.md) for download links of more complex characters. + See [Using Heads in Studio](../../../art/characters/facial-animation/using-heads-in-studio.md) for download links of more complex characters. -#### Add face bones +#### Adding Face Bones The specific head bones your character requires depend on the poses you intend for it to use. The following examples cover the process for adding 1 bone for each eye and 4 bones for the eyelids to allow for blinking, winking, and gaze direction. @@ -177,11 +177,11 @@ To add bones to the character eyelids: -#### Skin face bones +#### Skinning Face Bones You can apply [skinning](../../../art/modeling/rigging.md) to a character rig using several methods. The following example uses Blender's **Weight Paint** mode to paint which vertices a single bone can control. Skinning is typically a time consuming step for complex characters and a background in skinning and facial posing is recommended. -When applying detailed or shared influences for complex models, it's recommended to enable [Auto Normalize](../../../art/modeling/skin-a-simple-mesh.md#auto-normalize) to prevent influence conflicts between bones. +When applying detailed or shared influences for complex models, it's recommended to enable [Auto Normalize](../../../art/modeling/skinning-a-simple-mesh.md#auto-normalize) to prevent influence conflicts between bones. When parenting bones to the character using Automatic Weights, some of your vertices might already have influences applied. Always test your influences to make sure influence assignments are correct. @@ -237,7 +237,7 @@ To add influence to the left eyelid: You can download [a version of this project](../../../assets/avatar/dynamic-heads/creating-dynamic-heads/reference-files/Cubie-Eye-Bones-Skinned.blend) with the bones skinned up to this point as reference. -#### Add controls +#### Adding Controls Since creating heads requires saving several poses consecutively, while not required, controls can help you pose your bones quickly and effectively. You can create controls by adding external controller bones that influence the internal ones, making it easier to access and pose as well as reset to a neutral transformation. @@ -302,11 +302,11 @@ To create custom bone shapes for easier control bone access: -## Pose +## Posing **Posing** is the process of manipulating the bones of your head mesh into a specific position per animation frame. After the model's head has been rigged, you can begin the process of saving poses to the timeline. This data enables Studio to access each facial movement and animate or blend facial poses to create dynamic expressions. -When posing the bones of your character's head mesh to new positions, follow the [Facial Action Coding System](../../../art/characters/facial-animation/facs-poses-reference.md) (FACS) as a reference for your facial expression poses. FACS is a comprehensive, anatomically-based system for describing all visually discernible facial movement, and it allows for all facial animations to be shareable between characters. This means that once you create a facial animation, you can reuse it for any character with an [animatable head](../../../art/characters/facial-animation/use-heads-in-studio.md) with a `Class.FaceControls` instance. +When posing the bones of your character's head mesh to new positions, follow the [Facial Action Coding System](../../../art/characters/facial-animation/facs-poses-reference.md) (FACS) as a reference for your facial expression poses. FACS is a comprehensive, anatomically-based system for describing all visually discernible facial movement, and it allows for all facial animations to be shareable between characters. This means that once you create a facial animation, you can reuse it for any character with an [animatable head](../../../art/characters/facial-animation/using-heads-in-studio.md) with a `Class.FaceControls` instance. Each frame within your modeling software's animation timeline can contain one unique FACS pose, so when you want to create multiple FACS poses, you must save each FACS pose to a different frame. You must also include a frame with your character having a neutral face with the face controllers and bones set to their default values. This ensures that Studio can calculate the bone position differences between your character's neutral expression and each FACS pose. For this reason, set Frame 0 as your character's neutral expression, and save FACS poses starting at Frame 1. @@ -345,7 +345,7 @@ When all the poses are saved in your timeline, set the Start and End of the anim -### Combination poses +### Combination Poses You can combine 2-3 base FACS poses in a single animation frame to display complex facial expressions. However, when you combine FACS poses that control the **same** facial regions, the facial features might either collide or disfigure the character. @@ -385,7 +385,7 @@ A **combination pose**, or **corrective**, is the combination of 2-3 FACS poses On import, Studio calculates and stores the corrective difference for combination poses in the head's `Class.FaceControls` instance, and the `Class.FaceControls` instance corrects the base poses values as they combine in the Animation Editor. -## Map +## Mapping After you finish posing each FACS pose that your character needs, you must map, or link, **each animation frame that you pose** to its corresponding FACS base or combination pose name. Mapping stores the bone positions and translations within the head `Class.MeshPart`, and when you begin to animate your head within the [Animation Editor](../../../animation/editor.md), the `Class.FaceControls` instance uses this stored data to transform your character's facial features to the applicable FACS pose. @@ -402,7 +402,7 @@ Aside from mapping each pose to its proper pose name, you also need to map the [ - If you leave any empty strings, or try to import the head into Studio with multiple frames per FACS pose name, the head will fail the [import process](../../../art/characters/facial-animation/use-heads-in-studio.md#import-heads). + If you leave any empty strings, or try to import the head into Studio with multiple frames per FACS pose name, the head will fail the [import process](../../../art/characters/facial-animation/using-heads-in-studio.md#importing-heads). To map your saved poses and the RootFaceJoint: @@ -441,7 +441,7 @@ You can download a [version of this project](../../../assets/avatar/dynamic-head -## Export +## Exporting After you finish posing and mapping your head for your character, you can export the character model as a `.fbx` to import into Studio, allowing you to access the 4 eye poses using the `Class.FaceControls` instance in Studio. You can also reference the fully configured Cubie head `.fbx` to access all 50+ base poses. @@ -456,7 +456,7 @@ The export settings for animatable heads differ slightly from [standard third-pa 7. Expand **Bake Animation** and uncheck **NLA Strips**, **All Actions**, and **Force Start/End Keyframes**. 8. Click the **Export FBX** button. Save the FBX to the directory of your choice. -At this point, you can now import the `.fbx` into Studio as a character with a supported animatable head. For model import and usage instructions, see [Use heads in Studio](../../../art/characters/facial-animation/use-heads-in-studio.md). +At this point, you can now import the `.fbx` into Studio as a character with a supported animatable head. For model import and usage instructions, see [Using Heads in Studio](../../../art/characters/facial-animation/using-heads-in-studio.md). When importing Cubie into Studio, make sure to also save the head texture Cubie-Texture_ALB.png which you can apply to the head mesh of the imported character as a TextureID. diff --git a/content/en-us/art/characters/facial-animation/create-face-accessories.md b/content/en-us/art/characters/facial-animation/creating-face-accessories.md similarity index 87% rename from content/en-us/art/characters/facial-animation/create-face-accessories.md rename to content/en-us/art/characters/facial-animation/creating-face-accessories.md index 0d5aa7ee7..8b161cbf2 100644 --- a/content/en-us/art/characters/facial-animation/create-face-accessories.md +++ b/content/en-us/art/characters/facial-animation/creating-face-accessories.md @@ -1,5 +1,5 @@ --- -title: Create face accessories +title: Creating Face Accessories description: Face accessories are 3D accessories that move and animate with a live head. --- @@ -15,13 +15,13 @@ To create a face accessory, use a third-party modeling tool, such as [Blender](h - The model must be parented (Blender) or bound (Maya) to an R15 character rig. - The model must include an inner and outer cage. -This guide covers the basic process in Blender for applying rigging and cage data to a basic reference model using the Cubie model referenced in [Create basic heads](../../../art/characters/facial-animation/create-basic-heads.md). +This guide covers the basic process in Blender for applying rigging and cage data to a basic reference model using the Cubie model referenced in [Creating Basic Heads](../../../art/characters/facial-animation/creating-basic-heads.md). This guide uses Blender version 3.0. If you are using another version of Blender, there might be minor differences in UI and settings. -## Reference files +## Reference Files The following are face accessory reference files, including all example files from this guide: @@ -43,7 +43,7 @@ The reference character model provided is meant for educational purposes and doe Cubie-Cage-Only.fbx - The full body cage mesh of the Cubie reference character. This includes the inner and outer cage meshes. + The full body cage mesh of the Cubie reference character. This includes the inner and outer cage meshes. Cubie-Eyebrow-Geo.fbx @@ -80,11 +80,11 @@ If creating your own model, consider the following guidelines: ## Rigging -You must [rig](../../../art/modeling/rigging.md) your accessory to the character's bone structure so the accessory can bend and deform along with your character's facial poses. After rigging, you can skin your model in your modeling tool, or you can transfer skinning data from your character to the accessory at runtime by using [Automatic skinning transfer](../../../art/accessories/automatic-skinning-transfer.md). +You must [rig](../../../art/modeling/rigging.md) your accessory to the character's bone structure so the accessory can bend and deform along with your character's facial poses. After rigging, you can skin your model in your modeling tool, or you can transfer skinning data from your character to the accessory at runtime by using [Automatic Skinning Transfer](../../../art/accessories/automatic-skinning-transfer.md). -### Project setup +### Project Setup -As an example in this guide, we are using the completed [basic Head model](../../../assets/avatar/dynamic-heads/creating-dynamic-heads/reference-files/Cubie-Complete.fbx) from [Create a basic head](../../../art/characters/facial-animation/create-basic-heads.md) and a [simple eyebrow model](../../../assets/avatar/dynamic-heads/creating-face-accessories/reference-files/CubieEyebrow_Geo.fbx) in a new Blender project. +As an example in this guide, we are using the completed [basic Head model](../../../assets/avatar/dynamic-heads/creating-dynamic-heads/reference-files/Cubie-Complete.fbx) from [Creating a Basic Head](../../../art/characters/facial-animation/creating-basic-heads.md) and a [simple eyebrow model](../../../assets/avatar/dynamic-heads/creating-face-accessories/reference-files/CubieEyebrow_Geo.fbx) in a new Blender project. To set up your Blender project: @@ -114,7 +114,7 @@ To set up your Blender project: -### Parent armature +### Parenting Armature Connect the mesh object to the character's armature by parenting the armature to the mesh object. To parent the armature: @@ -127,11 +127,11 @@ Connect the mesh object to the character's armature by parenting the armature to Parenting with Automatic Weights automatically applies some influences to your model which can save some time during the [optional skinning](#optional-skinning) step. You can alternatively **Parent** with **Empty Weights** to not apply any skinning influence to your accessory mesh. See Blender's documentation on [Automatic Weights](https://docs.blender.org/manual/en/latest/animation/armatures/skinning/parenting.html#with-automatic-weights) for more information. -### Optional skinning +### Optional Skinning -In many cases, you can skip the [skinning](../../../art/modeling/rigging.md) process for your accessory and use Roblox's [Automatic Skinning Transfer transfer](../../../art/accessories/automatic-skinning-transfer.md) instead. You can still apply manual skinning through a modeling software and opt to use Automatic Skinning Transfer transfer later. +In many cases, you can skip the [skinning](../../../art/modeling/rigging.md) process for your accessory and use Roblox's [automatic skinning transfer](../../../art/accessories/automatic-skinning-transfer.md) instead. You can still apply manual skinning through a modeling software and opt to use automatic skinning transfer later. -If you do not intend to apply skinning manually, continue directly to [caging](#caging). +If you do not intend to apply skinning manually, continue directly to [Caging](#caging). If you are skinning your accessory in your modeling software on a character model with a fully posed head, you can test the accessory on various FACS poses saved to the timeline within your modeling software before importing into Studio. @@ -151,9 +151,9 @@ To cage the eyebrow accessory: -If you are using Automatic Skinning Transfer transfer, you can ensure that Automatic Skinning Transfer transfer only applies to specific parts of the accessory by removing unnecessary sections of the cage. For more information, see [Modifying Character Cages](../../../art/accessories/automatic-skinning-transfer.md#modify-character-cages). +If you are using automatic skinning transfer, you can ensure that automatic skinning transfer only applies to specific parts of the accessory by removing unnecessary sections of the cage. For more information, see [Modifying Character Cages](../../../art/accessories/automatic-skinning-transfer.md#modifying-character-cages). -## Export +## Exporting Export your model when ready to test your accessory model in Studio or when setting up for final export. When exporting face accessories, keep in mind the following guidelines: @@ -172,10 +172,10 @@ To export: 2. Follow Studio's [Export Requirements for Blender](../../../art/accessories/export-settings.md) and save the file to your preferred location. The final export of the eyebrow `.fbx` is available for reference. -## Test in Studio +## Testing in Studio -To use your exported model into Studio as an `Class.Accessory`, use the [Accessory Fitting tool](../../../art/accessories/accessory-fitting-tool.md) to test and generate the accessory object. At this point, you can equip the accessory to a humanoid character. If you intend to transfer skinning data from your character to the accessory model at runtime, you can enable [Automatic Skinning Transfer transfer](../../../art/accessories/automatic-skinning-transfer.md) for your accessory. +To use your exported model into Studio as an `Class.Accessory`, use the [Accessory Fitting Tool](../../../art/accessories/accessory-fitting-tool.md) to test and generate the accessory object. At this point, you can equip the accessory to a humanoid character. If you intend to transfer skinning data from your character to the accessory model at runtime, you can enable [automatic skinning transfer](../../../art/accessories/automatic-skinning-transfer.md) for your accessory. -If following the references provided by this guide, only **EnabledOverride** applies the skinning transfer in Studio, since some skinning data will have been applied to the model during the [parenting](#parent-armature) process. +If following the references provided by this guide, only **EnabledOverride** applies the skinning transfer in Studio, since some skinning data will have been applied to the model during the [parenting](#parenting-armature) process. diff --git a/content/en-us/art/characters/facial-animation/facs-poses-reference.md b/content/en-us/art/characters/facial-animation/facs-poses-reference.md index 4356ac81e..69a22c325 100644 --- a/content/en-us/art/characters/facial-animation/facs-poses-reference.md +++ b/content/en-us/art/characters/facial-animation/facs-poses-reference.md @@ -1,17 +1,17 @@ --- -title: FACS poses reference +title: FACS Poses Reference description: The Facial Action Coding System (FACS) ensures that all face animations have a common pose reference and can create similar face animations. --- -The [Facial Action Coding System](https://en.wikipedia.org/wiki/Facial_Action_Coding_System) (FACS) is a comprehensive, anatomically-based system for describing all visually discernible facial movement. This system breaks down all facial expressions into individual types of muscle movement, such as `LeftEyeClosed` or `MouthLeft`. You can [configure](../../../art/characters/facial-animation/creating-basic-heads.md#posing) and store these muscle movements, or **poses**, within the head model through a third-party modeling software, such as [Blender](https://www.blender.org) or [Maya](https://www.autodesk.com/products/maya/overview). When you import the head model into Studio, you can then access and [animate](../../../art/characters/facial-animation/animate-heads.md) these poses to create lively facial expressions. +The [Facial Action Coding System](https://en.wikipedia.org/wiki/Facial_Action_Coding_System) (FACS) is a comprehensive, anatomically-based system for describing all visually discernible facial movement. This system breaks down all facial expressions into individual types of muscle movement, such as `LeftEyeClosed` or `MouthLeft`. You can [configure](../../../art/characters/facial-animation/creating-basic-heads.md#posing) and store these muscle movements, or **poses**, within the head model through a third-party modeling software, such as [Blender](https://www.blender.org) or [Maya](https://www.autodesk.com/products/maya/overview). When you import the head model into Studio, you can then access and [animate](../../../art/characters/facial-animation/animating-heads.md) these poses to create lively facial expressions. -The following is a list of 50 base poses that you can use in Roblox to portray a wide range of face emotions. Except for the first neutral pose, the order of poses you save to your character model doesn't matter since this information is set during the [mapping](../../../art/characters/facial-animation/create-basic-heads.md#map) process as a custom property. +The following is a list of 50 base poses that you can use in Roblox to portray a wide range of face emotions. Except for the first neutral pose, the order of poses you save to your character model doesn't matter since this information is set during the [mapping](../../../art/characters/facial-animation/creating-basic-heads.md#mapping) process as a custom property. If you intend to publish your avatar to the Marketplace, your avatar head must include the required [17 facial base poses](../../../art/characters/specifications.md#facial-animations). Marketplace validation rejects assets that do not include these 17 required base poses. -You can combine multiple FACS base poses together in one animation frame to create complex facial expressions. However, some combinations of poses might collide unless you also add a [corrective](../../../art/characters/facial-animation/create-basic-heads.md#combination-poses) to their full default values. +You can combine multiple FACS base poses together in one animation frame to create complex facial expressions. However, some combinations of poses might collide unless you also add a [corrective](../../../art/characters/facial-animation/creating-basic-heads.md#combination-poses) to their full default values. ## EyesLookDown diff --git a/content/en-us/art/characters/facial-animation/index.md b/content/en-us/art/characters/facial-animation/index.md index 0f21e9009..be947b663 100644 --- a/content/en-us/art/characters/facial-animation/index.md +++ b/content/en-us/art/characters/facial-animation/index.md @@ -1,5 +1,5 @@ --- -title: Facial animation +title: Facial Animation description: Facial animations enable avatars to create dynamic facial expressions. --- @@ -16,7 +16,7 @@ An animatable head model contains an internal facial [rig](../../../art/modeling When importing a head that supports facial animation into Studio, Studio creates a `Class.FaceControls` instance you can use to access and combine these individual poses to create expressions and animations. Unlike typical rigged models, you cannot access the facial `Class.Bone|Bones` of a head mesh directly in Studio. -For information on implementing heads in Studio, including information on how to import custom heads and face accessories in addition to a reference experience and example model files, see [Use heads in Studio](../../../art/characters/facial-animation/use-heads-in-studio.md). +For information on implementing heads in Studio, including information on how to import custom heads and face accessories in addition to a reference experience and example model files, see [Using Heads in Studio](../../../art/characters/facial-animation/using-heads-in-studio.md).
@@ -29,27 +29,27 @@ For information on implementing heads in Studio, including information on how to
-## Animate heads +## Animating Heads -You can [animate any supported head](../../../art/characters/facial-animation/animate-heads.md) through the [Animation Editor](../../../animation/editor.md) by manually setting poses on the animation track, using the **Face Animation Editor** to quickly create complex expressions, or using the [Animation Capture Tool](../../../animation/capture.md) to automatically track facial movements from your webcam. +You can [animate any supported head](../../../art/characters/facial-animation/animating-heads.md) through the [Animation Editor](../../../animation/editor.md) by manually setting poses on the animation track, using the **Face Animation Editor** to quickly create complex expressions, or using the [Animation Capture tool](../../../animation/capture.md) to automatically track facial movements from your webcam. After you create, save, and publish a head animation to Roblox, you can play the animation from a script or replace a character's default animation with your new animation. -## Create basic heads +## Creating Basic Heads -Using third-party modeling tools, you can either modify a rigged character model to meet head requirements, or create a head from scratch. For step-by-step instructions on how to add face bones, apply skinning, posing, and mapping poses on a head model in Blender, see [Create basic heads](../../../art/characters/facial-animation/create-basic-heads.md). This guide includes several reference files you can use to compare and track your progress. +Using third-party modeling tools, you can either modify a rigged character model to meet head requirements, or create a head from scratch. For step-by-step instructions on how to add face bones, apply skinning, posing, and mapping poses on a head model in Blender, see [Creating Basic Heads](../../../art/characters/facial-animation/creating-basic-heads.md). This guide includes several reference files you can use to compare and track your progress. -## Create face accessories +## Creating Face Accessories Similar to creating heads, you can design and model face accessories using a third-party modeling software and import the models as a cosmetic `Class.Accessory` in Studio. When created correctly, equipped accessories stretch and deform as the head animates and emotes. -See [Create face accessories](../../../art/characters/facial-animation/create-face-accessories.md) for step-by-step instructions on setting up a reference model as a face accessory. This guide includes several project files you can use for reference and covers details on time-saving steps, such as auto-skin transfer. +See [Creating Face Accessories](../../../art/characters/facial-animation/creating-face-accessories.md) for step-by-step instructions on setting up a reference model as a face accessory. This guide includes several project files you can use for reference and covers details on time-saving steps, such as auto-skin transfer. -## FACS poses reference +## FACS Poses Reference Animatable heads use the Facial Action Coding System (FACS) as a universal system that allows modelers and animators to reference similar facial features and head mesh across different head models. -When creating your head in a third-party modeling software, see [FACS poses reference](../../../art/characters/facial-animation/facs-poses-reference.md) for a list of the base facial poses, their descriptions, and video examples. +When creating your head in a third-party modeling software, see [FACS Poses Reference](../../../art/characters/facial-animation/facs-poses-reference.md) for a list of the base facial poses, their descriptions, and video examples. diff --git a/content/en-us/art/characters/facial-animation/moods.md b/content/en-us/art/characters/facial-animation/moods.md index 4545e1384..1515d2bfc 100644 --- a/content/en-us/art/characters/facial-animation/moods.md +++ b/content/en-us/art/characters/facial-animation/moods.md @@ -3,7 +3,7 @@ title: Moods description: Moods are a type of facial animation that loop indefinitely, allowing users to express persistent facial emotion. --- -A **mood** is a type of [facial animation](../../../art/characters/facial-animation/index.md) for animatable heads that loops indefinitely, allowing users to express themselves and react to others with a persistent facial emotion. Moods play simultaneously with other character [default animations](../../../animation/use.md#replace-default-animations), such as walking, climbing, and swimming, and if the default animation has a facial animation, the default animation blends with the character's mood. +A **mood** is a type of [facial animation](../../../art/characters/facial-animation/index.md) for animatable heads that loops indefinitely, allowing users to express themselves and react to others with a persistent facial emotion. Moods play simultaneously with other character [default animations](../../../animation/using.md#replacing-default-animations), such as walking, climbing, and swimming, and if the default animation has a facial animation, the default animation blends with the character's mood.
@@ -20,9 +20,9 @@ A **mood** is a type of [facial animation](../../../art/characters/facial-animat A mood is a type of facial animation, but not all facial animations are moods. While a mood refers to a specific animation slot that belongs to each character, a facial animation refers to **any** animation that modifies the face channels. -## Create moods +## Creating Moods -If you have a character model with an animatable head, you can create any mood animation you can think of using the [Face Animation Editor](../../../art/characters/facial-animation/animate-heads.md#use-the-face-animation-editor). If you don't want to use the [Blocky](../../../assets/avatar/dynamic-heads/reference-files/BlockyCharacter.fbx) or [Goblin](../../../assets/avatar/dynamic-heads/reference-files/GoblinCharacter.zip) reference character models, you can create or modify an existing model to support animated heads in a third-party modeling software, such as Blender or Maya. For information on how to create an animatable head, see [Create basic heads](../../../art/characters/facial-animation/create-basic-heads.md). +If you have a character model with an animatable head, you can create any mood animation you can think of using the [Face Animation Editor](../../../art/characters/facial-animation/animating-heads.md#using-the-face-animation-editor). If you don't want to use the [Blocky](../../../assets/avatar/dynamic-heads/reference-files/BlockyCharacter.fbx) or [Goblin](../../../assets/avatar/dynamic-heads/reference-files/GoblinCharacter.zip) reference character models, you can create or modify an existing model to support animated heads in a third-party modeling software, such as Blender or Maya. For information on how to create an animatable head, see [Creating Basic Heads](../../../art/characters/facial-animation/creating-basic-heads.md). To create a mood: @@ -69,7 +69,7 @@ To create a mood: -## Set moods +## Setting Moods Every character with an animatable head has a child **Animate** `Class.LocalScript` with a child **mood** `Class.StringValue` that contains the mood animation that plays on the character's head. The mood animation's default `Class.Animation.AnimationID` plays a smiling animation, but you can change the character's mood to something else by either directly editing the `Class.Animation.AnimationID` within the mood `Class.StringValue`, or using the `Class.HumanoidDescription` system. @@ -79,7 +79,7 @@ Every character with an animatable head has a child **Animate** `Class.LocalScri The code for playing moods doesn't occur in the **Animate** `Class.LocalScript`, but in a hidden, internal Roblox script. While you can't edit this internal script, the **mood** `Class.StringValue` allows you to interact with it in order to customize moods within your experiences. -### Edit AnimationIds +### Editing AnimationIds You can set a specific mood for each character within your experience by editing their mood's `Class.Animation.AnimationID` whenever a user triggers an event. For example, the following `Class.Script` edits any previously set mood to an animation that [opens the character's mouth](https://www.roblox.com/library/7715145252/moods-11-FaceAnimation) as soon as the user enters the experience: @@ -99,7 +99,7 @@ end Players.PlayerAdded:Connect(onPlayerAdded) ``` -### Use the HumanoidDescription +### Using the HumanoidDescription You can also use the `Class.HumanoidDescription` system to find user characters and edit their `Class.Animation.AnimationID|AnimationIDs` for any default animation. For example, the following `Class.Script` edits any previously set mood to an animation that gives the character a [half-smile](https://www.roblox.com/catalog/10725833199/Chiseled-Good-Looks-Mood) on the left-side of their face whenever their character is idling: @@ -113,7 +113,7 @@ if humanoid then end ``` -## Disable moods +## Disabling Moods To disable moods from your experience, you can delete the mood object underneath the **Animate** `Class.LocalScript`. For example, the following `Class.Script` removes every character's **mood** `Class.StringValue` as soon as they join the experience: diff --git a/content/en-us/art/characters/facial-animation/use-heads-in-studio.md b/content/en-us/art/characters/facial-animation/using-heads-in-studio.md similarity index 89% rename from content/en-us/art/characters/facial-animation/use-heads-in-studio.md rename to content/en-us/art/characters/facial-animation/using-heads-in-studio.md index 67944790e..8355be9ec 100644 --- a/content/en-us/art/characters/facial-animation/use-heads-in-studio.md +++ b/content/en-us/art/characters/facial-animation/using-heads-in-studio.md @@ -1,5 +1,5 @@ --- -title: Use heads in Studio +title: Using Heads in Studio description: If you have a model with a live head, you can import the model into Studio, equip face accessories, and create and save animations. --- @@ -7,16 +7,16 @@ You can import character models with animatable heads into Studio and use the au To set up heads with facial animation in your experience: -1. [Import a model with an animatable head](../../../art/characters/testing/studio.md#import). You can either create your own or use one of the provided reference model files. -2. (Optional) [Import face accessories](#import-face-accessories) you want to deform with the facial expressions of your head. You can either create your own or use one of the provided reference accessory files. -3. [Animate the head](#animate-heads) in the Animation Editor by either adding in individual animation tracks, or by using the Face Animation Editor. +1. [Import a model with an animatable head](../../../art/characters/testing/studio.md#importing). You can either create your own or use one of the provided reference model files. +2. (Optional) [Import face accessories](#importing-face-accessories) you want to deform with the facial expressions of your head. You can either create your own or use one of the provided reference accessory files. +3. [Animate the head](#animating-heads) in the Animation Editor by either adding in individual animation tracks, or by using the Face Animation Editor. -If you want to experiment with pre-made heads before [making your own](../../../art/characters/facial-animation/create-basic-heads.md), Roblox has a reference experience you can access to see how heads interact with Studio's interface, as well as two reference models and accessories you can import directly into your own experience: +If you want to experiment with pre-made heads before [making your own](../../../art/characters/facial-animation/creating-basic-heads.md), Roblox has a reference experience you can access to see how heads interact with Studio's interface, as well as two reference models and accessories you can import directly into your own experience: - + @@ -44,7 +44,7 @@ If you want to experiment with pre-made heads before [making your own](../../../
Reference filesReference Files Description
-## Import face accessories +## Importing Face Accessories You can import and equip face accessories that you want to deform with the facial expressions of your head. For example, when you import and equip eyebrows as a face accessory, you can animate the eyebrows to move with the character's eyes. @@ -56,7 +56,7 @@ To import a face accessory: -2. Using the [Accessory Fitting tool](../../../art/accessories/accessory-fitting-tool.md), convert the `Class.MeshPart` into an `Class.Accessory` instance. +2. Using the [Accessory Fitting Tool](../../../art/accessories/accessory-fitting-tool.md), convert the `Class.MeshPart` into an `Class.Accessory` instance. 1. In the **Avatar** tab, click on the **Accessory Fitting Tool**. The **Accessory Fitting Tool** window displays. 2. In the **Explorer** window, select the **MeshPart** you imported as a face accessory. Its name displays in the **Part** field. @@ -78,9 +78,9 @@ You can preview the accessory on your imported model by making the `Class.Access
-You can also save the `Class.Accessory` instance to your toolbox and use the asset ID at any time in your experiences. For information on equipping accessories by applying a `Class.HumanoidDescription`, see [Customize characters with humanoid description](../../../characters/appearance.md#set-multiple-accessories). +You can also save the `Class.Accessory` instance to your toolbox and use the asset ID at any time in your experiences. For information on equipping accessories by applying a `Class.HumanoidDescription`, see [Customizing Characters with Humanoid Description](../../../characters/appearance.md#setting-multiple-accessories). -### AutoSkin property +### Accessory Skinning You can enable the `Class.WrapLayer.AutoSkin` property in the accessory's `Class.WrapLayer` instance to apply the skinning of the head to the face accessory. This allows a face accessory to fit and follow a character's expressions without having to apply any skinning influences to it during the 3D modeling process. @@ -90,7 +90,7 @@ The following options are available for the `Class.WrapLayer.AutoSkin` property: - **EnabledOverride**: Enables the Auto-Skin Transfer process and allows Studio to override any existing skinning information found on the accessory. Choose this setting when you want to set or replace the existing skinning of an accessory using the Auto-Skin Transfer version. - **EnabledPreserve**: Enables the Automatic Skinning Transfer process but **doesn't** allow it to override any existing skinning information found on the accessory. Choose this setting when you want to preserve and maintain any existing skinning of an accessory. If there isn't any skinning to maintain, the Auto-Skin Transfer creates new skinning automatically. -## Animate heads +## Animating Heads Animatable head `Class.MeshPart|MeshParts` include a `Class.FaceControls` instance which allows you to access your facial pose properties. @@ -105,20 +105,20 @@ Animatable head `Class.MeshPart|MeshParts` include a `Class.FaceControls` instan
-You can adjust these properties in the Animation Editor to animate your head. For more information, see [Animate heads](../../../art/characters/facial-animation/animate-heads.md). +You can adjust these properties in the Animation Editor to animate your head. For more information, see [Animating Heads](../../../art/characters/facial-animation/animating-heads.md). ## Troubleshooting -When importing custom head models, the [Output Window](../../../studio/output.md) displays an error or warning message if there were any issues during the configuration process. +When importing custom head models, the [Output window](../../../studio/output.md) displays an error or warning message if there were any issues during the configuration process. -### Error messages +### Error Messages Error messages indicate a failure to properly import a model with a head. Reference the following table for a summary of all head error messages and troubleshooting tips: - + @@ -186,14 +186,14 @@ Error messages indicate a failure to properly import a model with a head. Refere
Error messageError Message Troubleshooting
-### Warning messages +### Warning Messages Warning messages indicate a potential issue with an imported head model. Reference the following table for a summary of all head warning messages and troubleshooting tips: - + diff --git a/content/en-us/art/characters/import.md b/content/en-us/art/characters/importing.md similarity index 87% rename from content/en-us/art/characters/import.md rename to content/en-us/art/characters/importing.md index 44fabc9bf..22177eaa1 100644 --- a/content/en-us/art/characters/import.md +++ b/content/en-us/art/characters/importing.md @@ -1,17 +1,17 @@ --- -title: Import character bodies +title: Importing Character Bodies description: Use the 3D Importer to add third-party models to Studio before testing, using, or uploading the character model. --- Use the following instructions to import a full character body model into Studio as a `Model` object that you can save to use in your experience, share with others, or upload to the Marketplace. -If you are using a single-mesh character body for the Roblox Auto-Setup tool, see [Avatar auto-setup](../modeling/avatar-setup.md#avatar-auto-setup). +If you are using a single-mesh character body for the Roblox Auto-Setup tool, see [Avatar Auto-Setup](../modeling/avatar-setup.md#avatar-auto-setup). Studio's 3D Importer provides a quick and easy way to import third-party 3D assets into your projects. The importer provides object previews and error-checking to ensure that your asset meets Roblox's [general 3D requirements](../modeling/specifications.md). -Keep in mind, your character model must also follow Roblox's [avatar character specifications](../characters/specifications.md) to use or sell this asset as an avatar-ready character model, or you may experience errors later in the workflow. +Keep in mind, your character model must also follow Roblox's [Avatar Character Specifications](../characters/specifications.md) to use or sell this asset as an avatar-ready character model, or you may experience errors later in the workflow. To import your asset: @@ -21,7 +21,7 @@ To import your asset: - If textures don't load for your asset, you can manually import your textures later. - - See [3D importer](../../art/modeling/3d-importer.md) for additional information on import settings and troubleshooting. + - See [3D Importer](../../art/modeling/3d-importer.md) for additional information on import settings and troubleshooting. 3. To begin body validation after import, enable **Validate UGC Body**. This can save you time if you intend on uploading your body to the Marketplace. 4. Set the **Rig Scale** to the appropriate [Body Scale](../characters/specifications.md#body-scale) of your character. @@ -30,7 +30,7 @@ To import your asset: 5. Select **Import**. The asset populates in your workspace as a `Class.Model` with the appropriate textures applied as a `Class.SurfaceAppearance` or `Class.MeshPart.TextureID`. -Manually add textures +Manually adding textures If textures didn't load correctly, add them manually. You may need to save and publish your experience in order to access the [Asset Manager](../../projects/assets/manager.md). @@ -80,12 +80,12 @@ After successful fitting and converting, your 3D model should populate in your p -Character creation is a complex process that requires lots of testing and iteration. 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. +Character creation is a complex process that requires lots of testing and iteration. See [Testing Characters](../../art/characters/testing/index.md) for steps on importing your character model into a test place and verifying your avatar and related components. With this new character `Class.Model`, you can perform any of the following: -- Begin the process of [uploading and publishing](../../marketplace/publish-to-marketplace.md#upload-an-asset) the character model to the Marketplace. This involves some additional validation and moderation steps. +- Begin the process of [uploading and publishing](../../marketplace/publishing-to-marketplace.md#uploading-an-asset) the character model to the Marketplace. This involves some additional validation and moderation steps. - Use the model in your current experience and modify the model's appearance with [HumanoidDescription](../../characters/appearance.md#humanoiddescription). diff --git a/content/en-us/art/characters/index.md b/content/en-us/art/characters/index.md index ec9ac9530..e887ce474 100644 --- a/content/en-us/art/characters/index.md +++ b/content/en-us/art/characters/index.md @@ -1,5 +1,5 @@ --- -title: Avatar characters +title: Avatar Characters 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. hideBreadcrumbs: true --- @@ -18,7 +18,7 @@ Custom avatars are first created in 3D modeling programs, such as [Blender](http - Review the [basic character creation tutorial](../characters/creating/index.md) to get started on creating your first avatar character using Roblox's templates. - [Various tools, resources, and guides](#resources) provided by Roblox to standardize and expedite the creation process. -## Components of an avatar +## Components of an Avatar All avatar character models are made up of several fundamental components that provide users the functionality and flexibility to interact with their world. Many of these components are never made visible to the user, but they enable powerful avatar features that enhance social and environmental interactions. When creating avatar characters, all of these components are typically created first in your modeling software and then converted to their appropriate Roblox Studio instance on import. @@ -48,7 +48,7 @@ Each avatar character is made up of the following rendered and non-rendered comp -### Body parts +### Body Parts
Each avatar character is made up of 15 separate mesh objects
@@ -72,7 +72,7 @@ Textures are image files that define the surface appearance of your character. Y When texturing parts of your character model's body, ensure that your character model includes a modesty layer over sensitive regions. See [Community Standards](https://en.help.roblox.com/hc/en-us/articles/203313410#safety) for more information on Roblox's policies. -### Rigging armature +### Rigging Armature
The armature is made up of 16 bones, 1 for each body part geometry and a root bone
@@ -82,7 +82,7 @@ When texturing parts of your character model's body, ensure that your character An armature allows each character to articulate its limbs and move naturally through the environment. Often referred to as bones or joints, this rigging character information includes skinning data which allows connected limbs, like the knees or elbows to bend organically. In Studio, each bone of the character armature is represented by `Class.Bone` objects that connect the character `Class.MeshPart` objects together. -### Face animation data +### Face Animation Data
Each avatar character face is rigged and skinned to create various expressions
@@ -93,7 +93,7 @@ An armature allows each character to articulate its limbs and move naturally thr
Each required face pose is saved as a keyframe in the animation timeline.
Facial animation data allow each character to use global facial expressions. Each character includes facial bones and skinning, animation timeline data, and mapped pose data that allows it. In Studio, these facial animation elements are represented by a `Class.FaceControls` instance. -### Cage meshes +### Cage Meshes
Head and Upper Torso cage mesh objects (wireframe)
@@ -117,20 +117,20 @@ Attachment points define where rigid 3D accessories and equipables attach to the When wearing layered clothing, the clothing isn't attached directly to the attachment, but it does reference the associated attachment point during ragdoll and dismemberment animations. -## Creation process +## Creation Process When designing an avatar model, you must export all of the avatar components in a single `.fbx` or `.gltf` for import into Studio. Since 3D creation isn't a linear process and always requires reiteration and testing, the process of creating an avatar character model can differ between individuals and various creation workflows. In general, the creation process follows these typical workflows: -
Basic Creation with Templates
Customize a Roblox template character that already includes all the necessary components. See [Create with templates](../characters/creating/index.md) for guides and instructions.
+
Basic Creation with Templates
Customize a Roblox template character that already includes all the necessary components. See [Creating with Templates](../characters/creating/index.md) for guides and instructions.
Advanced Creation from Scratch
Create characters from scratch, allowing full customization of the avatar character's components.
-Ensure that all assets you create follow any applicable [Marketplace policies](../marketplace/marketplace-policy.md) and [Roblox Community Standards](https://en.help.roblox.com/hc/en-us/articles/203313410-Roblox-Community-Standards). +Ensure that all assets you create follow any applicable [Marketplace Policies](../marketplace/marketplace-policy.md) and [Roblox Community Standards](https://en.help.roblox.com/hc/en-us/articles/203313410-Roblox-Community-Standards). ## Resources @@ -149,40 +149,40 @@ If you are interested in specific avatar creation topics, use the following tabl
- + - - + + - - + + - - + + - + - - + + - - + + - + - +
Error messageError Message Troubleshooting
Tutorials[Basic character creation tutorial](../accessories/creating/index.md)[Basic Character Creation Tutorial](../accessories/creating/index.md)
Reference files[Avatar references and project files](../characters/project-files.md)

[Example mesh/model objects](../modeling/project-files.md)
Reference Files[Avatar references and project files](../characters/project-files.md)

[Example Mesh/Model Objects](../modeling/project-files.md)
Technical specs[.FBX export settings](../characters/export-settings.md)

[Avatar specifications](../characters/specifications.md)

[General mesh specifications](../modeling/specifications.md)

[Accessory specifications](../accessories/specifications.md)

[Marketplace policy](../marketplace/marketplace-policy.md)
Technical Specs[.FBX Export Settings](../characters/export-settings.md)

[Avatar Specifications](../characters/specifications.md)

[General Mesh Specifications](../modeling/specifications.md)

[Accessory Specifications](../accessories/specifications.md)

[Marketplace Policy](../marketplace/marketplace-policy.md)
Cosmetic creation[Accessories overview](../accessories/index.md)

[Creating face accessories](../characters/facial-animation/create-face-accessories.md)

[Accessory Fitting Tool](../accessories/accessory-fitting-tool.md)

[Accessory specifications](../accessories/specifications.md)

[Marketplace requirements](../../marketplace/marketplace-policy.md)
Cosmetic Creation[Accessories Overview](../accessories/specifications.md)

[Creating Face Accessories](../characters/facial-animation/creating-face-accessories.md)

[Accessory Fitting Tool](../accessories/accessory-fitting-tool.md)

[Accessory Specifications](../accessories/specifications.md)

[Marketplace Requirements](../marketplace/marketplace-policy.md)
Texturing[Texturing requirements](../modeling/texture-specifications.md)

[PBR textures](../modeling/surface-appearance.md)
[Texturing Requirements](../modeling/texture-specifications.md)

[PBR Textures](../modeling/surface-appearance.md)
Rigging and skinning[Rigging and skinning overview](../modeling/rigging.md)

[Humanoid rig requirements](../characters/specifications.md#rig)

[Rigging facial bones](../characters/facial-animation/create-basic-heads.md#rig)

[Automatic Skinning Transfer](../accessories/automatic-skinning-transfer.md)

[Skinning facial bones](../characters/facial-animation/create-basic-heads.md#skin-face-bones)
Rigging and Skinning[Rigging and Skinning Overview](../modeling/rigging.md)

[Humanoid Rig Requirements](../characters/specifications.md#rigging)

[Rigging Facial Bones](../characters/facial-animation/creating-basic-heads.md#rigging)

[Auto Skin Transfer](../accessories/automatic-skinning-transfer.md)

[Skinning Facial Bones](../characters/facial-animation/creating-basic-heads.md#skinning-face-bones)
Facial animation and live heads[Basic head creation](../characters/facial-animation/create-basic-heads.md)

[Face accessory creation](../characters/facial-animation/create-face-accessories.md)

[FACS pose references](../characters/facial-animation/facs-poses-reference.md)
Facial Animation and Live Heads[Basic Head Creation](../characters/facial-animation/creating-basic-heads.md)

[Creating Face Accessories](../characters/facial-animation/creating-face-accessories.md)

[FACS Pose References](../characters/facial-animation/facs-poses-reference.md)
Testing and validationTesting and Validation [Calisthenics Tool](../modeling/calisthenics-tool.md)

[Clothing Validation Tool](../accessories/validation-tool.md)
Publishing and Marketplace[Uploading to Marketplace](../../marketplace/publish-to-marketplace)

[Marketplace policy](../../marketplace/marketplace-policy)

[Fees and commissions](../../marketplace/marketplace-fees-and-commissions)
[Uploading to Marketplace](../marketplace/publishing-to-marketplace.md)

[Marketplace Policy](../marketplace/marketplace-policy.md)

[Fees and Commissions](../marketplace/marketplace-fees-and-commissions.md)
diff --git a/content/en-us/art/characters/project-files.md b/content/en-us/art/characters/project-files.md index faf52935c..8a070d950 100644 --- a/content/en-us/art/characters/project-files.md +++ b/content/en-us/art/characters/project-files.md @@ -1,5 +1,5 @@ --- -title: Avatar project files and references +title: Avatar Project Files and References description: Download various character-related project files and reference files. --- @@ -7,7 +7,7 @@ description: Download various character-related project files and reference file See [Resources](../../avatar/resources.md) for a complete list of avatar-related downloadable content. -## Project files +## Project Files The following `.fbx`, `.blend`, and `.ma` project files are available to use as examples, boilerplate, or reference: @@ -23,7 +23,7 @@ The following `.fbx`, `.blend`, and `.ma` project files are available to use as Lola.fbx - A skinned R15 character created from the Skin a humanoid model guide. Since this reference model doesn't yet have [inner and outer cage mesh data](../../art/characters/specifications.md#inner-and-outer-cages), this model can't equip layered clothing or accessories. + A skinned R15 character created from the Skinning a Humanoid Model guide. Since this reference model doesn't yet have [inner and outer cage mesh data](../../art/characters/specifications.md#inner-and-outer-cages), this model can't equip layered clothing or accessories. Fish-Person.zip @@ -39,11 +39,11 @@ The following `.fbx`, `.blend`, and `.ma` project files are available to use as ClassicMannequin.fbx - A [classic body](../../art/characters/specifications.md#classic) type blank mannequin to use in Studio or your modeling application. + A [Classic body](../../art/characters/specifications.md#classic) type blank mannequin to use in Studio or your modeling application. ClassicMannequin_With-Cages - A [classic](../../art/characters/specifications.md#classic) body type blank mannequin with **body cages** to use in Studio or your modeling application for clothing design. Due to unconfigured cage objects, this file may not import correctly into Studio until modified. + A [Classic](../../art/characters/specifications.md#classic) body type blank mannequin with **body cages** to use in Studio or your modeling application for clothing design. Due to unconfigured cage objects, this file may not import correctly into Studio until modified. RthroMannequin.fbx @@ -143,12 +143,12 @@ The following `.fbx`, `.blend`, and `.ma` project files are available to use as ## Templates -If you are creating character models, you can choose from a variety of starting templates that best match your final design and save time on creating the [avatar components](../../art/characters/index.md#components-of-an-avatar). See [Create with templates](../../art/characters/creating/index.md#template-files) for important information on using these template files. +If you are creating character models, you can choose from a variety of starting templates that best match your final design and save time on creating the [avatar components](../../art/characters/index.md#components-of-an-avatar). See [Creating with Templates](../../art/characters/creating/index.md#template-files) for important information on using these template files. 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. -If you are using Roblox's avatar template files, you must perform the [cleanup steps](../../art/characters/creating/combine-head-geometry.md) in order for the assets to properly validate before publishing to the Marketplace. +If you are using Roblox's avatar template files, you must perform the [cleanup steps](../../art/characters/creating/combining-head-geometry.md) in order for the assets to properly validate before publishing to the Marketplace. diff --git a/content/en-us/art/characters/specifications.md b/content/en-us/art/characters/specifications.md index e49e96699..ecef3014d 100644 --- a/content/en-us/art/characters/specifications.md +++ b/content/en-us/art/characters/specifications.md @@ -1,18 +1,18 @@ --- -title: Character specifications +title: Character Specifications description: Character specification lists the specific technical requirements for custom characters created outside of Studio. --- Character models require a specific set of components and configuration standards to ensure all avatar features work as expected. Check that your model meets the following modeling specifications and guidelines before exporting to ensure Studio compatibility. -When ready to export, see the [export requirements](../../art/characters/export-settings.md) for mesh export settings for Blender and Maya. +When ready to export, see [Export Requirements](../../art/characters/export-settings.md) for mesh export settings for Blender and Maya. If creating other types of 3D models:
    -
  • When creating a generic mesh, your model must meet [general mesh specifications](../modeling/specifications.md).

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

  • -
  • When creating a clothing accessory model, see the [clothing specifications](../../art/accessories/clothing-specifications.md).
  • +
  • When creating a generic mesh, your model must meet [General Mesh Specifications](../modeling/specifications.md).

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

  • +
  • When creating a clothing accessory model, see [Clothing Specifications](../../art/accessories/clothing-specifications.md).
@@ -26,7 +26,7 @@ Avatar character models are made up of 15 separate mesh objects and require addi - **Orientation** - Characters must face positive Z and stand up in positive Y. - **Pose** - Before exporting, set your character to an I-Pose, A-Pose, or T-Pose when possible. -### Body scale +### Body Scale Roblox supports 3 standards of body scales: **Normal**, **Slender**, and **Classic**. These standards allow developers to create experiences and spaces with consistent body sizes for standardizing movement and interaction. While the minimum sizes for each body scale is the same, each body scale has a unique maximum total body size, as well as a range for each body asset. @@ -54,7 +54,7 @@ A Rthro Normal body scale [downloadable mannequin](../../avatar/resources.md#ref -In the [3D importer](../../art/modeling/3d-importer.md#avatar-general), use **Rig Type** > **Rthro** to import your model as a Normal body scale. +In the [3D Importer](../../art/modeling/3d-importer.md#avatar-general), use **Rig Type** > **Rthro** to import your model as a Normal body scale.
@@ -162,7 +162,7 @@ A Rthro Slender (Narrow) body scale [downloadable mannequin](../../avatar/resour -In the [3D importer](../../art/modeling/3d-importer.md#avatar-general), use **Rig Type** > **Rthro Narrow** to import your model as a Slender body scale. +In the [3D Importer](../../art/modeling/3d-importer.md#avatar-general), use **Rig Type** > **Rthro Narrow** to import your model as a Slender body scale.
@@ -367,18 +367,18 @@ In the [3D Importer](../../art/modeling/3d-importer.md#avatar-general), use **Ri -### Triangle budgets +### Triangle Budgets -Although model geometries are typically created using quads, the Roblox Engine converts imported assets into tris. Each asset of your character model must not exceed our maximum tri budget. To quickly get the number of expected tris in your third-party modeling application, you can double the number of quads in your model. +Although model geometries are typically created using quads, the Roblox engine converts imported assets into tris. Each asset of your character model must not exceed our maximum tri budget. To quickly get the number of expected tris in your third-party modeling application, you can double the number of quads in your model. When character models are uploaded to Studio and created into assets for the Marketplace, the body is split into 6 individual assets: **DynamicHead**, **Torso**, **LeftArm**, **RightArm**, **LeftLeg**, **RightLeg**. - - - + + + @@ -420,7 +420,7 @@ Although model geometries are typically created using quads, the Roblox Engine c
Asset typeIncluded mesh objectsMaximum trianglesAsset TypeIncluded Mesh ObjectsMaximum Triangles
-### Body parts +### Body Parts See the following specifications for the individual mesh objects that make up a character model: @@ -444,9 +444,9 @@ See the following specifications for the individual mesh objects that make up a -### Face accessories +### Face Accessories -Face accessories, such as hair, eyebrows, and eyelashes are unique accessories that you can bundle with an avatar body upload. At this time, eyebrows and eyelashes can not be uploaded as standalone accessories and must be bundled with an avatar body. See [Accessory specifications](../accessories/specifications.md#face-accessories) for additional information on face accessories. +Face accessories, such as hair, eyebrows, and eyelashes are unique accessories that you can bundle with an avatar body upload. At this time, eyebrows and eyelashes can not be uploaded as standalone accessories and must be bundled with an avatar body. See [Accessory Specifications](../accessories/specifications.md#face-accessories) for additional information on face accessories. ### Visibility @@ -491,8 +491,8 @@ Attachments must follow a specific naming convention and positional consistency: - - + + @@ -646,7 +646,7 @@ See the following requirements for skinning: - **No Root Influences** - Do not apply influences to the Root bone or joint. - **Symmetry** - When possible, maintain symmetry when applying influences to a rig. -## Facial animations +## Facial Animations Roblox supports facial animation on character heads and can support more than 50 base poses. If you are creating an avatar character, it must, at minimum, include the following 17 [FACS reference poses](../../art/characters/facial-animation/facs-poses-reference.md) to support avatar chat: @@ -674,7 +674,7 @@ While the 17 poses are a minimum requirement, it's recommended to include as man Avatar characters must follow Roblox's [texture specifications](../../art/modeling/texture-specifications.md). Characters created for the Marketplace can take advantage of [custom skin tones](#custom-skin-tone) which use alpha layers allow users to select their own base color. -### Custom skin tone +### Custom Skin Tone When texturing an avatar character model where the user can set their own skin tone, set the exposed skin areas as transparent so a default color or texture is not baked into the texture. When rendering, the Studio engine applies the transparent layer on top without any layer effects. This step applies mostly to human-like characters with exposed skin that you intend users to customize. @@ -711,24 +711,24 @@ The following are examples of skin tone shading for the face, and you can apply -## Outer cages +## Outer Cages 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: -- Use Roblox's [body cage templates](../../avatar/resources.md#project-files) to ensure naming convention and other configurations are correct. +- 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. -## Marketplace requirements +## Marketplace Requirements Along with the other technical requirements listed, your items must meet the following additional specifications before uploading them to the Marketplace to sell: -- Ensure that your items adhere to the [Marketplace program guidelines](../../marketplace/marketplace-policy.md). +- Ensure that your items adhere to the [Marketplace Program Guidelines](../../marketplace/marketplace-policy.md). - Whenever possible, ensure that your items adhere to the following modeling requirements: - - [Custom mesh specifications](../../art/modeling/specifications.md) + - [Custom Mesh Specifications](../../art/modeling/specifications.md) - Any applicable [avatar specifications](../../art/characters/specifications.md) - Object `Class.MeshPart.Material|Material` is set to `Plastic`. - Object `Class.MeshPart.Transparency|Transparency` is set to `0`. diff --git a/content/en-us/art/characters/testing/blender.md b/content/en-us/art/characters/testing/blender.md index 0832d227c..401903fce 100644 --- a/content/en-us/art/characters/testing/blender.md +++ b/content/en-us/art/characters/testing/blender.md @@ -1,5 +1,5 @@ --- -title: Test in Blender +title: Testing in Blender comments: description: Verify the important aspects of your character model in Blender before importing into Studio. next: /art/characters/testing/studio @@ -8,7 +8,7 @@ prev: /art/characters/testing/ You can quickly verify many of your components in Blender, allowing you to catch out problems that may cause issues later on. You can use a mix of Blender native tools and Roblox's helper plugins to check for many common issues in your character model. -## Facial animation data +## Facial Animation Data Facial animation uses multiple modeling components to work effectively. If using a template, or making changes to a model with existing facial animation data, it's sometimes possible to make a change that affects the saved poses, either in the animation timeline, or in the custom property of the head mesh. @@ -30,17 +30,17 @@ Use the following steps to help verify the integrity of your facial animation da 2. In templates and some reference models, this bone is commonly named `DynamicHead` and indicates the beginning of the facial animation rig. 2. There should be about the same number of custom properties as unique animation frames, with each animation pose having its own mapped custom property. - 3. The names for the mapped poses here should match the spelling and capitalization of the [FACS pose reference](../../../art/characters/facial-animation/facs-poses-reference.md). + 3. The names for the mapped poses here should match the spelling and capitalization of the [FACS Pose Reference](../../../art/characters/facial-animation/facs-poses-reference.md). -If you discover issues with your face animation data, you may need to repeat the skinning, posing, or mapping processes for your character's head. See [Creating Heads](../../../art/characters/facial-animation/create-basic-heads.md) for a general overview of the avatar head creation process. +If you discover issues with your face animation data, you may need to repeat the skinning, posing, or mapping processes for your character's head. See [Creating Heads](../../../art/characters/facial-animation/creating-basic-heads.md) for a general overview of the avatar head creation process. If you are using a template and run into issues, it's possible the facial data was overridden by a saved animation, or the rigging or mapped data was mistakenly deleted. If it's difficult to quickly identify and resolve the issue, it may be quicker to restart your character customization from the original template file. -## Body skin +## Body Skinning Properly skinning your character models ensures natural joint movements and realistic poses and expressions. There are several ways to verify skinning data, like using Blender's Pose Mode to pose the joints and examine how certain orientations can affect the joint skinning. @@ -57,24 +57,24 @@ Use the following steps in Blender to verify your joint skinning in Pose mode: -You can also run through common poses and movements using Roblox's [Calisthenics Tool](../../../art/modeling/calisthenics-tool.md) add-on, which applies several common animations to an avatar armature that you can play back and review in Blender's animation timeline. +You can also run through common poses and movements using Roblox's [Calisthenics tool](../../../art/modeling/calisthenics-tool.md) add-on, which applies several common animations to an avatar armature that you can play back and review in Blender's animation timeline. -The [Calisthenics Tool](../../../art/modeling/calisthenics-tool.md) adds animations to your timeline to quickly preview body animations. Be careful when saving or exporting your character when using this tool, as it may conflict with saved facial animation data that uses the same timeline. +The [Calisthenics tool](../../../art/modeling/calisthenics-tool.md) adds animations to your timeline to quickly preview body animations. Be careful when saving or exporting your character when using this tool, as it may conflict with saved facial animation data that uses the same timeline. -If you discover issues with your skinning, you may need to troubleshoot and reapply rigging and skinning steps to your humanoid. See [Rigging and skinning](../../../art/modeling/rigging.md) for an overview of the rigging and skinning processes. +If you discover issues with your skinning, you may need to troubleshoot and reapply rigging and skinning steps to your humanoid. See [Rigging and Skinning](../../../art/modeling/rigging.md) for an overview of the rigging and skinning processes. If you are using a template, it's possible the skinning data was affected by a destructive modeling change. This may require reskinning, or starting over your character customization from the original template file. -## Technical specifications +## Technical Specifications Your avatar components should match the requirements provided in the [avatar specifications](../../../art/characters/specifications.md). When using templates and following appropriate non-destructive modeling practices, most of these components should not be touched, but you should still double-check that each component is compliant with the technical requirements. -If you are using Roblox character templates and are ready to export into Studio, see [Exporting instructions](../../../art/characters/creating/export-textures.md) for specific export instructions for template files. +If you are using Roblox character templates and are ready to export into Studio, see [Exporting instructions](../../../art/characters/creating/exporting-textures.md) for specific export instructions for template files. diff --git a/content/en-us/art/characters/testing/index.md b/content/en-us/art/characters/testing/index.md index 87fd47697..edb2b013a 100644 --- a/content/en-us/art/characters/testing/index.md +++ b/content/en-us/art/characters/testing/index.md @@ -1,5 +1,5 @@ --- -title: Testing characters +title: Testing Characters comments: description: Verify the important aspects of your character model in Blender and in Studio. next: /art/characters/testing/blender @@ -7,7 +7,7 @@ next: /art/characters/testing/blender It's important to constantly test your models during and after the creation process to ensure that your character can interact with various social and environmental elements in any experience. -Whether you are using a template character, or your own custom assets, use the information provided in [Test in Blender](../../../art/characters/testing/blender.md) and [Test in Studio](../../../art/characters/testing/studio.md) throughout your workflow to comprehensively test your assets and quality check your models. +Whether you are using a template character, or your own custom assets, use the information provided in [Testing in Blender](../../../art/characters/testing/blender.md) and [Testing in Studio](../../../art/characters/testing/studio.md) throughout your workflow to comprehensively test your assets and quality check your models. Use the following table as an overview of common tests and resources to verify each component of your character model. @@ -20,7 +20,7 @@ Use the following table as an overview of common tests and resources to verify e - + @@ -60,7 +60,7 @@ Use the following table as an overview of common tests and resources to verify e - + diff --git a/content/en-us/art/characters/testing/studio.md b/content/en-us/art/characters/testing/studio.md index 148ff2df1..368c74aaa 100644 --- a/content/en-us/art/characters/testing/studio.md +++ b/content/en-us/art/characters/testing/studio.md @@ -1,5 +1,5 @@ --- -title: Test in Studio +title: Testing in Studio comments: description: Verify the important aspects of your character model in a custom Studio test experience. prev: /art/avatar/testing/blender @@ -9,7 +9,7 @@ Test your character model in Studio to understand how it looks and feels within Roblox provides an [Avatar Test experience](https://www.roblox.com/games/13176231501/Avatar-Test-Place) that you can open in Studio and import your character model in. This experience provides a wide variety of environmental and clothing tests to ensure that your character model and related components work as expected. -## Set up test experience +## Setting up Test Experience The following is the general testing process setting up the Avatar Test experience: @@ -18,7 +18,7 @@ The following is the general testing process setting up the Avatar Test experien 3. Set your model as the starter character. 4. Launch a playtest of the experience. -### Open in Studio +### Opening in Studio In order to use the [Avatar Test experience](https://www.roblox.com/games/13176231501/Avatar-Test-Place), you must first download it from Roblox. You can save the experience locally and make any changes that may help your testing workflow. Roblox may update this experience periodically to add or improve features. @@ -30,7 +30,7 @@ To download the Avatar Test experience: -### Import +### Importing After you open the test experience in Studio, import your custom character model. @@ -56,10 +56,10 @@ After you open the test experience in Studio, import your custom character model 4. Click **Import**. The character's model populates into the workspace. - If an error or warning message displays in the Output Window, see [Troubleshooting](../../../art/characters/facial-animation/use-heads-in-studio.md#troubleshooting) for guidance on how to handle your specific error or warning message. + If an error or warning message displays in the Output window, see [Troubleshooting](../../../art/characters/facial-animation/using-heads-in-studio.md#troubleshooting) for guidance on how to handle your specific error or warning message. -### Add SurfaceAppearance +### Adding SurfaceAppearance If you exported your textures separately, or if the 3D Importer fails to pick up your PBR textures, you can add them manually. @@ -83,7 +83,7 @@ To add individual image texture files: -### Set model as StarterPlayer +### Setting Model as StarterPlayer In order to play as the character during a playtest, rename and move the model instance: @@ -95,7 +95,7 @@ In order to play as the character during a playtest, rename and move the model i After you rename and add your model, navigate to the **Test** > **Play** button to start a test session of the experience as the custom model. -## Use test experience +## Using Test Experience The Avatar Test experience includes several features in the interface and environment to quickly perform comprehensive tests of your avatar characters. You can use the [test checklist](#checklist) to ensure you are reviewing all the important aspects of your avatar character. @@ -146,7 +146,7 @@ When playtesting the experience, use the following UI buttons on the right side Use the following checklists to ensure that you are comprehensively testing each component of your avatar. Use the Avatar menu to switch between your custom avatar and a control avatar to verify expected behavior. -#### Movement and animation +#### Movement and Animation
Testing guitar animation emote
@@ -204,7 +204,7 @@ Check the following for any anomalies: If you see unexpected behavior with your character's movement, there may be some issues with the rigging or skinning of your character. It may require revisiting the rigging and armature components of your avatar model in your modeling application. -#### Lighting and color +#### Lighting and Color
Testing skin tones
@@ -235,7 +235,7 @@ Check the following for any anomalies: If you see unexpected behavior with your character's appearance in various lighting and color selections, there may be some issues with the texturing of your character. It may require re-adjusting the texturing components of your avatar model in your modeling application. -#### Clothing and accessories +#### Clothing and Accessories
Test a mix of clothing and accessories
diff --git a/content/en-us/art/characters/validation-tool.md b/content/en-us/art/characters/validation-tool.md index 917faf8b0..7ebe27cbd 100644 --- a/content/en-us/art/characters/validation-tool.md +++ b/content/en-us/art/characters/validation-tool.md @@ -1,5 +1,5 @@ --- -title: Blender validation tool +title: Blender Validation Tool description: The Avatar Validation Tool checks for common character model issues in Blender. --- @@ -9,7 +9,7 @@ The **Avatar Validation Tool** is a supplemental Blender add-on you can use to q This tool can save you time by checking for common validation specifications before you export your model, but it doesn't provide a comprehensive verification of all aspects of your character model. You should always continually test your character model, including testing your characters [in Studio](../../art/characters/testing/studio.md) and verifying on your own if your model meets Roblox's [character specifications](../../art/characters/specifications.md). -## Install +## Installing The Validation Tool plugin is compatible with Blender 3.5.1+. You may experience unexpected behavior if using earlier versions of Blender. @@ -42,7 +42,7 @@ To install the Validation Tool in Blender:
-## Validate +## Validating After installing the plugin, you can begin validating your character models. When validating, results with issues display as red. In some cases, you can apply an automatic fix to checks that have issues. See [Checks and Troubleshooting Steps](#checks-and-troubleshooting) for details on each validation check. @@ -59,7 +59,7 @@ To use the validation tool on your asset: This validation tool only checks for common validation issues. You should always continually test your character model, including testing your characters [in Studio](../../art/characters/testing/studio.md) and verifying on your own if your model meets Roblox's [character specifications](../../art/characters/specifications.md). -## Checks and troubleshooting +## Checks and Troubleshooting Each button on the validation tool performs a different check against the expected [character specifications](../../art/characters/specifications.md). The following are the specific types of verification each check performs, as well as general troubleshooting steps to resolve discovered issues: diff --git a/content/en-us/art/index.md b/content/en-us/art/index.md index 3c50d665c..1275fcda1 100644 --- a/content/en-us/art/index.md +++ b/content/en-us/art/index.md @@ -1,5 +1,5 @@ --- -title: 3D art in Roblox +title: 3D Art in Roblox description: An overview of 3D art tools, resources, and workflows for creators of all experience levels. hideInPageNavigation: true hideBreadcrumbs: true @@ -11,7 +11,7 @@ No matter your creative background, Roblox provides a variety of tools, guides,
-

Quick reference

+

Quick Reference

Whether you're just getting started with Roblox or need a quick refresher, use the following popular resources to get up to speed. @@ -22,9 +22,9 @@ Whether you're just getting started with Roblox or need a quick refresher, use t style={{position: "relative", paddingBottom: "56.25%", height: 0}}> - 3D art in Roblox Studio + 3D Art in Roblox Studio Get up to speed with the many powerful tools and functions in Roblox Studio! - Studio for artists + Studio for Artists @@ -35,11 +35,11 @@ Whether you're just getting started with Roblox or need a quick refresher, use t style={{position: "relative", paddingBottom: "56.25%", height: 0}}> - Use third-party applications + Using Third-Party Applications Understand how to use incorporate your creations from off-platform into Studio. Overview - General modeling requirements - Downloadable references + General Modeling Requirements + Downloadable References @@ -51,11 +51,11 @@ Whether you're just getting started with Roblox or need a quick refresher, use t style={{position: "relative", paddingBottom: "56.25%", height: 0}}> - Create avatar items + Creating Avatar Items Create accessories, clothing, and bodies that you can sell on the Marketplace. Overview - Marketplace overview - Fees and commissions + Marketplace Overview + Fees and Commissions @@ -77,8 +77,8 @@ that teaches you the skills you need to create and monetize your experiences. style={{position: "relative", paddingBottom: "56.25%", height: 0}}> - Environmental art - Environmental art teaches you how to recreate a high-quality environment for a first-person laser tag experience. + Environmental Art + Environmental Art teaches you how to recreate a high-quality environment for a first-person laser tag experience. - Avatar item tutorials + Avatar Item Tutorials Check out our tutorials on creating your own Avatar items ready for the Marketplace. - Create accessories - Create clothes - Create characters from templates + Creating Accessories + Creating Clothes + Creating Characters from Templates @@ -119,11 +119,11 @@ Check out the following showcases made by Roblox and the community. Each of thes style={{position: "relative", paddingBottom: "56.25%", height: 0}}> - Roblox creations + Roblox Creations Check out various experiences created by Roblox. Click to see documentation, downloadable resources, and links to try out the experiences yourself! Mystery of Duvall Drive Beyond the Dark - Modern City template + Modern City template @@ -134,7 +134,7 @@ Check out the following showcases made by Roblox and the community. Each of thes style={{position: "relative", paddingBottom: "56.25%", height: 0}}> - Community creations + Community Creations Check out these amazing showcase experiences created members of the community! Toyokawa Inaru Shrine by @nezko Hotel Resort by @ChooShu_Cho @@ -143,7 +143,7 @@ Check out the following showcases made by Roblox and the community. Each of thes -

From the staff

+

From the Staff

The following articles are from the staff, covering a broad array of topics that can help you on your creative journey both within Studio and beyond. @@ -152,7 +152,7 @@ The following articles are from the staff, covering a broad array of topics that -Create buttes and mesas with Studio terrain +Creating Buttes and Mesas with Studio Terrain Create beautiful and striking landscapes using Studio's powerful terrain and material tools. @@ -169,7 +169,7 @@ style={{marginRight:8, alignSelf: 'flex-start'}}>Learn more style={{position: "relative", paddingBottom: "56.25%", height: 0}}> -Custom skyboxes 101 +Custom Skyboxes 101 Apply your own custom skyboxes to your experience to add some flair and elevate your world. @@ -182,7 +182,7 @@ style={{marginRight:8, alignSelf: 'flex-start'}}>Learn more -Use alpha masks to customize colors +Using Alpha Masks to Customize Colors Save time and optimize for performance by using alpha masks in your PBR textures. @@ -195,7 +195,7 @@ style={{marginRight:8, alignSelf: 'flex-start'}}>Learn more -Create perfect audio loops +Creating Perfect Audio Loops Learn a quick technique to make seamless loops in your audio files. Great for ambience, music, sound effects, and more. @@ -208,7 +208,7 @@ style={{marginRight:8, alignSelf: 'flex-start'}}>Learn more -Use radial symmetry with Zbrush +Using Radial Symmetry with Zbrush Radial symmetry is an extremely versatile sculpting technique applicable in many third-party tools. This article is a primer on radial symmetry in Zbrush. @@ -232,36 +232,36 @@ Stay up to date with new articles written by our staff on the [DevForum](https:/
-

Additional resources

+

Additional Resources

The following is a list of common 3D art resources ordered by subject, as well as other Studio and Avatar documentation. You can also use the side navigation bar, search bar, or assistant to find specific articles and topics. -Get started and tutorials +Getting Started and Tutorials -Topic overviews +Topic Overviews -
Get started in Studio -Get started with third-party software -Get started with avatar items -Create your first experience -Creator Store overview -Marketplace overview +Getting Started in Studio +Getting Started with Third-Party Software +Getting Started with Avatar Items +Creating Your First Experience +Creator Store Overview +Marketplace Overview
-3D art tutorials +3D Art Tutorials -Core curriculum -Environmental art -Gameplay scripting +Core Curriculum +Environmental Art +Gameplay Scripting
-

See Engine tutorials for additional 3D Art tutorials.

+

See Engine Tutorials for additional 3D Art tutorials.

@@ -269,45 +269,45 @@ The following is a list of common 3D art resources ordered by subject, as well a -Avatar tutorials +Avatar Tutorials -Creating accessories -Create clothing -Create avatar characters from templates +Creating Accessories +Creating Clothing +Creating Avatar Characters from Templates
-

See Avatar tutorials for additional avatar tutorials.

+

See Avatar Tutorials for additional Avatar tutorials.

-Specifications and references +Specifications and References -Technical specs +Technical Specs -Blender and Maya .FBX export settings -General mesh specifications -Accessory specifications -Clothing specifications -Avatar character specifications -Marketplace policy +Blender and Maya .FBX Export Settings +General Mesh Specifications +Accessory Specifications +Clothing Specifications +Avatar Character Specifications +Marketplace Policy -Reference files -Example models -Reference avatar items -Add-ons and tools +Reference Files +Example Models +Reference Avatar Items +Add-ons and Tools @@ -316,25 +316,25 @@ The following is a list of common 3D art resources ordered by subject, as well a Texturing -Texturing requirements -PBR textures -Create customizable colors with alpha masks (staff) +Texturing Requirements +PBR Textures +Creating Customizable Colors with Alpha Masks (Staff) -Guides and workflows +Guides and Workflows -Studio tools +Studio Tools 3D Importer -Accessory Fitting tool +Accessory Fitting Tool Animation Editor @@ -350,39 +350,39 @@ The following is a list of common 3D art resources ordered by subject, as well a Toolbox and Asset Manager -

See Studio overview for more.

+

See Studio Overview for more.

-Environment, lighting, and effects +Environment, Lighting, and Effects -Environmental art curriculum -Assemble modular environments -Light with props -In-game sounds -Enhance outdoor environments with future lighting -Basic particle effects -Custom particle effects -Custom skyboxes 101 (Staff) +Environmental Art Curriculum +Assembling Modular Environments +Lighting with Props +In-Game Sounds +Enhancing Outdoor Environments with Future Lighting +Basic Particle Effects +Custom Particle Effects +Custom Skyboxes 101 (Staff)
-

See Lighting and effects for additional environment resources.

+

See Lighting and Effects for additional environment resources.

-Avatar item creation +Avatar Item Creation -Avatar overview -Accessories overview -Clothing overview -Character bodies overview -Marketplace overview +Avatar Overview +Accessories Overview +Clothing Overview +Character Bodies Overview +Marketplace Overview @@ -393,8 +393,8 @@ The following is a list of common 3D art resources ordered by subject, as well a Animation Capture Animation Editor -Export animations from Maya -Inverse kinematics +Exporting Animations from Maya +Inverse Kinematics

See Animation for additional resources.

@@ -403,11 +403,11 @@ The following is a list of common 3D art resources ordered by subject, as well a -Facial animation and live heads +Facial Animation and Live Heads -Basic head creation -Create face accessories -FACS pose references +Basic Head Creation +Creating Face Accessories +FACS Pose References @@ -415,14 +415,14 @@ The following is a list of common 3D art resources ordered by subject, as well a -Rigging and skinning +Rigging and Skinning -Rigging and skinning overview -Avatar rig requirements -Rig basic meshes -Rig facial bones -Skin facial bones -Auto skin transfer +Rigging and Skinning Overview +Avatar Rig Requirements +Rigging Basic Meshes +Rigging Facial Bones +Skinning Facial Bones +Auto Skin Transfer @@ -430,13 +430,13 @@ The following is a list of common 3D art resources ordered by subject, as well a -Publish to Creator Store and Marketplace +Publishing to Creator Store and Marketplace -Creator Store overview -Marketplace overview -Marketplace policy -Publish avatar items to Marketplace -Marketplace fees and commissions +Creator Store Overview +Marketplace Overview +Marketplace Policy +Publishing Avatar Items to Marketplace +Marketplace Fees and Commissions diff --git a/content/en-us/art/modeling/3d-importer.md b/content/en-us/art/modeling/3d-importer.md index 8b45bc36b..bf88b3c5b 100644 --- a/content/en-us/art/modeling/3d-importer.md +++ b/content/en-us/art/modeling/3d-importer.md @@ -8,18 +8,18 @@ description: 3D Importer imports third-party .fbx, .gltf, and .obj 3D model asse The 3D Importer allows you to import `.fbx`, `.gltf`, or `.obj` 3D models into Studio as a custom `Class.Model`. This tool supports a wide variety of 3D models, including: -- Meshes with basic or PBR ([surface appearance](../../art/modeling/surface-appearance.md)) textures. -- Meshes with [rigging and skinning data](../../art/modeling/rigging.md). +- Meshes with basic or PBR ([Surface Appearance](../../art/modeling/surface-appearance.md)) textures. +- Meshes with [rigging and skinning data](../../art/modeling/rigging.md) - Meshes with animation data. - Specialized meshes, such as [accessories](../../art/accessories/index.md), or characters with [facial animation data](../../art/characters/facial-animation/index.md). -To directly import 3D assets using HTTP requests, see the [Open Cloud usage guide for assets](../../cloud/open-cloud/usage-assets.md). +To directly import 3D assets using HTTP requests, see [Cloud Usage Guide for Assets](../../cloud/open-cloud/usage-assets.md). The 3D Importer is divided into three sections: -The 3D importer interface, showing a preview of the mesh in the top left, a list of 3D objects on the bottom left, and a list of toggle-able properties on the right side. +The 3D Importer interface, showing a preview of the mesh in the top left, a list of 3D objects on the bottom left, and a list of toggle-able properties on the right side. A. The **preview panel**, located in the top left, allows you to rotate and examine 3D objects before importing into your workspace or Toolbox. @@ -27,7 +27,7 @@ B. The **hierarchy panel**, located in the bottom left, allows you to select spe C. The **inspector panel**, located on the right, allows you to apply various settings to the imported object. -## Import 3D objects +## Importing 3D Objects
@@ -35,7 +35,7 @@ C. The **inspector panel**, located on the right, allows you to apply various se
-Before importing a 3D object, ensure that the `.fbx`, `.gltf` or `.obj` meets Studio's [mesh requirements](../../art/characters/specifications.md) to reduce errors or unexpected behavior. +Before importing a 3D object, ensure that the `.fbx`, `.gltf` or `.obj` meets Studio's [Mesh Requirements](../../art/characters/specifications.md) to reduce errors or unexpected behavior. To import a 3D object: @@ -43,12 +43,12 @@ To import a 3D object: Top ribbon of the Avatar tab in Studio highlighting the Import 3D button. -2. Select the `.fbx`, `.gltf` or `.obj` you intend to import. The Importer window displays. +2. Select the `.fbx`, `.gltf` or `.obj` you intend to import. The importer window displays. 3. Verify the object preview and check that the [import settings](#import-settings) are correct for your object. 4. Verify any [warning or error messages](#warnings-and-errors). 5. Click **Import**. -### Import settings +### Import Settings Depending on the object selected in the hierarchy panel, the inspector panel displays the following groups of settings: @@ -59,7 +59,7 @@ Depending on the object selected in the hierarchy panel, the inspector panel dis - **Object General**: Affects the selected child object. - **Object Geometry**: Affects the geometry of the selected child object. -#### File general +#### File General The 3D Importer provides the following settings for all meshes: @@ -101,12 +101,12 @@ The 3D Importer provides the following settings for all meshes:
- +
Mesh partAttachment nameMesh PartAttachment Name Details
ComponentTesting recommendationsTesting Recommendations
ComponentTesting recommendationsTesting Recommendations
Uses CageIf enabled, the 3D Importer finds cage meshes in the model and converts them to `WrapInstance` objects, such as `Class.WrapLayer` or `Class.WrapTarget`. If disabled, the Importer treats them as regular meshes. If the 3D Importer initially detects cage meshes in the model, this is **enabled** by default.If enabled, the 3D Importer finds cage meshes in the model and converts them to `WrapInstance` objects, such as `Class.WrapLayer` or `Class.WrapTarget`. If disabled, the importer treats them as regular meshes. If the 3D Importer initially detects cage meshes in the model, this is **enabled** by default.
-#### Rig general +#### Rig General The 3D Importer provides the following settings for meshes with rigging data: @@ -120,7 +120,7 @@ The 3D Importer provides the following settings for meshes with rigging data: Rig Type - Sets the type of rig the mesh should be associated with. The options are:
- **R15**
- **Custom**
- **No Rig**

By default, the 3D importer attempts to select the most appropriate setting based on the detected rigging and skinning data of the mesh. + Sets the type of rig the mesh should be associated with. The options are:
- **R15**
- **Custom**
- **No Rig**

By default, the 3D Importer attempts to select the most appropriate setting based on the detected rigging and skinning data of the mesh. Validate UGC Body @@ -133,7 +133,7 @@ The 3D Importer provides the following settings for meshes with rigging data: -#### File transform +#### File Transform The 3D Importer provides the following settings for all meshes: @@ -156,7 +156,7 @@ The 3D Importer provides the following settings for all meshes: -#### File geometry +#### File Geometry File geometry includes information on the file dimensions and polycount of the entire model. You can edit the following settings for all meshes: @@ -183,7 +183,7 @@ File geometry includes information on the file dimensions and polycount of the e -#### Object general +#### Object General When selecting a specific child object of your mesh, the 3D Importer populates Object General settings. You can edit the following settings for the selected child objects: @@ -210,7 +210,7 @@ When selecting a specific child object of your mesh, the 3D Importer populates O -#### Object geometry +#### Object Geometry Object Geometry includes information on the dimensions and polycount of the selected child object of the model. You can edit the following settings for the selected child objects: @@ -233,7 +233,7 @@ Object Geometry includes information on the dimensions and polycount of the sele -### Warnings and errors +### Warnings and Errors
diff --git a/content/en-us/art/modeling/avatar-setup.md b/content/en-us/art/modeling/avatar-setup.md index c31d39aea..ca1c77f4c 100644 --- a/content/en-us/art/modeling/avatar-setup.md +++ b/content/en-us/art/modeling/avatar-setup.md @@ -1,6 +1,6 @@ --- title: Avatar Setup -description: The Avatar setup tool previews animations, clothing, accessories, and body constructs on avatar rigs, directly in Studio. +description: The Avatar Setup tool previews animations, clothing, accessories, and body constructs on avatar rigs, directly in Studio. --- The **Avatar Setup** tool allows you to auto-setup avatar meshes, preview animations, clothing, skin tones, and test avatar character bodies directly in Studio. Marketplace creators can also begin the uploading and validation process from this tool to quickly publish their assets. @@ -14,11 +14,11 @@ The **Avatar Setup** tool allows you to auto-setup avatar meshes, preview animat
-
Using additional Avatar setup features, you can [test](#testing-interface) out skin tones, animations, rigid and layered clothing, and more.
+
Using additional Avatar Setup features, you can [test](#testing-interface) out skin tones, animations, rigid and layered clothing, and more.
-## Avatar auto-setup +## Avatar Auto-Setup The **auto-setup** feature converts a body model into a finished avatar model with all the advanced components that allow characters to interact with the world and express themselves. @@ -33,7 +33,7 @@ Auto-setup performs the following on a submitted character model: - **Partitioning** — Separates the body mesh into the appropriate R15 parts. - **Creating attachments** — Adds the appropriate attachment points enabling the character to wear rigid accessories. -### How auto-setup works +### How Auto-Setup Works The auto-setup tool utilizes machine learning (ML) models that handles the rigging, skinning, and caging application. After creating the rigging, skinning, and caging data, the tool applies body partitioning and attachment point generation using a geometry-based solution. If existing non-rig components, such as cages, attachments, or animation, are already included in the imported `Class.Model`, the auto-setup tool removes them and generates new components. If the model includes a compatible R15 rig, the tool preserves the rigging and skinning data and does not overwrite this data. @@ -58,7 +58,7 @@ See the following examples for the types of bodies and styles that work best wit Roblox intends to continue releasing updated versions of the auto-setup ML models over time. When uploading an avatar body asset, Studio gives you the option to add your input model as part of a dataset for additional training and improvements as well as provide feedback on the quality of the auto-setup output. -### Model requirements +### Model Requirements For best results, Avatar auto-setup expects the input body model to follow a specific set of requirements. These requirements may require using a third-party modeling tool to adjust your current character mesh, as they are different from the traditional [avatar character requirements](../characters/specifications.md). As the auto-setup tool improves, some of these requirements may lift. @@ -102,9 +102,9 @@ The full requirements for the input body model are as follows: - - - + + + @@ -151,13 +151,13 @@ The full requirements for the input body model are as follows: 14. **Includes texture** — Models should include one or more texture maps. If the input body includes multiple textures, the tool bakes the textures to a single map. This applies to [PBR textures](../modeling/surface-appearance.md) where the four textures are baked — one for each albedo, normal, metalness and roughness. 15. **Follows Marketplace and Community Policy** — The model must conform to Roblox's [Marketplace Policy](../../marketplace/marketplace-policy.md) and [Community Standards](https://en.help.roblox.com/hc/en-us/articles/203313410-Roblox-Community-Standards). -#### Examples of non-supported models +#### Examples of Non-Supported Models The following are common examples of models that may not yield expected results with auto-setup: -Non-supported model examples +Non-Supported Model Examples @@ -165,32 +165,32 @@ The following are common examples of models that may not yield expected results @@ -198,7 +198,7 @@ The following are common examples of models that may not yield expected results -### Import models +### Importing Models Studio supports `.gltf`, `.fbx`, and `.obj` models using the 3D Importer. If you are exporting your model from a third-party tool, see [Export Settings](../characters/export-settings.md) for export configurations. @@ -264,14 +264,14 @@ To import the model into Studio: When a new model is imported, it's also added to the moderation queue. If an avatar asset is moderated incorrectly, you will receive a moderation email with a link to appeal. This appeal takes up to 10 minutes to resolve. -### Run auto-setup +### Running Auto-Setup When your project has the appropriate `Class.Model` in your workspace, you can begin the auto-setup process. 1. Select the model in the workspace. 1. If you want to select only specific meshes of your model, navigate to the Explorer, expand the `Class.Model` object, and hold shift and click on the individual mesh objects. -2. With the Model selected, navigate to the **Avatar tab** and select **Avatar setup**. -3. In the Avatar setup panel, click the blue **Set Up Avatar** button. This process can take several minutes. +2. With the Model selected, navigate to the **Avatar tab** and select **Avatar Setup**. +3. In the Avatar Setup panel, click the blue **Set Up Avatar** button. This process can take several minutes. 4. Once complete, a `Class.Model` of your avatar populates in your workspace. @@ -283,30 +283,30 @@ When your project has the appropriate `Class.Model` in your workspace, you can b - 2. Use the various [Avatar setup tools](#test-interface) to verify the components of your avatar before saving the `Class.Model` to your Toolbox or uploading to the Marketplace. + 2. Use the various [Avatar Setup tools](#testing-interface) to verify the components of your avatar before saving the `Class.Model` to your Toolbox or uploading to the Marketplace. -## Test interface +## Testing Interface After auto-setup, or when using the tool with an avatar-ready character model, the character populates in the preview window. It's important to test that your avatar components have correctly generated by testing out different clothing, rigid accessories, and animations. If you discover any issues, you may need to update your base input model in your third-party modeling software and/or retry the auto-setup process.
-
Once an avatar is added to the tool, four tabs appear on the left side of the panel:
  • [Check body](#check-body)
  • [Check face](#check-face)
  • [Test in experience](#test-in-experience)
  • [Publish](#publish)
+
Once an avatar is added to the tool, four tabs appear on the left side of the panel:
  • [Check Body](#check-body)
  • [Check Face](#check-face)
  • [Test in Experience](#test-in-experience)
  • [Publish](#publish)
-### Check body +### Check Body The **Check Body** interface contains tabs for Animations, Clothing, Accessories, and Body assets, such as skin-tone and swapping body parts. Clicking a subtab like Shirts, Waist, or Skin reveals a selection column along the left side of the window for testing various cosmetics and visuals. -#### Equip items +#### Equipping Items Selected items are equipped on the avatar and are added to the currently equipped column on the right side. Selected animations begin playing as a preview of how they'll look in a running experience. To unequip an item, click it again in the selection column, press the **X** button at the top right of the equipped item, or right-click the asset in the Equipped column and select **Unequip**. You can also drag and order the various equipped accessories to set the worn order. -#### Add items +#### Adding Items The add item button allows you to add custom assets to the tool's palette for testing. @@ -319,7 +319,7 @@ To add an item to the palette: 3. The item appears in the appropriate section and subsection of the Check Body interface, such as **Accessories** → **Hair**. -### Check face +### Check Face The **Check Face** interface zooms into the face and allows you test various facial poses. @@ -334,9 +334,9 @@ The **Check Face** interface zooms into the face and allows you test various fac -### Test in experience +### Test in Experience -The **Test in Experience** button starts playtesting the experience with the previewed avatar. Any changes made in the Avatar setup preview tools, such as equipped clothing or accessories, or modifications, such as skin tone or body part swaps, do not transfer over to the playable character model in this mode. +The **Test in Experience** button starts playtesting the experience with the previewed avatar. Any changes made in the Avatar Setup preview tools, such as equipped clothing or accessories, or modifications, such as skin tone or body part swaps, do not transfer over to the playable character model in this mode. ### Publish @@ -348,6 +348,6 @@ The upload option opens the following prompt which goes through additional valid For additional resources on the publishing process and Marketplace, see the following: -- [Publish to the Marketplace](../../marketplace/publish-to-marketplace.md) -- [Marketplace fees and commissions](../../marketplace/marketplace-fees-and-commissions.md) -- [Marketplace policy](../../marketplace/marketplace-policy.md) +- [Publishing to the Marketplace](../../marketplace/publishing-to-marketplace.md) +- [Marketplace Fees and Commissions](../../marketplace/marketplace-fees-and-commissions.md) +- [Marketplace Policy](../../marketplace/marketplace-policy.md) diff --git a/content/en-us/art/modeling/calisthenics-tool.md b/content/en-us/art/modeling/calisthenics-tool.md index 7c4bdf388..fff8f609d 100644 --- a/content/en-us/art/modeling/calisthenics-tool.md +++ b/content/en-us/art/modeling/calisthenics-tool.md @@ -3,9 +3,9 @@ title: Calisthenics Tool description: Calisthenics Tool is a Blender plugin that you can use to verify skinning quality of an asset. --- -The **Calisthenics tool** is a supplemental [Blender](https://www.blender.org/) add-on that allows you to quickly test your asset through a set of animation cycles to verify your skinning data. At any point during the animation testing, you can pause and use Blender's skinning tools, such as [Weight Painting brushes](https://docs.blender.org/manual/en/latest/sculpt_paint/weight_paint/introduction.html), to resolve any skinning imperfections. +The **Calisthenics Tool** is a supplemental [Blender](https://www.blender.org/) add-on that allows you to quickly test your asset through a set of animation cycles to verify your skinning data. At any point during the animation testing, you can pause and use Blender's skinning tools, such as [Weight Painting brushes](https://docs.blender.org/manual/en/latest/sculpt_paint/weight_paint/introduction.html), to resolve any skinning imperfections. -Skinning your clothing and characters is a critical and often time-intensive process to create high quality assets that move and fit with different character bodies. Similar to the [Layered Clothing Validation Tool](../../art/accessories/validation-tool.md), the Calisthenics Tool can save you time when testing your character models after rigging and skinning. +Skinning your clothing and characters is a critical and often time-intensive process to create high quality assets that move and fit with different character bodies. Similar to the [Layered Clothing Validation tool](../../art/accessories/validation-tool.md), the Calisthenics Tool can save you time when testing your character models after rigging and skinning. The Calisthenics tool doesn't provide complete verification of all potential skinning issues. You must also ensure that your custom models meet Studio's [avatar character specifications](../../art/characters/specifications.md) and any applicable [layered clothing specifications](../../art/accessories/specifications.md) for the best results in your experience. @@ -59,7 +59,7 @@ To install the Calisthenics Tool in Blender: -## Use the Calisthenics Tool +## Using the Calisthenics Tool After installation, you can use the Calisthenics Tool whenever you want to test an R15 character rig with skinning data. With the Calisthenics Tool, you can check how a character would move with generic animations, as well as attach rigid reference accessories to verify attachment during these movements. The tool also includes an option to automatically export your character, removing reference animation and accessory data. @@ -69,7 +69,7 @@ You can try out the Calisthenics Tool using an [example character model](../../a For demonstration purposes, this reference model doesn't contain FACS data. If you require a reference with facial animation, you can download the same model with FACS data from our [reference models](../../art/characters/specifications.md#reference-files). -### Test animations +### Testing Animations When testing your character model, first set the armature in the Calisthenics Tool then select one of the reference animations. It is important to visually verify your skinning quality using various movements and angles to ensure the best results for your model. @@ -92,10 +92,10 @@ To test animations: 5. Press **Stop Animation** to clear animation data. -6. If you notice any unexpected skinning deformations, pause on the frame and switch to **Weight Paint mode** or use Blender's other skinning tools to resolve. See [Skin a humanoid model](../../art/modeling/skin-a-humanoid-model.md) for additional instruction. +6. If you notice any unexpected skinning deformations, pause on the frame and switch to **Weight Paint mode** or use Blender's other skinning tools to resolve. See [Skinning a Humanoid Model](../../art/modeling/skinning-a-humanoid-model.md) for additional instruction. -### Test accessory attachments +### Testing Accessory Attachments You can add reference attachments to your character model using the **Attach Test Accessory** buttons. These test accessories help preview how rigid accessories attach to your character and how they can move with your model. The tool includes two sets of rigid accessories to apply to your character. @@ -118,7 +118,7 @@ To test accessories: - **Detach Test Accessories**: Removes any test accessories from your character. 2. If an accessory is not attaching at an expected location, reposition the associated **Attachment object** in your character rig. -### Export models +### Exporting Models When you are ready to export your model, you can export your character directly through the Calisthenics Tool. The tool automatically clears any of the test data and applies appropriate export settings. diff --git a/content/en-us/art/modeling/export-requirements.md b/content/en-us/art/modeling/export-requirements.md index 0a65815de..4c1b1f0d1 100644 --- a/content/en-us/art/modeling/export-requirements.md +++ b/content/en-us/art/modeling/export-requirements.md @@ -1,14 +1,14 @@ --- -title: Export settings +title: Export Settings description: Use the appropriate export settings in Maya and Blender to generate Studio-ready .fbx files. --- -Export your mesh or model as a `.fbx` to take advantage of all of Studio's 3D import features. When rigging or skinning a model, a `.fbx` export contains both the rig and influence data you need to later [import](../../parts/meshes.md#import-meshes) into Studio. +Export your mesh or model as a `.fbx` to take advantage of all of Studio's 3D import features. When rigging or skinning a model, a `.fbx` export contains both the rig and influence data you need to later [import](../../parts/meshes.md#importing-meshes) into Studio. Check that your model meets Roblox's [modeling specifications](../../art/modeling/specifications.md) before exporting to ensure Studio compatibility. Specific types of assets, like characters and accessories, have additional specifications: -- If you are creating an avatar character model, ensure that your model follows the [character specifications](../../art/characters/specifications.md). -- If you are creating an accessory model, ensure that your model follows the [accessory specifications](../../art/accessories/specifications.md). +- If you are creating an avatar character model, ensure that your model follows [Character Specifications](../../art/characters/specifications.md). +- If you are creating an accessory model, ensure that your model follows [Accessory Specifications](../../art/accessories/specifications.md). diff --git a/content/en-us/art/modeling/index.md b/content/en-us/art/modeling/index.md index 4946bfde7..410758f4c 100644 --- a/content/en-us/art/modeling/index.md +++ b/content/en-us/art/modeling/index.md @@ -1,5 +1,5 @@ --- -title: Custom meshes +title: Custom Meshes description: External modeling is the use of a third-party modeling software to create custom meshes. --- @@ -13,7 +13,7 @@ In Roblox, custom 3D assets generally fall under three types of applications: - **Avatar models** for users or non-player characters (NPCs). - **Accessory models** that character models can equip and wear, like clothing and cosmetics. -If you meet certain account requirements, you can publish and sell your avatar-ready models on the Marketplace and earn a commission for each sale. For more information, see [Roblox avatars](../../avatar/index.md). +If you meet certain account requirements, you can publish and sell your avatar-ready models on the Marketplace and earn a commission for each sale. For more information, see Roblox's [Avatar documentation](../../avatar/index.md).
@@ -30,7 +30,7 @@ If you meet certain account requirements, you can publish and sell your avatar-r
-## Supported meshes +## Supported Meshes Roblox supports many types of custom meshes, as long as they adhere to the [general mesh specifications](../../art/modeling/specifications.md). A basic custom mesh consists of at least one mesh object and one texture: @@ -51,7 +51,7 @@ Roblox supports many types of custom meshes, as long as they adhere to the [gene Studio also supports meshes that include [rigging and skinning](#rigging-and-skinning) data, [PBR textures](#pbr-textures), and other [Studio-related objects](#studio-related-objects) like cage meshes and attachments. Many of these various components are required if you are creating avatar character models or accessories. -### Rigging and skinning +### Rigging and Skinning A **rigged mesh** is a mesh with an internal poseable skeleton rig and bone structure. Rigged meshes allow mesh surfaces to rotate and move where internal bone joints are placed within a model, such as a character's knee or elbow. Skinning a rigged mesh allows the mesh object to bend organically, imitating the natural way joints would move in real life. @@ -66,20 +66,20 @@ A **rigged mesh** is a mesh with an internal poseable skeleton rig and bone stru -For more information on rigging and skinning, see [Rigging and skinning](../../art/modeling/rigging.md). +For more information on rigging and skinning, see [Rigging and Skinning](../../art/modeling/rigging.md). -### PBR textures +### PBR Textures -**Physically-Based rendering** (PBR) textures allow you to represent realistic shading and lighting by using multiple types of texture images, or **maps**, on a single object. Combining multiple texture maps can more accurately simulate color, roughness, and reflectivity in any lighting environment and can enhance the visual elements of your assets and environment. +**Physically-Based Rendering** (PBR) textures allow you to represent realistic shading and lighting by using multiple types of texture images, or **maps**, on a single object. Combining multiple texture maps can more accurately simulate color, roughness, and reflectivity in any lighting environment and can enhance the visual elements of your assets and environment. A realistic looking leafy bush with shadows and depth. A realistic looking rock with moss on the top. -For more information on PBR textures, see [PBR textures](../../art/modeling/surface-appearance.md). +For more information on PBR textures, see [PBR Textures](../../art/modeling/surface-appearance.md). -### Studio-related objects +### Studio-Related Objects Studio automatically converts certain types of objects found in 3D modeling files as specific workspace objects in the experience. These are typically used when creating a character or accessory, and configuring these in your modeling software can sometimes be the primary way of correctly setting up these Studio objects. @@ -105,38 +105,38 @@ If you are interested in specific avatar creation topics, use the following tabl
- - + + - - + + - - + + - + - - + + - - + + - + - +
Body part groupingMaximum trianglesMaximum quadsBody Part GroupingMaximum TrianglesMaximum Quads
-
**Asymmetry** — setup tool expects symmetry with limbs.
+
**Asymmetry** — Setup tool expects symmetry with limbs.
-
**I-pose** — setup tool expects A-Pose.
+
**I-pose** — Setup tool expects A-Pose.
-
**Non-contiguous mesh** — setup tool expects the body mesh to be completely contiguous.
+
**Non-contiguous mesh** — Setup tool expects the body mesh to be completely contiguous.
-
**No neck** — setup tool expects a neck connecting a head to the torso.
+
**No neck** — Setup tool expects a neck connecting a head to the torso.
-
**Out of proportion limbs** — setup tool expects a more realistic humanoid-style character model.
+
**Out of proportion limbs** — Setup tool expects a more realistic humanoid-style character model.
-
**Out of proportion limbs** — setup tool expects a more realistic humanoid-style character model.
+
**Out of proportion limbs** — Setup tool expects a more realistic humanoid-style character model.
Reference files[Example models, project kits, and templates](../../art/modeling/project-files.md)Reference Files[Example Models, Project Kits, Templates](../../art/modeling/project-files.md)
Technical specs[.FBX export settings](../../art/modeling/export-requirements.md)

[General mesh specifications](../../art/modeling/specifications.md)

- [Avatar specifications](../../art/characters/specifications.md)

[Accessory specifications](../../art/accessories/specifications.md)

[Marketplace policy](../../marketplace/marketplace-policy.md)
Technical Specs[.FBX Export Settings](../../art/modeling/export-requirements.md)

[General Mesh Specifications](../../art/modeling/specifications.md)

+ [Avatar Specifications](../../art/characters/specifications.md)

[Accessory Specifications](../../art/accessories/specifications.md)

[Marketplace Policy](../../marketplace/marketplace-policy.md)
Bodies and clothing creation[Accessories overview](../../art/accessories/index.md)

[Bodies overview](../../art/characters/index.md)

[Face accessory creation](../../art/characters/facial-animation/create-face-accessories.md)

[Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md)

[Accessory specifications](../../art/accessories/specifications.md)

[Marketplace requirements](../../marketplace/marketplace-policy.md)
Bodies and Clothing Creation[Accessories Overview](../../art/accessories/index.md)

[Bodies Overview](../../art/characters/index.md)

[Creating Face Accessories](../../art/characters/facial-animation/creating-face-accessories.md)

[Accessory Fitting Tool](../../art/accessories/accessory-fitting-tool.md)

[Accessory Specifications](../../art/accessories/specifications.md)

[Marketplace Requirements](../../marketplace/marketplace-policy.md)
Texturing[Texture specifications](../../art/modeling/texture-specifications.md)

[PBR textures](../../art/modeling/surface-appearance.md)
[Texturing Requirements](../../art/modeling/texture-specifications.md)

[PBR Textures](../../art/modeling/surface-appearance.md)
Rigging and skinning[Rigging and skinning overview](../../art/modeling/rigging.md)

[Basic mesh rigging](../../art/modeling/rig-a-simple-mesh.md)

[Facial bone rigging](../../art/characters/facial-animation/create-basic-heads.md#rigging)

[Facial bone skinning](../../art/characters/facial-animation/create-basic-heads.md#skin-face-bones)

[Avatar rigging requirements](../../art/characters/specifications.md#rigging)

[Automatic skinning transfer](../../art/accessories/automatic-skinning-transfer.md)
Rigging and Skinning[Rigging and Skinning Overview](../../art/modeling/rigging.md)

[Rigging Basic Meshes](../../art/modeling/rigging-a-simple-mesh.md)

[Rigging Facial Bones](../../art/characters/facial-animation/creating-basic-heads.md#rigging)

[Skinning Facial Bones](../../art/characters/facial-animation/creating-basic-heads.md#skinning-face-bones)

[Avatar Rig Requirements](../../art/characters/specifications.md#rigging)

[Auto Skin Transfer](../../art/accessories/automatic-skinning-transfer.md)
Facial animation and live heads[Basic head creation](../../art/characters/facial-animation/create-basic-heads.md)

[Face accessory creation](../../art/characters/facial-animation/create-face-accessories.md)

[FACS pose references](../../art/characters/facial-animation/facs-poses-reference.md)
Facial Animation and Live Heads[Basic Head Creation](../../art/characters/facial-animation/creating-basic-heads.md)

[Creating Face Accessories](../../art/characters/facial-animation/creating-face-accessories.md)

[FACS Pose References](../../art/characters/facial-animation/facs-poses-reference.md)
Testing and validationTesting and Validation [Calisthenics Tool](../../art/modeling/calisthenics-tool.md)

[Clothing Validation Tool](../../art/accessories/validation-tool.md)
Publishing and Marketplace[Upload to Marketplace](../../marketplace/publish-to-marketplace.md)

[Marketplace policy](../../marketplace/marketplace-policy.md)

[Fees and commissions](../../marketplace/marketplace-fees-and-commissions.md)
[Uploading to Marketplace](../../marketplace/publishing-to-marketplace.md)

[Marketplace Policy](../../marketplace/marketplace-policy.md)

[Fees and Commissions](../../marketplace/marketplace-fees-and-commissions.md)
diff --git a/content/en-us/art/modeling/material-reference.md b/content/en-us/art/modeling/material-reference.md index 7f2fa28d6..4ab5a2754 100644 --- a/content/en-us/art/modeling/material-reference.md +++ b/content/en-us/art/modeling/material-reference.md @@ -1,5 +1,5 @@ --- -title: Material references +title: Material References description: PBR texture examples and various texture map values. --- @@ -11,7 +11,7 @@ The following figure illustrates the various base surface types you can achieve -## Common materials +## Common Materials You can use the following material reference values as a baseline for creating your own custom surfaces: @@ -115,16 +115,16 @@ You can use the following material reference values as a baseline for creating y -## Clothing examples +## Clothing Examples Layered clothing can take advantage of PBR textures to achieve realistic and visually popping cosmetics for avatar characters. Use the following reference examples to compare how various material values are used to achieve a certain cosmetic effect and its comparable real-time rendering in Substance Painter and Roblox Studio: - - - + + + diff --git a/content/en-us/art/modeling/project-files.md b/content/en-us/art/modeling/project-files.md index bd4d629ef..e9abf3f51 100644 --- a/content/en-us/art/modeling/project-files.md +++ b/content/en-us/art/modeling/project-files.md @@ -1,5 +1,5 @@ --- -title: Modeling project files and references +title: Modeling Project Files and References description: Download various modeling-related project files and reference files. hideInPageNavigation: true hideBreadcrumbs: true @@ -13,12 +13,12 @@ The following `.fbx`, `.blend`, and `.ma` project files are available to use as -
Maple leaf tree
+
Maple Leaf Tree
A green maple tree mesh
-A skinned tree model with the soil, branches, and leaves as separate meshes bound to a single armature. This is packaged with UV textures that can be applied with `Class.SurfaceAppearance`. This is an advanced version of the tree model used in the Skin a simple mesh guide. +A skinned tree model with the soil, branches, and leaves as separate meshes bound to a single armature. This is packaged with UV textures that can be applied with `Class.SurfaceAppearance`. This is an advanced version of the tree model used in the Skinning a Simple Mesh guide.
@@ -66,9 +66,9 @@ Creature model from the @@ -146,7 +146,7 @@ A Blocky character model with an animatable head and a full body cage.
A pink-haired character complete with brown jacket, goggles, leggings, and pants.
-A skinned R15 character created from the Skin a humanoid model guide. Since this reference model doesn't yet have [inner and outer cage mesh data](../../art/characters/specifications.md#outer-cages), this model can't equip layered clothing or accessories. +A skinned R15 character created from the Skinning a Humanoid Model guide. Since this reference model doesn't yet have [inner and outer cage mesh data](../../art/characters/specifications.md#inner-and-outer-cages), this model can't equip layered clothing or accessories.

@@ -164,7 +164,7 @@ A skinned R15 character created from the @@ -183,7 +183,7 @@ Uncaged example clothing ready for caging in a 3D modeling software. -
Clothing examples
+
Clothing Examples
@@ -203,7 +203,7 @@ Caged 3D accessory models and associated PBR textures. Ready for import into Stu -
Classic mannequin
+
Classic Mannequin
A white untextured mannequin in the blocky style.
@@ -214,7 +214,7 @@ A blank mannequin using Roblox's [Classic](../../art/characters/specifications.m - +
@@ -224,7 +224,7 @@ A blank mannequin using Roblox's [Classic](../../art/characters/specifications.m -
Rthro mannequin
+
Rthro Mannequin
A white untextured mannequin in a larger build humanoid style.
@@ -235,7 +235,7 @@ A blank mannequin using Roblox's [Rthro Normal](../../art/characters/specificati - +
@@ -245,7 +245,7 @@ A blank mannequin using Roblox's [Rthro Normal](../../art/characters/specificati -
Rthro slender mannequin
+
Rthro Slender Mannequin
A white untextured mannequin in a slimmer build humanoid style.
@@ -256,7 +256,7 @@ A blank mannequin using Roblox's [Rthro Slender](../../art/characters/specificat - +
@@ -265,10 +265,10 @@ A blank mannequin using Roblox's [Rthro Slender](../../art/characters/specificat ## Templates -These project files require additional configuration before they are ready for Studio import. See [Create with templates](../characters/creating/index.md) for additional information. +These project files require additional configuration before they are ready for Studio import. See [Creating with Templates](../characters/creating/index.md) for additional information. -If you are using Roblox's avatar template files, you must perform the [cleanup steps](../../art/characters/creating/combine-head-geometry.md) in order for the assets to properly validate before publishing to the Marketplace. +If you are using Roblox's avatar template files, you must perform the [cleanup steps](../../art/characters/creating/combining-head-geometry.md) in order for the assets to properly validate before publishing to the Marketplace. @@ -280,7 +280,7 @@ If you are using Roblox's avatar template files, you must perform the [cleanup s A male and female presenting pair with a prominently round shaped head.
-Blender and .fbx template files with pre-baked avatar components. +Blender and .fbx template files with pre-baked avatar components.

See [Creating with Templates](../../art/characters/creating/index.md) for instructions.
@@ -300,7 +300,7 @@ Blender and .fbx template files with pre-baked avatar components. A male and female presenting pair with a prominently square shaped head.
-Blender and .fbx template files with pre-baked avatar components. +Blender and .fbx template files with pre-baked avatar components.

See [Creating with Templates](../../art/characters/creating/index.md) for instructions.
@@ -321,7 +321,7 @@ Blender and .fbx template files with pre-baked avatar components. A male and female presenting pair with a prominently elongated snout and mouth.
-Blender and .fbx template files with pre-baked avatar components. +Blender and .fbx template files with pre-baked avatar components.

See [Creating with Templates](../../art/characters/creating/index.md) for instructions.
@@ -342,7 +342,7 @@ Blender and .fbx template files with pre-baked avatar components. A male and female presenting pair with realistic body proportions and facial shape.
-Blender and .fbx template files with pre-baked avatar components. +Blender and .fbx template files with pre-baked avatar components.

See [Creating with Templates](../../art/characters/creating/index.md) for instructions.
@@ -363,7 +363,7 @@ Blender and .fbx template files with pre-baked avatar components. A male and female presenting pair with larger anime-like eyes and prominently oval shaped faces.
-Blender and .fbx template files with pre-baked avatar components. +Blender and .fbx template files with pre-baked avatar components.

See [Creating with Templates](../../art/characters/creating/index.md) for instructions.
@@ -384,7 +384,7 @@ Blender and .fbx template files with pre-baked avatar components. A humanoid cartoonish figure with exaggerated features, including a prominent forehead, nose, and chin.
-Blender and .fbx template files with pre-baked avatar components. +Blender and .fbx template files with pre-baked avatar components.

See [Creating with Templates](../../art/characters/creating/index.md) for instructions.
@@ -403,7 +403,8 @@ Blender and .fbx template files with pre-baked avatar components. A cartoonish figure with a round head and exaggerated forehead.
-Blender and .fbx template files with pre-baked avatar components. +Blender and .fbx template files with pre-baked avatar components.

See [Creating with Templates](../../art/characters/creating/index.md) for instructions. +
@@ -415,7 +416,7 @@ Blender and .fbx template files with pre-baked avatar components. -### Project files +### Project Files @@ -423,7 +424,7 @@ Blender and .fbx template files with pre-baked avatar components. -
R15 rig and attachments
+
R15 Rig and Attachments
A Blender visualization of bones and attachment meshes in a neutral humanoid pose.
@@ -442,7 +443,7 @@ Standard armature rig template for Blender. Use this template for rigging **bodi -
Cages for clothing
+
Cages for Clothing
A humanoid shaped mesh in a neutral A-pose.
@@ -461,7 +462,7 @@ Project files for creation, includes a full-body inner and outer cage mesh for c -
Cages for bodies
+
Cages for Bodies
A humanoid shaped mesh in a neutral A-pose. Each section of the mesh is colored differently based on the body part.
@@ -481,7 +482,7 @@ Project files for creation, includes the 15 individual body part cages required -
Combined project files
+
Combined Project Files
@@ -499,7 +500,7 @@ Template file containing all content from previous templates, includes rig skele
-### Add-ons and tools +### Add-Ons and Tools @@ -507,7 +508,7 @@ Template file containing all content from previous templates, includes rig skele -
Blender Studio plugin
+
Blender Studio Plugin
@@ -527,7 +528,7 @@ Open-source Blender Studio add-on that allows you to upload assets directly from -
Blender validation tool
+
Blender Validation Tool
@@ -536,7 +537,7 @@ Blender add-on for verifying avatar technical compatibility before importing int
- +
@@ -546,7 +547,7 @@ Blender add-on for verifying avatar technical compatibility before importing int -
Blender Calisthenics tool
+
Blender Calisthenics Tool
@@ -556,7 +557,7 @@ Blender add-on for checking skinning data on characters and clothing.
- +
diff --git a/content/en-us/art/modeling/rig-a-humanoid-model.md b/content/en-us/art/modeling/rigging-a-humanoid-model.md similarity index 86% rename from content/en-us/art/modeling/rig-a-humanoid-model.md rename to content/en-us/art/modeling/rigging-a-humanoid-model.md index ba4bd1e7c..0e31b2397 100644 --- a/content/en-us/art/modeling/rig-a-humanoid-model.md +++ b/content/en-us/art/modeling/rigging-a-humanoid-model.md @@ -1,18 +1,18 @@ --- -title: Rig a humanoid model +title: Rigging a Humanoid Model description: Explains the process for rigging a humanoid R15 model in Blender. --- An R15 humanoid character model, such as those that make up user avatar characters, is made up of 15 individual mesh objects. Similar to rigging a simple mesh, you can bind or parent a group of meshes to an internal rig. Models made up of multiple meshes require additional steps to rig in a third-party modeling tool such as [Blender](https://www.blender.org) or [Maya](https://www.autodesk.com/products/maya/overview). -This advanced guide covers the process of rigging a humanoid model in Blender using a provided template and humanoid model. This rigging step is required before [skinning the humanoid model](../../art/modeling/skin-a-humanoid-model.md). You should be familiar with [rigging a basic model](./rig-a-simple-mesh.md) before continuing. +This advanced guide covers the process of rigging a humanoid model in Blender using a provided template and humanoid model. This rigging step is required before [skinning the humanoid model](../../art/modeling/skinning-a-humanoid-model.md). You should be familiar with [rigging a basic model](./rigging-a-simple-mesh.md) before continuing. To rig a humanoid model in Blender: -- [Import a character model](#import-model) into a template file to easily access a premade R15 bone structure. -- [Create, size, and position bones](#set-bones-and-armature) symmetrically for a humanoid character. -- [Parent](#parent-armature) multiple meshes to a single armature to bind the skeleton rig. -- [Assign full influence](#assign-meshes-to-bones) to each mesh object and bone by assigning influences. +- [Import a character model](#importing-model) into a template file to easily access a premade R15 bone structure. +- [Create, size, and position bones](#setting-bones-and-armature) symmetrically for a humanoid character. +- [Parent](#parenting-armature) multiple meshes to a single armature to bind the skeleton rig. +- [Assign full influence](#assigning-meshes-to-bones) to each mesh object and bone by assigning influences. This guide uses a downloadable [Rig and Attachment Template Blender Project](../../assets/modeling/meshes/reference-files/Rig_and_Attachments_Templates.zip), a reference [Lola Character model](../../assets/modeling/meshes/reference-files/lola-base-model.fbx), and [Blender version 3.0](https://www.blender.org/download/releases/3-0/). If you are @@ -20,16 +20,16 @@ using another version of Blender, there may be minor differences in UI and settings. -## Set up Blender +## Setting Up Blender To begin creating a humanoid rigged mesh, first set up the following in your Blender project: -- [Import](#import-model) the Lola character model in the Mannequin Template Blender project. +- [Import](#importing-model) the Lola character model in the Mannequin Template Blender project. - Set up your [Viewport visualizations](#viewport-visualizations) to optimize the rigging process. -### Import model +### Importing Model -When rigging a model, make sure the character model you are using follows Studio's [Avatar character specifications](../../art/characters/specifications.md). For this guide, import a [Lola reference model](../../assets/modeling/meshes/reference-files/lola-base-model.fbx) into the mannequin template project. +When rigging a model, make sure the character model you are using follows Studio's [Avatar Character Specifications](../../art/characters/specifications.md). For this guide, import a [Lola reference model](../../assets/modeling/meshes/reference-files/lola-base-model.fbx) into the mannequin template project. To import your model: @@ -39,7 +39,7 @@ To import your model: -### Viewport visualizations +### Viewport Visualizations For better visualization and access to your bone objects, set your bone objects to always be displayed in front of the Viewport. @@ -52,7 +52,7 @@ To set the bone visualization: At any point during the skinning process, you can also toggle one of the various material previews options in the top right of your 3D Viewport to change the visualization of your character model, such as enabling X-ray or texture view. -## Set bones and armature +## Setting Bones and Armature In this guide, set up X-Axis Mirroring to make symmetrical changes to the left and right bones before repositioning the bones to the imported model. Try to maintain symmetry whenever possible when rigging a model. @@ -60,7 +60,7 @@ In this guide, set up X-Axis Mirroring to make symmetrical changes to the left a If modifying bones or creating a new bone structure, keep in mind the
specific bone hierarchy and naming requirements for R15 character models. -### Enable x-axis mirror +### Enable X-Axis Mirror The X-Axis Mirror setting allows you to maintain symmetry with your left and right bones by mirroring changes to their positions. To reduce issues with posing and animating, it is important to retain symmetry with your bone structure whenever possible. @@ -72,7 +72,7 @@ To set up X-Axis Mirror: -### Position bones +### Positioning Bones With the model added to the project, you can reposition the bones provided in the template to match the character structure. In most cases, each bone should be positioned in the center of their corresponding mesh objects, such as the Head bone being centered within the Head_Geo mesh object. @@ -91,11 +91,11 @@ To position your individual bones: -### Parent armature +### Parenting Armature After you position the bone structure, you need to parent the bone armature to the model. You must parent all 15 mesh objects to one armature. -For this example, the mesh objects are parented to the armature with Empty Groups to illustrate the vertex group assignment and weight painting process in the following [Skin a humanoid model](../../art/modeling/skin-a-humanoid-model.md) guide. +For this example, the mesh objects are parented to the armature with Empty Groups to illustrate the vertex group assignment and weight painting process in the following [Skinning a Humanoid Model](../../art/modeling/skinning-a-humanoid-model.md) guide. To parent the model to the armature: @@ -107,9 +107,9 @@ To parent the model to the armature: -## Assign meshes to bones +## Assigning Meshes to Bones -Now that you have connected your armature to the mesh object, you can assign the vertices of your individual limbs to be fully influenced by one corresponding bone. After this process is completed, the model will be ready for skinning. See [Skin a humanoid model](../../art/modeling/skin-a-humanoid-model.md) for instructions on applying multiple bone influences to a mesh. +Now that you have connected your armature to the mesh object, you can assign the vertices of your individual limbs to be fully influenced by one corresponding bone. After this process is completed, the model will be ready for skinning. See [Skinning a Humanoid Model](../../art/modeling/skinning-a-humanoid-model.md) for instructions on applying multiple bone influences to a mesh. The **Root** and **HumanoidRootNode** parent bones in a humanoid rig should not have any influences applied to them. Any added influences are dropped when importing into Studio. @@ -135,7 +135,7 @@ To quickly assign vertex groups to the rest of the body meshes: -## Test +## Testing You can test and pose bones and their assigned mesh objects in Pose Mode. It is important to test your model after applying or editing any influences. @@ -152,4 +152,4 @@ To navigate to Pose mode and test your poses: To reset the rotation of a selected bone to neutral, press Alt+R. While rotating, you can also press your mouse's scroll wheel to change the axes of your rotation. -At this stage, if all of your mesh objects are influenced by their corresponding bones, you can [export](../../art/modeling/export-requirements.md) this rigged model as an `.fbx` for use in Studio or continue on to the next stage of [Skin a humanoid model](../../art/modeling/skin-a-humanoid-model.md). +At this stage, if all of your mesh objects are influenced by their corresponding bones, you can [export](../../art/modeling/export-requirements.md) this rigged model as an `.fbx` for use in Studio or continue on to the next stage of [Skinning a Humanoid Model](../../art/modeling/skinning-a-humanoid-model.md). diff --git a/content/en-us/art/modeling/rig-a-simple-mesh.md b/content/en-us/art/modeling/rigging-a-simple-mesh.md similarity index 90% rename from content/en-us/art/modeling/rig-a-simple-mesh.md rename to content/en-us/art/modeling/rigging-a-simple-mesh.md index fcec3f55a..04ad70562 100644 --- a/content/en-us/art/modeling/rig-a-simple-mesh.md +++ b/content/en-us/art/modeling/rigging-a-simple-mesh.md @@ -1,5 +1,5 @@ --- -title: Rig a simple mesh +title: Rigging a Simple Mesh description: Explains the process for rigging a basic model in Blender. --- @@ -7,24 +7,24 @@ You can create a **rigged mesh** using a third party modeling tool such as [Blen To rig a simple model in Blender: -- [Set up Blender](#set-up-blender) to Studio's relative scene units before importing a model to rig. -- [Create and reposition bones](#create-a-bone-structure) within the mesh object. -- [Parent the mesh to the armature](#parent-armature) to bind the bone armature to the mesh object. -- [Assign vertices to specific bones](#assign-vertices-to-bones) to define which parts of the mesh is driven by which bones. -- [Test your rigged mesh](#test) to ensure that the bones are properly positioned and influenced within the mesh. +- [Set up Blender](#setting-up-blender) to Studio's relative scene units before importing a model to rig. +- [Create and reposition bones](#creating-a-bone-structure) within the mesh object. +- [Parent the mesh to the armature](#parenting-armature) to bind the bone armature to the mesh object. +- [Assign vertices to specific bones](#assigning-vertices-to-bones) to define which parts of the mesh is driven by which bones. +- [Test your rigged mesh](#testing) to ensure that the bones are properly positioned and influenced within the mesh. This guide uses a downloadable [example robot model](../../assets/modeling/meshes/reference-files/shoebot-base-model.fbx) and [Blender version 3.0](https://www.blender.org/download/releases/3-0/). If you are using another version of Blender, there may be minor differences in UI and settings. -## Set up Blender +## Setting up Blender To start the process of creating a rigged mesh, first set up the following in your Blender project: - Set up Blender's [scene unit and unit scale properties](#set-scene-and-scale) to Studio's proportions. -- [Import the model into Blender](#import-a-model) using Blender's file importer. +- [Import the model into Blender](#importing-a-model) using Blender's file importer. -### Set scene and scale +### Set Scene and Scale When setting up Blender projects for Roblox Studio to import, you should modify Blender's default **scene units** and **unit scale** properties to ensure they closely align with Studio's scale. @@ -40,7 +40,7 @@ To start a new Blender project and set scene unit properties: -### Import a model +### Importing a Model For this example, import a [robot model](../../assets/modeling/meshes/reference-files/shoebot-base-model.fbx) into Blender as your mesh object. @@ -52,11 +52,11 @@ To import an existing `.fbx` model: Imported Model -## Create a bone structure +## Creating a Bone Structure Now that your model is within Blender, you must add an **armature** and **bones** to your mesh object. An **armature** is a skeleton-like rigging object that acts as a container for bones, while **bones** are objects that control the movement and deformation of the group of vertices, or **vertex group**, that surround the bone. -### Add an armature +### Adding an Armature An armature is a structure required to add bones to your mesh. After you add in an armature, you can create and reposition any number of bones inside of your mesh object. @@ -70,7 +70,7 @@ To add an armature: -### Add and position bones +### Adding and Positioning Bones When you add an armature to your project, Blender automatically adds one bone to the armature at a default position and scale which will act as the root bone. @@ -96,7 +96,7 @@ To add and position two additional bones: -## Parent armature +## Parenting Armature After you create and position the bone structure, you need to connect the armature to the mesh object by parenting the armature to the mesh object. @@ -112,7 +112,7 @@ To parent an armature to a mesh: -## Assign vertices to bones +## Assigning Vertices to Bones With your armature connected to the mesh object, you can now assign the mesh vertices of your limbs to be fully influenced by their corresponding bones. As a rigid model, each limb will completely bend and articulate when the bones are rotated, which is ideal for a non-organic character like a robot. @@ -138,7 +138,7 @@ To assign bone influence to the left and right arms: -## Test +## Testing You can test your rig in different poses in Pose mode. It's important to test your rigs after applying or changing influences before exporting. diff --git a/content/en-us/art/modeling/rigging.md b/content/en-us/art/modeling/rigging.md index e59f6fd2e..fdf6d1244 100644 --- a/content/en-us/art/modeling/rigging.md +++ b/content/en-us/art/modeling/rigging.md @@ -1,5 +1,5 @@ --- -title: Rigging and skinning +title: Rigging and Skinning description: Rigging and skinning is a modeling process that connects an armature to a mesh, allowing it to be animated or posed in Studio. --- @@ -29,16 +29,16 @@ description: Rigging and skinning is a modeling process that connects an armatur See the following resources to learn the basics and intermediate steps required to skin models in Blender: -- [Rig a simple mesh](../../art/modeling/rig-a-simple-mesh.md) -- [Skin a simple mesh](../../art/modeling/skin-a-simple-mesh.md) -- [Rig a humanoid model](../../art/modeling/rig-a-humanoid-model.md) -- [Skin a humanoid model](../../art/modeling/skin-a-humanoid-model.md) +- [Rigging a Simple Mesh](../../art/modeling/rigging-a-simple-mesh.md) +- [Skinning a Simple Mesh](../../art/modeling/skinning-a-simple-mesh.md) +- [Rigging a Humanoid Model](../../art/modeling/rigging-a-humanoid-model.md) +- [Skinning a Humanoid Model](../../art/modeling/skinning-a-humanoid-model.md) -## Rigs and bones +## Rigs and Bones The **rig**, or bone structure, within a rigged mesh creates additional poseable points for the 3D model in Studio. By rotating or moving the bones of a mesh, the parts of the mesh assigned to those bones can move independently from the rest of the mesh. The assignment of influence between meshes and bones, such as a **LowerLeftArm** bone driving the movement of the **LowerLeftArm** geometry, is set in a third-party application like Blender or Maya. When imported into Studio, Roblox saves this influence assignment data to the `Class.MeshPart` asset data. -Once you successfully [import](../../parts/meshes.md#import-meshes) a rigged mesh model into Studio, Studio represents this rig structure with `Class.Bone` instances that you can then pose and animate. You can view bones in Studio by toggling **Constraint Details** in the Model tab, or when you are using the [Animation Editor](../../animation/editor.md). +Once you successfully [import](../../parts/meshes.md#importing-meshes) a rigged mesh model into Studio, Studio represents this rig structure with `Class.Bone` instances that you can then pose and animate. You can view bones in Studio by toggling **Constraint Details** in the Model tab, or when you are using the [Animation Editor](../../animation/editor.md). Constraint Details toggle indicated in Model tab @@ -57,14 +57,14 @@ When `Class.Bone` objects are used in animation, they affect the appearance of t -## Types of rigs +## Types of Rigs Rigged models use a naming convention starting with "R" and ending with the number of individual meshes that make up the model. This is used to quickly identify the type and number of meshes that a model has. Although R6 and R15 models are common, a model can be of varying subjects, sizes and can have any number of individual meshes, such as a R5, R20, or R200. - **R1** refers to a single mesh that is rigged, or associated with an internal skeleton structure. Many models, such as a tree or accessory item, are good candidates to be made into an R1 model. Even humanoid characters, such as NPCs, can be created as R1 models but they will not be able to take full advantage of the animation and humanoid options available for R15 characters. - See [Rig a simple mesh](../../art/modeling/rig-a-simple-mesh.md) for instructions on turning a basic mesh into an R1 model in Blender. + See [Rigging a Simple Mesh](../../art/modeling/rigging-a-simple-mesh.md) for instructions on turning a basic mesh into an R1 model in Blender. - **R15** typically refers to humanoid models used as player or avatar characters. An R15 model is made up of 15 specific meshes that are parented to a single rig. A R15 character model often includes skinning data to allow the model to bend and pose naturally. Roblox uses the R15 standard for all avatars, and requires the [R15 technical specifications](../../art/characters/specifications.md) to ensure universal behavior and quality. - See [Rig a humanoid model](../../art/modeling/rig-a-humanoid-model.md) for instructions on turning a character model into an R15 humanoid model in Blender. + See [Rigging a Humanoid Model](../../art/modeling/rigging-a-humanoid-model.md) for instructions on turning a character model into an R15 humanoid model in Blender. diff --git a/content/en-us/art/modeling/roblox-blender-plugin.md b/content/en-us/art/modeling/roblox-blender-plugin.md index 2474ff3a3..2fbf2701d 100644 --- a/content/en-us/art/modeling/roblox-blender-plugin.md +++ b/content/en-us/art/modeling/roblox-blender-plugin.md @@ -1,10 +1,10 @@ --- -title: Roblox Blender plugin +title: Roblox Blender Plugin description: The Roblox Blender plugin allows you to transfer assets directly from Blender to Studio. --- -The Roblox Blender plugin is a Blender add-on that allows you to link your Roblox account and quickly transfer 3D modeling objects directly from Blender to your Studio session. This tool helps you save time and reduce errors by skipping the process of exporting and importing third-party modeling files between applications. +The Roblox Blender Plugin is a Blender add-on that allows you to link your Roblox account and quickly transfer 3D modeling objects directly from Blender to your Studio session. This tool helps you save time and reduce errors by skipping the process of exporting and importing third-party modeling files between applications. -The Roblox Blender plugin is an open-source implementation of Roblox's [Open Cloud API](../../cloud/open-cloud/index.md) and developers are encouraged to extend and build upon this tool for their own projects. For installation, use, licensing, and contribution details, see the [Roblox Blender plugin GitHub page](https://github.com/Roblox/roblox-blender-plugin). +The Roblox Blender plugin is an open-source implementation of Roblox's [Open Cloud API](../../cloud/open-cloud/index.md) and developers are encouraged to extend and build upon this tool for their own projects. For installation, use, licensing, and contribution details, see the [Roblox Blender Plugin GitHub page](https://github.com/Roblox/roblox-blender-plugin). diff --git a/content/en-us/art/modeling/skin-a-humanoid-model.md b/content/en-us/art/modeling/skinning-a-humanoid-model.md similarity index 90% rename from content/en-us/art/modeling/skin-a-humanoid-model.md rename to content/en-us/art/modeling/skinning-a-humanoid-model.md index 3a7ec112e..b8cda109e 100644 --- a/content/en-us/art/modeling/skin-a-humanoid-model.md +++ b/content/en-us/art/modeling/skinning-a-humanoid-model.md @@ -1,33 +1,33 @@ --- -title: Skin a humanoid model +title: Skinning a Humanoid Model description: Explains the process for skinning a humanoid R15 model in Blender. --- A humanoid skinned mesh is a character model that, when posed or animated, bends and stretches naturally at its joints. You can create a skinned mesh using a third party modeling tool such as [Blender](https://www.blender.org) or [Maya](https://www.autodesk.com/products/maya/overview). -This is an advanced guide on skinning a humanoid model into an R15 model in Blender using the humanoid model completed in [Rig a humanoid model](./rig-a-humanoid-model.md). Before skinning a humanoid model, you should also familiarize yourself with the basic concepts in [Skin a simple mesh](../../art/modeling/skin-a-simple-mesh.md). +This is an advanced guide on skinning a humanoid model into an R15 model in Blender using the humanoid model completed in [Rigging a Humanoid Model](./rigging-a-humanoid-model.md). Before skinning a humanoid model, you should also familiarize yourself with the basic concepts in [Skinning a Simple Mesh](../../art/modeling/skinning-a-simple-mesh.md). To skin a humanoid model in Blender, you need to: -- [Set up Blender](#set-up-blender) with a rigged model to optimize the weight painting process with bone visualization settings and Auto Normalize. +- [Set up Blender](#setting-up-blender) with a rigged model to optimize the weight painting process with bone visualization settings and Auto Normalize. - [Weight paint](#weight-painting) vertices of your mesh objects by balancing influence of your vertices between two or more bones of a humanoid rig architecture. -This guide uses the humanoid model rigged in [Rig a humanoid model](./rig-a-humanoid-model.md) and [Blender version 3.0](https://www.blender.org/download/releases/3-0/). If you are +This guide uses the humanoid model rigged in [Rigging a Humanoid Model](./rigging-a-humanoid-model.md) and [Blender version 3.0](https://www.blender.org/download/releases/3-0/). If you are using another version of Blender, there may be minor differences in UI and settings. -## Set up Blender +## Setting Up Blender -This guide uses the rigged model completed in [Rig a humanoid model](./rig-a-humanoid-model.md). You can also download the rigged model [Blender project](../../assets/modeling/meshes/reference-files/lola-rigged-r15.blend) to follow along with this guide. +This guide uses the rigged model completed in [Rigging a Humanoid Model](./rigging-a-humanoid-model.md). You can also download the rigged model [Blender project](../../assets/modeling/meshes/reference-files/lola-rigged-r15.blend) to follow along with this guide. To optimize the process of skinning a rigid character, first set up the following in your Blender project: - Open the Blender project and configure the [bone visualization](#bone-visualization) settings. - Enable [Auto Normalize](#auto-normalize) to help optimize the weight-painting process. -### Bone visualization +### Bone Visualization By default, Blender displays bone objects as octahedral shapes. This original shape is useful when positioning bones but can get in the way while weight painting. To help visualization during the weight painting process, change your bone visualization to sticks. @@ -38,7 +38,7 @@ To update the visualization of your bones: -### Auto normalize +### Auto Normalize The Auto Normalize setting forces the influence on your vertices to equal one. This makes weight painting multiple meshes and bones more efficient by ensuring that each vertex in your character is fully influenced by at least one bone. See Blender's documentation on the [Auto Normalize](https://docs.blender.org/manual/en/latest/sculpt_paint/weight_paint/tool_settings/options.html) for more information. @@ -69,9 +69,9 @@ To enable Auto Normalize: -## Weight painting +## Weight Painting -Weight painting applies specific weights, or influences, that bones will have over parts of a mesh using a painting workflow. There are also additional ways to apply influences through weight painting or other tools, some which are covered in [Skin a simple mesh](../../art/modeling/skin-a-simple-mesh.md). See additional online resources such as Blender's [Character Rigging](https://www.youtube.com/watch?v=f2pTkW-1JkE) and [Vertex Groups](https://www.youtube.com/watch?v=dKZrzG5r13g) fundamental guides for more information on skinning and applying weights. +Weight painting applies specific weights, or influences, that bones will have over parts of a mesh using a painting workflow. There are also additional ways to apply influences through weight painting or other tools, some which are covered in [Skinning a Simple Mesh](../../art/modeling/skinning-a-simple-mesh.md). See additional online resources such as Blender's [Character Rigging](https://www.youtube.com/watch?v=f2pTkW-1JkE) and [Vertex Groups](https://www.youtube.com/watch?v=dKZrzG5r13g) fundamental guides for more information on skinning and applying weights. This guide will cover one process of weight painting the head and arm meshes of a humanoid model. These weight painting techniques can be used to weight paint the rest of the model. @@ -79,7 +79,7 @@ This guide will cover one process of weight painting the head and arm meshes of Do not apply influences on the Root or HumanoidRootNode parent bones in a humanoid rig. Any added influences are dropped when importing into Studio. -### Paint the head mesh +### Painting the Head Mesh The head mesh connects to the upper torso at the bottom vertices of the neck. To create a realistic bend in the model, the head mesh needs to share influence with the Head bone and the Upper Torso bone near the neckline. @@ -117,7 +117,7 @@ The final result of weight painting the head of the model should balance the hea -### Paint the arm meshes +### Painting the Arm Meshes Similar to the process for balancing influences between the Head bone and Upper Torso bone, arms and legs require a similar weight painting process. @@ -149,7 +149,7 @@ You can add and skin additional bones, such as fingers, if you want additional c Extra bone objects that are skinned to a mesh but do not share a Humanoid bone object name (such as LowerTorso, LeftFoot, Right UpperArm) are imported into Studio as a `Class.Bone` with the same name it was assigned with in the 3D modeling software. -#### Lower arm +#### Lower Arm After the wrist of the right hand is weight painted, you can proceed to balance the influences of the Lower Arm mesh between the **Lower Arm bone** and the **Upper Arm bone** to create a natural bend at the elbow. @@ -168,7 +168,7 @@ To weight paint influences to the lower arm: -#### Upper arm +#### Upper Arm After the elbow of the right lower arm is weight painted, you can proceed to balance the influences of the Upper Arm mesh between the **Upper Arm bone** and the **Upper Torso bone** to create a natural bend at the underarm. diff --git a/content/en-us/art/modeling/skin-a-simple-mesh.md b/content/en-us/art/modeling/skinning-a-simple-mesh.md similarity index 93% rename from content/en-us/art/modeling/skin-a-simple-mesh.md rename to content/en-us/art/modeling/skinning-a-simple-mesh.md index 39b89aa6e..f17b4756e 100644 --- a/content/en-us/art/modeling/skin-a-simple-mesh.md +++ b/content/en-us/art/modeling/skinning-a-simple-mesh.md @@ -1,17 +1,17 @@ --- -title: Skin a simple mesh +title: Skinning a Simple Mesh description: Explains the process for skinning a basic model in Blender. --- A skinned mesh is a rigged mesh that bends and flexes naturally when the internal skeleton rig is posed or animated. You can create a skinned mesh using a third party modeling tool such as [Blender](https://www.blender.org) or [Maya](https://www.autodesk.com/products/maya/overview). Skinning must be completed after the model is [rigged](./rigging.md). -This guide covers the process for rigging and then skinning a simple tree model in Blender with 3 bones. For basics on rigging, see [Rig a simple mesh](./rig-a-simple-mesh.md) before continuing this guide. +This guide covers the process for rigging and then skinning a simple tree model in Blender with 3 bones. For basics on rigging, see [Rigging A Simple Mesh](./rigging-a-simple-mesh.md) before continuing this guide. To skin a simple mesh, you need to: -- [Set up Blender](#set-up-blender) to Studio's relative scene units before importing a model. -- [Create, size, and position bones](#position-bones) inside of an armature. -- [Parent a mesh to an armature](#parent-armature) to bind the skeleton rig to the mesh object. +- [Set up Blender](#setting-up-blender) to Studio's relative scene units before importing a model. +- [Create, size, and position bones](#positioning-bones) inside of an armature. +- [Parent a mesh to an armature](#parenting-armature) to bind the skeleton rig to the mesh object. - [Weight paint](#weight-painting) the mesh to assign which parts of the mesh will move with which bone. @@ -20,14 +20,14 @@ using another version of Blender, there may be minor differences in UI and settings. -## Set up Blender +## Setting Up Blender To start the process of creating a skinned mesh, first set up the following in your Blender project: -- Set [scene unit and unit scale properties](#adjust-scene-and-scale) to Studio's proportions. -- [Import the model into Blender](#import-a-model) using Blender's file importer. +- Set [scene unit and unit scale properties](#adjusting-scene-and-scale) to Studio's proportions. +- [Import the model into Blender](#importing-a-model) using Blender's file importer. -### Adjust scene and scale +### Adjusting Scene and Scale When setting up Blender projects for Roblox Studio import, modify Blender's default **scene units** and **unit scale** properties to ensure they closely align with Studio's scale. @@ -43,7 +43,7 @@ To modify Blender's scene and scale units in a new project: -### Import a model +### Importing a Model For this guide, you'll import a [maple tree model](../../assets/modeling/skinned-meshes/MapleLeafTree.fbx) into Blender as your mesh object. @@ -55,11 +55,11 @@ To import a model into Blender: Viewport Display Settings -## Create a bone structure +## Creating a Bone Structure Now that your model is within Blender, add an armature and **bones** to your mesh object. An **armature** is a skeleton-like rigging object that acts as a container for bones, while **bones** are objects that control the movement and deformation of the group of vertices, or **vertex group**, that surround the bone. -### Add an armature +### Adding an Armature An armature is a structure required to add bones to your mesh. After you add in an armature, you can create and reposition any number of bones inside of your mesh object. @@ -78,7 +78,7 @@ To add an armature: -### Position bones +### Positioning Bones When you add an armature to your project, Blender also adds one bone to the armature at a default position and scale. You can rotate and scale the bone to more accurately represent the internal structure of your mesh object. @@ -95,7 +95,7 @@ To reposition the bone: 5. Press and hold your mouse's scroll wheel to move the camera around the mesh object to see different views and angles to ensure that the bone is centered within the mesh object. -### Add additional bones +### Adding Additional Bones In this guide, you need 3 bones within your mesh so the tree can move and rotate at three points. @@ -121,7 +121,7 @@ To add additional bones into the armature: -## Parent armature +## Parenting Armature After the bone structure is created and positioned, you need to connect the armature to the mesh object by parenting the armature to the mesh object. @@ -139,7 +139,7 @@ To parent an armature to a mesh: src="../../assets/modeling/skinned-meshes/Parenting-Armature.mp4" width="80%"> -## Weight paint +## Weight Painting With your armature connected to the mesh object, you can use the process of **weight painting** to change the amount of influence (weight) the bones will have on specific vertices to allow for more natural movement and flexibility. @@ -149,13 +149,13 @@ You can quickly assign influence with the [Brush tool](https://docs.blender.org/ -To optimize the painting process, [set up visualization and brush settings](#setup) before [painting influences](#paint-influence) to the mesh. +To optimize the painting process, [set up visualization and brush settings](#setup) before [painting influences](#painting-influence) to the mesh. ### Setup When assigning influences for complex models, you can configure the following Blender settings to optimize the Weight Painting process. -#### Bone visualization +#### Bone Visualization By default, Blender displays bone objects as octahedral shapes. This original shape is useful when positioning bones within the rig but can get in the way while painting. To help visualize the weight painting process, change your bone visualization to sticks. @@ -169,7 +169,7 @@ To update the visualization of your bones: src="../../assets/modeling/skinned-meshes/Stick-Visualization.mp4" width="80%"> -#### Auto normalize +#### Auto Normalize The [**Auto Normalize**](https://docs.blender.org/manual/en/latest/sculpt_paint/weight_paint/tool_settings/options.html) setting forces the influence on your vertices to equal one. This makes weight painting more efficient by ensuring that each vertex in your character is fully influenced by at least one bone. In this guide, Auto Normalize allows you to first apply full influence to the entire mesh quickly and then make minor adjustments with each bone. @@ -190,7 +190,7 @@ To enable Auto Normalize: src="../../assets/modeling/skinned-meshes/Enabling-Autonormalize.mp4" width="80%"> -#### Projected brush +#### Projected Brush A projected brush allows you to easily apply influence through a mesh, instead of just the surface. This is useful when painting influences on meshes that may be geometrically layered, such as the foliage of the tree. @@ -207,11 +207,11 @@ To set up a projected brush: src="../../assets/modeling/skinned-meshes/Setting-Projected-Brush.mp4" width="80%"> -### Paint influence +### Painting Influence With the [projected brush](#projected-brush) set up, you can now begin applying influence to the tree. Take advantage of the [Auto Normalize](#auto-normalize) setting by painting full red influence to the entire tree to the bottom bone and then assigning a partial influence on the middle and top bones. -#### Bottom bone +#### Bottom Bone The bottom bone should fully influence the movement of the entire tree starting from the trunk. @@ -236,7 +236,7 @@ To start painting influence to the bottom bone: src="../../assets/modeling/skinned-meshes/Test-Bottom-Bone.mp4" width="80%"> -#### Middle bone +#### Middle Bone The middle bone represents most of the foliage above the bottom bone. For a more subtle effect, apply a 50% influence (green) from the middle bone upwards. @@ -253,7 +253,7 @@ To paint influence to the middle bone: src="../../assets/modeling/skinned-meshes/Paint-Middle-Bone.mp4" width="80%"> -#### Top bone +#### Top Bone The top bone should influence the top leaf area above the middle bone. Paint this top area using 25% influence (teal) for a more natural effect. @@ -276,7 +276,7 @@ After weight painting each bone, each section of this tree should now be influen src="../../assets/modeling/skinned-meshes/Test-Bones.mp4" width="80%"> -### Test +### Testing It is important to constantly test the influences of your bone **throughout** the weight painting process. diff --git a/content/en-us/art/modeling/specifications.md b/content/en-us/art/modeling/specifications.md index c1cb6d8fe..f76d88564 100644 --- a/content/en-us/art/modeling/specifications.md +++ b/content/en-us/art/modeling/specifications.md @@ -1,5 +1,5 @@ --- -title: General specifications +title: General Specifications description: Lists the specific technical requirements for custom models created outside of Studio. --- @@ -7,14 +7,14 @@ Roblox supports a wide variety of mesh configurations created from third-party s Check that your model meets the following modeling specifications and guidelines before exporting to ensure Studio compatibility. Specific types of assets, like characters and accessories, have additional specifications: -- If you are creating a rigid accessory model, ensure that your model follows the [accessory specifications](../../art/accessories/specifications.md). -- If you are creating a clothing accessory model, ensure that your model follows the [clothing specifications](../../art/accessories/clothing-specifications.md). -- If you are creating an avatar character model, ensure that your model follows the [character specifications](../../art/characters/specifications.md). +- If you are creating a rigid accessory model, ensure that your model follows [Accessory Specifications](../../art/accessories/specifications.md). +- If you are creating a clothing accessory model, ensure that your model follows [Clothing Specifications](../../art/accessories/clothing-specifications.md). +- If you are creating an avatar character model, ensure that your model follows [Character Specifications](../../art/characters/specifications.md). -When ready to export, see the [export settings](../../art/modeling/export-requirements.md) for mesh export settings for Blender and Maya. +When ready to export, see [Export Requirements](../../art/modeling/export-requirements.md) for mesh export settings for Blender and Maya. -If you meet certain account requirements, you can sell your custom meshes as accessories on the Marketplace. See [Rigid accessories](../../art/accessories/index.md) for an overview on the creation process for these types of accessories. +If you meet certain account requirements, you can sell your custom meshes as accessories on the Marketplace. See [Clothing and Accessories](../../art/accessories/index.md) for an overview on the creation process for these types of accessories. ## Geometry @@ -26,9 +26,9 @@ See the following specifications for general geometry: - **No N-gons** - Meshes must be in quads where possible. - **Volume** - Meshes cannot be 0 thickness and must have some volume. -## Rigging and skinning +## Rigging and Skinning -Roblox supports third-party meshes with an internal rig, or skeleton structure that can be used as additional articulation points in your model. See [Character rigs](../../art/characters/specifications.md#rig) for specific standards for an R15 character rig. +Roblox supports third-party meshes with an internal rig, or skeleton structure that can be used as additional articulation points in your model. See [Character Rigs](../../art/characters/specifications.md#rigging) for specific standards for an R15 character rig.
@@ -45,36 +45,36 @@ See the following requirements for general rigging and skinning: - **Transformations** - All bones (Blender) or joints (Maya) must be frozen and have scale values set to `1`, `1`, `1` and rotation values set to `0`, `0`, `0`. - **Symmetry** - When possible, maintain symmetry when applying influences to a rig -- **Root joint** - The root bone or joint should always be set to `0`, `0`, `0`. -- **Max influences** - A vertex can not be influenced by more than 4 bones or joints. -- **No Root influences** - Do not apply influences to the Root bone or joint. +- **Root Joint** - The root bone or joint should always be set to `0`, `0`, `0`. +- **Max Influences** - A vertex can not be influenced by more than 4 bones or joints. +- **No Root Influences** - Do not apply influences to the Root bone or joint. ## Textures -Roblox supports basic color textures and modern [PBR textures](../../art/modeling/surface-appearance.md). For technical requirements and best practices when generating individual texture images, see [Texture specifications](../../art/modeling/texture-specifications.md). +Roblox supports basic color textures and modern [PBR textures](../../art/modeling/surface-appearance.md). For technical requirements and best practices when generating individual texture images, see [Texture Specifications](../../art/modeling/texture-specifications.md). ## Animations -An animation can be included on any `.fbx` mesh export. For information on prepping a character animation from a modeling software for export, see [Export animations from Maya](../../art/characters/export-avatar-animations-from-maya.md). +An animation can be included on any `.fbx` mesh export. For information on prepping a character animation from a modeling software for export, see [Exporting Animations from Maya](../../art/characters/exporting-avatar-animations-from-maya.md). See the following requirements for assets with animation: -- **Single track animation** - Only a single animation track can be exported with a mesh or model. If you want to export multiple animations, you need to create separate exports for each animation you want to import. +- **Single Track Animation** - Only a single animation track can be exported with a mesh or model. If you want to export multiple animations, you need to create separate exports for each animation you want to import. -## Inner and outer cages +## Inner and Outer Cages Inner and Outer cages are non-rendered meshes that Roblox uses to define the inner and outer surfaces of a mesh using a `Class.WrapLayer` or `Class.WrapTarget` instance. These cages are most often used with characters and accessories, though you can use cage meshes for any mesh object. -Character models must include an outer cage in order to properly equip layered clothing and accessories. See [Character specifications](../../art/characters/specifications.md) for additional information. +Character models must include an outer cage in order to properly equip layered clothing and accessories. See [Character Specifications](../../art/characters/specifications.md) for additional information. 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. +- **Naming Conventions** - The inner and outer cage must be named after the primary mesh object with **\_InnerCage** and **\_OuterCage** affixed. The Outliner in Blender showing two mesh objects called Tshirt_InnerCage and Tshirt_OuterCage. -- **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. -- **Vertices and UV map** - Don't delete vertices or alter the UVs on the Inner or Outer Cages as this can cause errors when importing in Studio or when equipping onto a character. +- **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. +- **Vertices and UV Map** - Don't delete vertices or alter the UVs on the Inner or Outer Cages as this can cause errors when importing in Studio or when equipping onto a character. - **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/art/modeling/surface-appearance.md b/content/en-us/art/modeling/surface-appearance.md index 41b705ade..48e102a74 100644 --- a/content/en-us/art/modeling/surface-appearance.md +++ b/content/en-us/art/modeling/surface-appearance.md @@ -1,9 +1,9 @@ --- -title: PBR textures +title: PBR Textures description: PBR textures are advanced textures using multiple texture maps. --- -**Physically-Based rendering** (PBR) textures allow you to represent realistic shading and lighting by using multiple types of texture images, or **maps**, on a single object. Combining multiple texture maps can more accurately simulate color, roughness, and reflectivity in any lighting environment and can enhance the visual elements of your assets and environment. +**Physically-Based Rendering** (PBR) textures allow you to represent realistic shading and lighting by using multiple types of texture images, or **maps**, on a single object. Combining multiple texture maps can more accurately simulate color, roughness, and reflectivity in any lighting environment and can enhance the visual elements of your assets and environment. @@ -22,9 +22,9 @@ description: PBR textures are advanced textures using multiple texture maps. Various applications and workflows are available for creating PBR textures. You can use these during the modeling and texturing phases of custom 3D object creation, provided that Roblox Studio [supports](../../art/characters/specifications.md#textures) the specific texture maps you're using. -This guide provides instructions on [setting up](#enable-surface-appearance) your mesh objects to use PBR texture maps, and describes common use-cases and best practices for Roblox's supported PBR [texture maps](#texture-maps). When creating your own surfaces, see [Material references](../../art/modeling/material-reference.md) for common material values, image comparisons and clothing examples. +This guide provides instructions on [setting up](#enabling-surface-appearance) your mesh objects to use PBR texture maps, and describes common use-cases and best practices for Roblox's supported PBR [texture maps](#texture-maps). When creating your own surfaces, see [Material References](../../art/modeling/material-reference.md) for common material values, image comparisons and clothing examples. -## Enable surface appearance +## Enabling Surface Appearance You can add PBR textures to any `Class.MeshPart` by adding a `Class.SurfaceAppearance` object which overwrites the original assigned texture. In general, you can't modify `Class.SurfaceAppearance` properties by scripts during an experience because the engine requires some pre-processing to display these graphics. Similar to adding a basic texture, each texture image map must point to the appropriate uploaded image asset ID. @@ -39,7 +39,7 @@ To enable surface appearance for a `Class.MeshPart`: A close-up of the Properties window where the user selected the ColorMap property. A popup displays all available image textures to select. -## Texture maps +## Texture Maps Studio currently supports 4 types of PBR texture maps: **Color**, **Normal**, **Metalness**, **Roughness**. Each of these maps correspond to an important aspect of the object's surface appearance. Texture maps only change visual appearance and don't affect the geometry of the `Class.MeshPart` object. @@ -51,19 +51,19 @@ See the following examples for an overview of Roblox's supported texture maps an -The `Class.SurfaceAppearance.ColorMap|ColorMap` property sets the color data of the surface, including any transparency present in the map. See [Color (albedo)](#color-albedo) for additional information. +The `Class.SurfaceAppearance.ColorMap|ColorMap` property sets the color data of the surface, including any transparency present in the map. See [Color (Albedo)](#color-albedo) for additional information.
A completely filled image, mostly red with various black splotches and white scratches. -
Example map
+
Example Map
A blank white sphere with a dark background. -
Example mesh
+
Example Mesh
A red sphere with black splotches and white scratches with a dark background. -
Mesh and texture
+
Mesh and Texture
@@ -72,15 +72,15 @@ The `Class.SurfaceAppearance.NormalMap|NormalMap` texture property defines the t
A completely filled image, mostly cyan with streaks and bumps across the surface giving the impression of a tactile surface. -
Example map
+
Example Map
A blank teal sphere with a dark background. -
Example mesh
+
Example Mesh
A teal sphere with tactile streaks and bumps across the surface. -
Mesh and texture
+
Mesh and Texture
@@ -89,15 +89,15 @@ The grayscale `Class.SurfaceAppearance.RoughnessMap|RoughnessMap` texture proper
A completely filled image of black diamond shapes over a light grey background. -
Example map
+
Example Map
A blank purple sphere with a dark background. -
Example mesh
+
Example Mesh
A purple sphere that has glossy diamond shapes over its surface. -
Mesh and texture
+
Mesh and Texture
@@ -106,15 +106,15 @@ The grayscale `Class.SurfaceAppearance.MetalnessMap|MetalnessMap` texture proper
A completely filled image with a completely black border and scratch-like streaks revealing a white center. -
Example map
+
Example Map
A blank light blue sphere with a dark background. -
Example mesh
+
Example Mesh
A light blue sphere with parts of its surface looking scratched. The scratched areas reveal a metal-ness quality that is more reflective. -
Mesh and texture
+
Mesh and Texture
@@ -124,7 +124,7 @@ The grayscale `Class.SurfaceAppearance.MetalnessMap|MetalnessMap` texture proper For technical details on texture file requirements, see [texture requirements](../../art/modeling/texture-specifications.md). -### Color (albedo) +### Color (Albedo) The **color**, or **albedo**, map determines the color of your texture and consists of mostly color information with little to no lighting or textural information. For additional customization, you can also add [transparency](#alpha-modes) in your albedo texture by adding opacity to your image map. @@ -132,7 +132,7 @@ The **color**, or **albedo**, map determines the color of your texture and consi While albedo maps and generic [non-PBR texture maps](../../parts/textures-decals.md), commonly known as **diffuse maps**, contain very similar base color data for a surface, diffuse maps often include shading and lighting values to imitate a specific visual element that are more effectively handled by PBR's [normal](#normal), [roughness](#roughness), and [metalness](#metalness) maps. Using a typical diffuse map instead of an albedo map may often look incorrect when the lighting doesn't match with these added baked-in texture elements. -#### Alpha modes +#### Alpha Modes For objects that require partial or complete sections of transparency, such as grass, leaves, lace, or decals like dirt or grunge, you can use various **alpha modes** to apply transparency to your color map. If your color map image format supports alpha channels, you can apply a grayscale alpha map where 0.0 is opaque and 1.0 is transparent. Similarly, when using an image format such as a `.png`, any opacity on the color map applies as transparency on the asset. @@ -175,7 +175,7 @@ The following example uses the **Overlay** mode for custom characters, revealing
-See [Custom skin tone](../../art/characters/specifications.md#custom-skin-tone) for additional details on optimizing an overlay for skin and similar applications. +See [Custom Skin Tone](../../art/characters/specifications.md#custom-skin-tone) for additional details on optimizing an overlay for skin and similar applications. ##### Transparency @@ -218,7 +218,7 @@ The following example demonstrates how a partial and full transparency in this m -#### Color tinting +#### Color Tinting You can apply a tint to your color map by modifying the `Class.SurfaceAppearance.Color` property. Tinting does not affect performance and you can save on memory by reusing a single ColorMap with different tints. Use color tinting to create additional low-cost variation between your `Class.MeshPart` PBR textures or to programmatically modify your PBR surface colors in real-time. @@ -317,7 +317,7 @@ Various combinations of the roughness and metalness can represent almost every p **Fresnel** refers to the amount of reflection of a surface in reference to the current viewing angle. Studio's Fresnel processing aims for physical real-world accuracy, although you may get unexpected specular contribution at certain angles even with rough surfaces. In some cases, you can compensate by making your roughness map around 0.1 more rough to achieve a consistent lighting response with your materials. -Even though Roblox renders this lighting effect accurately, the brightness and reflectivity of a surface may not respond consistently between your texture content creating software, such as Substance Painter, and Studio. See [Clothing examples](../../art/modeling/material-reference.md#clothing-examples) for differences in rendering between applications. +Even though Roblox renders this lighting effect accurately, the brightness and reflectivity of a surface may not respond consistently between your texture content creating software, such as Substance Painter, and Studio. See [Clothing Examples](../../art/modeling/material-reference.md#clothing-examples) for differences in rendering between applications. ### Metalness @@ -345,5 +345,5 @@ Different PBR renderers use various workflows for processing reflectiveness. Stu In most cases, you should set this value to either 0.0 (non-metal) or 1.0 (metal). You can use partial metalness values when creating more uncommon surfaces with moderate reflective properties, like satin or silk. This practice can subtly fake the reflections in the material to highlight the color from the [color/albedo map](#color-albedo) over colors reflected in the environment. -Various combinations of the roughness and metalness can represent almost every possible real-world material surface. See [Material references](../../art/modeling/material-reference.md) for examples and references of how combinations of material values can create various surface appearances. +Various combinations of the roughness and metalness can represent almost every possible real-world material surface. See [Material References](../../art/modeling/material-reference.md) for examples and references of how combinations of material values can create various surface appearances. diff --git a/content/en-us/art/modeling/texture-specifications.md b/content/en-us/art/modeling/texture-specifications.md index 1c123b7d3..89c232c8e 100644 --- a/content/en-us/art/modeling/texture-specifications.md +++ b/content/en-us/art/modeling/texture-specifications.md @@ -1,24 +1,24 @@ --- -title: Texture specifications +title: Texture Specifications description: Texture Specifications lists the specific technical requirements and best practices for custom textures created outside of Studio. --- -A texture is a digital image applied to the surface of a 3D object to simulate and enhance its visual appearance. Roblox supports various texture types that you import with a custom 3D object, or upload directly as individual image files. For details on implementing basic textures, see [Textures and decals](../../parts/textures-decals.md). +A texture is a digital image applied to the surface of a 3D object to simulate and enhance its visual appearance. Roblox supports various texture types that you import with a custom 3D object, or upload directly as individual image files. For details on implementing basic textures, see [Textures and Decals](../../parts/textures-decals.md). -Roblox also supports [physically-based rendering (PBR) textures](../../art/modeling/surface-appearance.md) which override a mesh's existing `Class.MeshPart.TextureID|TextureID` and can be used to create immersive environments and objects. +Roblox also supports [Physically Based Rendering (PBR) textures](../../art/modeling/surface-appearance.md) which override a mesh's existing `Class.MeshPart.TextureID|TextureID` and can be used to create immersive environments and objects. See the following requirements when creating your own basic and advanced textures: -- **File formats** — File formats for textures that are uploaded separately in Studio must be submitted as a `.png`, `.jpg`, `.tga`, or `.bmp`. +- **File Formats** — File formats for textures that are uploaded separately in Studio must be submitted as a `.png`, `.jpg`, `.tga`, or `.bmp`. - **Resolution** — Roblox supports up to 1024×1024 pixel texture resolutions. To optimize for performance, you may consider using smaller resolutions. Use the following general guidance: - For smaller 5×5 stud objects, use 256×256 texture resolutions. - For medium 10×10 stud objects, use 512×512 texture resolutions. - For larger 20×20 stud objects, use 1024×1024 texture resolutions. - - See [PBR texture budgets](#surfaceappearance) for similar guidances with PBR texture maps. + - See [PBR Texture Budgets](#surfaceappearance) for similar guidances with PBR texture maps. -- **Single material** - Mesh objects can only have one material assigned. +- **Single Material** - Mesh objects can only have one material assigned. Roblox default [materials](../../parts/materials.md) follow a similar texel resolution pattern: @@ -28,7 +28,7 @@ Roblox default [materials](../../parts/materials.md) follow a similar texel reso ## SurfaceAppearance -You can add a [surface appearance](../../art/modeling/surface-appearance.md) to your mesh in Studio to add PBR texture options. The `Class.SurfaceAppearance` instance uses UV mapping, a form of texture mapping, to accurately map up to four 2D images onto the mesh object. +You can add a [Surface Appearance](../../art/modeling/surface-appearance.md) to your mesh in Studio to add PBR texture options. The `Class.SurfaceAppearance` instance uses UV mapping, a form of texture mapping, to accurately map up to four 2D images onto the mesh object. See the following requirements for `Class.SurfaceAppearance` assets: @@ -37,9 +37,9 @@ See the following requirements for `Class.SurfaceAppearance` assets:
Substance Painter render
Roblox Studio render
Material values
Substance Painter Render
Roblox Studio Render
Material Values
- - - + + + @@ -71,9 +71,9 @@ See the following requirements for `Class.SurfaceAppearance` assets:
Texture typeTexture schema suffixTexture image detailsTexture TypeTexture Schema SuffixTexture Image Details
- - - + + + @@ -104,7 +104,7 @@ See the following requirements for `Class.SurfaceAppearance` assets: When rendering many textures at the same time, Roblox may downsample textures to optimize for performance. -## UV mapping +## UV Mapping All textures use UV mapping, a 3D modeling process to project a 3D model's surface to a 2D image, or UV atlas. See the following requirements for UV mapping, especially if you're manually editing or optimizing your UV atlas: diff --git a/content/en-us/art/overview-dcc.md b/content/en-us/art/overview-dcc.md index b0ba2aa80..60834f261 100644 --- a/content/en-us/art/overview-dcc.md +++ b/content/en-us/art/overview-dcc.md @@ -1,50 +1,50 @@ --- -title: Work with third-party software +title: Working With Third-Party Software description: An overview of how to incorporate content created from other software into Studio. --- -Creators on Roblox often leverage third-party creation tools to make custom assets and content. These external tools typically specialize in areas like **3D modeling**, **texture creation**, or **audio editing**, and offer additional features and flexibility that complement the Roblox Engine. Check out [Roblox staff 3D art articles](https://devforum.roblox.com/tags/c/resources/roblox-staff/278/art) for guides, tips, and tutorials on using various third-party software. +Creators on Roblox often leverage third-party creation tools to make custom assets and content. These external tools typically specialize in areas like **3D modeling**, **texture creation**, or **audio editing**, and offer additional features and flexibility that complement the Roblox engine. Check out [Roblox Staff 3D art articles](https://devforum.roblox.com/tags/c/resources/roblox-staff/278/art) for guides, tips, and tutorials on using various third-party software. -In most workflows, you create custom assets in [third-party software](#examples-of-third-party-software), export them as a common file type, and then [import the file into Studio](#import-to-studio). +In most workflows, you create custom assets in [third-party software](#examples-of-third-party-software), export them as a common file type, and then [import the file into Studio](#importing-to-studio). -## Examples of third-party software +## Examples of Third-Party Software The following are examples of third-party software that creators commonly use: -- **3D modeling software** +- **3D Modeling Software** - Creators use external 3D modeling software such as [Blender](https://www.blender.org/), [Maya](https://www.autodesk.com/products/maya/overview), or [Cinema 4D](https://www.maxon.net/en/cinema-4d) to design intricate and detailed 3D models. These models can include characters, props, and environmental assets. -- **Image editors and texture creation tools** +- **Image Editors and Texture Creation Tools** - Graphics designers and texture artists can use tools like [Photoshop](https://www.adobe.com/products/photoshop) or [Substance Painter](https://www.adobe.com/products/substance3d-painter) to create high-quality images. You can use these images for graphic interfaces or as textures for your 3D models. These tools allow for detailed painting, mapping, and manipulation of textures to achieve realistic or stylized effects. -- **Audio editing software** +- **Audio Editing Software** - Creators working on sound design or music for their Roblox games might use external audio editing software like [Audacity](https://www.audacityteam.org/) or [Reaper](https://www.reaper.fm/). These tools allow for precise control when creating audio assets. By using third-party software, creators can tap into specialized features, workflows, and expertise, while expanding their creative possibilities and enhancing the overall quality of their Roblox experiences. -## Import to Studio +## Importing to Studio Studio provides several tools to get your third-party content into Studio depending on the type of asset you upload: - Models - - Uploaded models must follow Studio's [modeling specifications](../art/modeling/specifications.md). + - Uploaded models must follow Studio's [Model Specifications](../art/modeling/specifications.md). - Studio's [3D Importer](../art/modeling/3d-importer.md) supports `.gltf`, `.fbx`, `.obj` file formats. - - You can also use tools like the [Roblox Blender plugin](../art/modeling/roblox-blender-plugin.md) to connect your modeling software to Studio and directly upload your modeling assets between applications. + - You can also use tools like the [Roblox Blender Plugin](../art/modeling/roblox-blender-plugin.md) to connect your modeling software to Studio and directly upload your modeling assets between applications. - Images - - Uploaded textures must follow Studio's [texture specifications](../art/modeling/specifications.md). + - Uploaded textures must follow Studio's [Texture Specifications](../art/modeling/specifications.md). - Studio's [Asset Manager](../projects/assets/manager.md) supports `.png`, `.jpg`, `.tga`, or `.bmp` file formats and allows for bulk file imports. - Sounds - - Uploaded sounds must follow Roblox's [sound requirements](../sound/assets.md#requirements). + - Uploaded sounds must follow Roblox's [Sound Requirements](../sound/assets.md#requirements). - Studio's [Asset Manager](../projects/assets/manager.md) supports `.mp3`, and `.ogg` file formats and allows for bulk file imports. -Roblox performs asset moderation on upload of any asset type. Roblox can also moderate assets after the initial upload. For more information, see [Asset moderation](../projects/assets/index.md#asset-moderation). +Roblox performs asset moderation on upload of any asset type. Roblox can also moderate assets after the initial upload. For more information, see [Asset Moderation](../projects/assets/index.md#asset-moderation). diff --git a/content/en-us/art/overview-studio.md b/content/en-us/art/overview-studio.md index 6ce5962bf..d3b8fa379 100644 --- a/content/en-us/art/overview-studio.md +++ b/content/en-us/art/overview-studio.md @@ -1,5 +1,5 @@ --- -title: 3D art and Studio +title: 3D Art and Studio description: An overview of fundamental 3D art tools, concepts, workflows, and resources for Roblox Studio. hideBreadcrumbs: true --- @@ -15,7 +15,7 @@ Each of the following sections include a brief description as well as additional - [Materials and Textures](#materials-and-textures) - Discover how Roblox uses materials and textures with your models to enhance the surface appearance of your objects. - [Environments](#environments) - Craft immersive environments using terrain tools, lighting effects, and atmospheric elements. -## Basic layout +## Basic Layout After [installing Studio](../studio/setup.md), familiarize yourself with Studio's many 3D art tools and interfaces. While you can customize Studio to show various layouts and tools, Studio opens with the most commonly used windows by default: @@ -31,9 +31,9 @@ After [installing Studio](../studio/setup.md), familiarize yourself with Studio' - **Output** — This window displays all error, warning, or manually returned messages from the Roblox Engine. This window is useful for troubleshooting behavior in your experience. -For more information on the Studio interface and individual tools, see the [Studio overview](../studio/index.md). +For more information on the Studio interface and individual tools, see [Studio Overview](../studio/index.md). -## Common shortcuts +## Common Shortcuts Like all creation tools, keyboard shortcuts allow you to work efficiently and quickly. While Studio has many built-in keyboard shortcuts and offers various customizations, the following shortcuts and settings can be very useful for 3D artists: @@ -94,9 +94,9 @@ Like all creation tools, keyboard shortcuts allow you to work efficiently and qu
Recommended map sizeApproximate asset size (unit cube)Example assetsRecommended Map SizeApproximate Asset Size (Unit Cube)Example Assets
-For additional keyboard shortcuts, see [Studio shortcuts](../studio/shortcuts.md). +For additional keyboard shortcuts, see [Studio Shortcuts](../studio/shortcuts.md). -## Assets and packages +## Assets and Packages Before you begin creating, it's important to understand how Roblox handles **assets** and **packages**, the most basic object or group of objects that you can save, use, and share. @@ -128,7 +128,7 @@ The **Creator Store** is where you can find many assets created and shared by Ro Access the Creator Store through Studio's Toolbox or the [Creator Hub](https://create.roblox.com/store/models). For more information, see [Creator Store](../production/creator-store.md). -#### Roblox created models +#### Roblox Created Models Roblox also provides free model packs that you can use within your experiences. These are high quality assets used in many of Roblox's showcase experiences. You can add these to your toolbox in various ways by directly adding them from the Creator Dashboard, or searching for them in the Toolbox. @@ -148,7 +148,7 @@ The **Marketplace** is where all Roblox users can purchase virtual cosmetics, su To sell assets on the Marketplace, your creation must follow specific avatar specifications and meet certain policies and guidelines. For more information, see [Avatar](../avatar/index.md) and [Marketplace](../marketplace/index.md). -## 3D modeling +## 3D Modeling 3D modeling is the process of creating three-dimensional digital representations of objects or environments. Roblox supports [basic 3D modeling](#basic-parts) in Studio, using primitive parts and allowing you to combine, subtract, and intersect the basic parts into more complex models. @@ -169,7 +169,7 @@ Roblox also supports [custom 3D models](#mesh-parts) created from 3D modeling so -### Basic parts +### Basic Parts Studio natively supports basic parts that allow you to quickly add simple geometry to your experience. This is ideal for creating simple environments or even greyboxing or prototyping a more complex 3D space. @@ -182,7 +182,7 @@ Basic parts include the following benefits: For more information on using basic parts, as well as solid modeling operations, see [Parts](../parts/index.md). -### Mesh parts +### Mesh Parts Meshes are collections of vertices, edges, and faces that make up a 3D object. Unlike parts, which you can directly create in Studio, you first create meshes in a third-party modeling application like Blender or Maya before importing the model file into Studio. After importing a mesh, Studio represents the mesh object as a `Class.MeshPart`. @@ -202,9 +202,9 @@ Meshes are collections of vertices, edges, and faces that make up a 3D object. U -For more information on creating custom meshes, see [Custom meshes](../art/modeling/index.md). +For more information on creating custom meshes, see [3D Art Modeling](../art/modeling/index.md). -## Materials and textures +## Materials and Textures It's always important to consider the surface appearance of your objects, as this empowers you to create cohesive and engaging assets and environments. Studio includes many tools to manage the look and feel of your assets, primarily by customizing your objects with [materials](#materials) and [textures](#textures). @@ -226,7 +226,7 @@ Materials also affect physical properties beyond appearance. The following are v - **Glass** - When a part's material is set to glass and its transparency is greater than `0`, it distorts and slightly blurs the image behind it, and becomes less transparent when viewed from an angle. - **Forcefield** - Any texture object placed on a mesh using the `ForceField` material will shimmer and shine at random intervals depending on the R channel of the texture's RGB color. -- **Neon** - Adds a glowing effect on parts. This is useful for decorating places, especially sci-fi or night city environments. This behavior might change at lower render settings when playing on less performant devices. For more information on performance behavior, see [Improve performance](../performance-optimization/improve.md). +- **Neon** - Adds a glowing effect on parts. This is useful for decorating places, especially sci-fi or night city environments. This behavior might change at lower render settings when playing on less performant devices. For more information on performance behavior, see [Performance Optimization](../performance-optimization/improving.md). For additional information, see [Materials](../parts/materials.md). @@ -258,7 +258,7 @@ There are two types of textures in Roblox, single image **basic textures** and * Loading many unique PBR textures at once can affect performance in your experience. When working with many similar meshes, you can save processing power and memory by using a single set of PBR textures and [modifying alpha channels in combination with your mesh object base colors](https://devforum.roblox.com/t/using-alpha-masks-in-color-maps-to-customizetint-base-colors). -For additional tips on improving performance with your assets, see [Improve performance](../performance-optimization/improve.md#rendering). +For additional tips on improving performance with your assets, see [Performance Optimization](../performance-optimization/improving.md#rendering). @@ -270,7 +270,7 @@ For additional tips on improving performance with your assets, see [Improve perf -For more information see [Textures and decals](../parts/textures-decals.md) and [PBR textures](../art/modeling/surface-appearance.md). +For more information see [Textures and Decals](../parts/textures-decals.md) and [PBR Textures](../art/modeling/surface-appearance.md). ## Environments @@ -284,7 +284,7 @@ Environments refer to the visual and spatial world within your experience. Envir While many experiences are include interior spaces, such as a city building or spaceship, it's important to use terrain for outdoor environments whenever possible to ensure performance and expected lighting and environmental behavior. -For more information, see [Environmental terrain](../parts/terrain.md). +For more information, see [Terrain](../parts/terrain.md). ### Lighting @@ -294,7 +294,7 @@ For more information, see [Environmental terrain](../parts/terrain.md). Lighting can be categorized into the following: -- **Global lighting** - Refers to the luminescence from either the sun or moon in an outdoor environment. You can set the properties of your global lighting by adjusting the Lighting service. For additional hands-on instructions on adjusting global lighting, see the [Customize global lighting](../tutorials/curriculums/core/building/customize-global-lighting.md) lesson of our Core Curriculum. +- **Global lighting** - Refers to the luminescence from either the sun or moon in an outdoor environment. You can set the properties of your global lighting by adjusting the Lighting service. For additional hands-on instructions on adjusting global lighting, see the [Customize Global Lighting](../tutorials/curriculums/core/building/customize-global-lighting.md) lesson of our Core Curriculum. - **Local lighting** - Refers to light sources placed within your experiences, such as pointlights, spotlights, and surface lights. You can modify lighting scenarios based on different interior rooms or sections of your experience by using one or more light sources. -For additional information on modifying your environment's lighting, see [Global lighting](../environment/lighting.md). +For additional information on modifying your environment's lighting, see [Lighting](../environment/lighting.md). diff --git a/content/en-us/assets/audio/playing-audio/Sound-Property-SoundId-Generic.png b/content/en-us/assets/audio/playing-audio/Sound-Property-SoundId-Generic.png new file mode 100644 index 000000000..49d3af32c --- /dev/null +++ b/content/en-us/assets/audio/playing-audio/Sound-Property-SoundId-Generic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9dc59822ee0c3c6d1f1c27e6a52a87be96390fab8576411336e1395ede68c69 +size 18962 diff --git a/content/en-us/assets/audio/sound-groups/Assigning-Audio-Cursor-Changes.png b/content/en-us/assets/audio/sound-groups/Assigning-Audio-Cursor-Changes.png new file mode 100644 index 000000000..b35ffb7d3 --- /dev/null +++ b/content/en-us/assets/audio/sound-groups/Assigning-Audio-Cursor-Changes.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20a7545f8a520379534ed24fc1294305748e6cc730dc0fb1cc6721a6dc06f953 +size 13352 diff --git a/content/en-us/assets/audio/sound-groups/Assigning-Audio-Update.png b/content/en-us/assets/audio/sound-groups/Assigning-Audio-Update.png new file mode 100644 index 000000000..2935b1838 --- /dev/null +++ b/content/en-us/assets/audio/sound-groups/Assigning-Audio-Update.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25a574778449e04117655bbacf15ab642c9a340cd1037b954052756aec61cf39 +size 29709 diff --git a/content/en-us/assets/audio/sound-groups/Insert-Dynamic-Effect.png b/content/en-us/assets/audio/sound-groups/Insert-Dynamic-Effect.png new file mode 100644 index 000000000..5c15e8b14 --- /dev/null +++ b/content/en-us/assets/audio/sound-groups/Insert-Dynamic-Effect.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:754bca29b7e33ba4e428eafa37b954b7c15c96dc8625f381ac0c5fb39dfe6d2d +size 12249 diff --git a/content/en-us/assets/audio/sound-groups/SoundService-SoundGroup-Object.png b/content/en-us/assets/audio/sound-groups/SoundService-SoundGroup-Object.png new file mode 100644 index 000000000..93c8819cd --- /dev/null +++ b/content/en-us/assets/audio/sound-groups/SoundService-SoundGroup-Object.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71d1519bd3586b71d780b5b99af98b33489318623025b260997aadfe646a082f +size 12004 diff --git a/content/en-us/assets/audio/sound-objects/Background-Audio-Sound.png b/content/en-us/assets/audio/sound-objects/Background-Audio-Sound.png new file mode 100644 index 000000000..2a161d4ec --- /dev/null +++ b/content/en-us/assets/audio/sound-objects/Background-Audio-Sound.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e5462621c844d5cd9b8240d34f18339d3125d79cb39e8745b8c1240bf0a7a34 +size 18483 diff --git a/content/en-us/assets/audio/sound-objects/Point-Source-Sound.png b/content/en-us/assets/audio/sound-objects/Point-Source-Sound.png new file mode 100644 index 000000000..f8524d999 --- /dev/null +++ b/content/en-us/assets/audio/sound-objects/Point-Source-Sound.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06f7ea47b34788802d0685504db6c12c4e70f5d8f9f766ec3e381b4481b50f23 +size 21252 diff --git a/content/en-us/assets/audio/sound-objects/Volumetric-Sound.png b/content/en-us/assets/audio/sound-objects/Volumetric-Sound.png new file mode 100644 index 000000000..18f3b4982 --- /dev/null +++ b/content/en-us/assets/audio/sound-objects/Volumetric-Sound.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:068e017ce874e1e6ef644167ff7b53db9946335058821543c2bd87ef417ae89c +size 14953 diff --git a/content/en-us/assets/studio/explorer/SoundService-SoundGroup-ReverbSoundEffect.png b/content/en-us/assets/studio/explorer/SoundService-SoundGroup-ReverbSoundEffect.png deleted file mode 100644 index 479a091ca..000000000 --- a/content/en-us/assets/studio/explorer/SoundService-SoundGroup-ReverbSoundEffect.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:185104534c83452e3b97dcdbd4784161ef277448fa593b55eb58c1f63617a623 -size 21012 diff --git a/content/en-us/assets/studio/explorer/SoundService-SoundGroup.png b/content/en-us/assets/studio/explorer/SoundService-SoundGroup.png deleted file mode 100644 index 0109ec09e..000000000 --- a/content/en-us/assets/studio/explorer/SoundService-SoundGroup.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f8731bba68e2b095b2ab3fd58e7f5ac2fa032cef0b3e21fa387f3876d5dea61 -size 14866 diff --git a/content/en-us/assets/studio/properties/Sound-SoundGroup.png b/content/en-us/assets/studio/properties/Sound-SoundGroup.png deleted file mode 100644 index f52da2c17..000000000 --- a/content/en-us/assets/studio/properties/Sound-SoundGroup.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:472373d56e3b86e5290c306497600121c8c0d0faee157ca1c5edb4904a699039 -size 14485 diff --git a/content/en-us/assets/studio/properties/Sound-SoundId.png b/content/en-us/assets/studio/properties/Sound-SoundId.png deleted file mode 100644 index 2b79fdda1..000000000 --- a/content/en-us/assets/studio/properties/Sound-SoundId.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:868454eee0bbfcbf7903b849d09da6bede1551339d115077ef35ffae8671a66d -size 15886 diff --git a/content/en-us/assistant/guide.md b/content/en-us/assistant/guide.md index 32d2228cc..62a219366 100644 --- a/content/en-us/assistant/guide.md +++ b/content/en-us/assistant/guide.md @@ -15,17 +15,17 @@ description: How to use Assistant to help build, grow, and monetize your creatio [Built with Meta Llama 3](https://llama.meta.com/llama3/license/) -## Studio features +## Studio Features You can access Assistant from [Studio](../studio/index.md) and the [documentation](/assistant), but Studio has the larger set of features. In Studio, Assistant consists of a large language model (LLM) that generates code and a run-command module (similar to the existing [command bar](../studio/ui-overview.md#command-bar)) that runs code. As a result, Assistant can act directly on your data model, such as inserting and modifying objects, writing and inserting scripts, and automating repetitive tasks like modifying properties in bulk. -For a more in-depth look at what Assistant can do and how to use it, see the [Prompt guide and examples](prompt-engineering.md) and the following Roblox Staff livestream for tips, tricks, and inspiration. +For a more in-depth look at what Assistant can do and how to use it, see the [Prompt Guide and Examples](prompt-engineering.md) and the following Roblox Staff livestream for tips, tricks, and inspiration. -### Insert and modify scripts +### Insert and Modify Scripts Assistant can insert new scripts, modify existing ones, and perform these actions across multiple objects as necessary. For example, if you ask it to create a remote event, it can create a local script, a server script, and the event all at once. @@ -35,7 +35,7 @@ If you enter a script generation request like "Make the player's character jump The generated script might not function flawlessly. In these cases, you can either make further edits in the [Script Editor](../studio/script-editor.md) or ask Assistant to edit the script it just created. It can even act on existing scripts that it didn't create if you need help with code that you've written yourself. -### Insert and modify objects +### Insert and Modify Objects Assistant can create, edit, delete and iterate on instances in your data model, including inserting items from the Creator Store. @@ -43,19 +43,19 @@ Assistant can create, edit, delete and iterate on instances in your data model, If you examine the code, you can see that Assistant calls `Class.InsertService:GetFreeModels()` to query the Creator Store for a wheelbarrow model and uses `Class.Model:PivotTo()` to place it near a tree. -### Provide answers and suggestions +### Provide Answers and Suggestions If you need general knowledge or help while creating an experience, you can ask Assistant questions like how to make a team system, how to design a game loop, how to use specific Studio tools, and much more. It can even explain code that it generated or that you wrote yourself. Code explanation provided by Assistant in Studio. -### Generate materials +### Generate Materials When given a request to generate a material, Assistant in Studio can quickly style existing parts through a lightweight implementation of the [Material Generator](../studio/material-generator.md). Material variations shown in Assistant for quick styling. -## Access Assistant +## Accessing Assistant Assistant is available in two locations: Studio and the documentation. @@ -67,14 +67,14 @@ To access Assistant from Studio: Assistant button indicated in top-right area of toolbar. -2. Type a request into the field near the bottom of the window, using guidance from the [prompt guide](prompt-engineering.md) to generate improved responses. +2. Type a request into the field near the bottom of the window, using guidance from the [Prompt Guide](prompt-engineering.md) to generate improved responses. - Click thumbs up or thumbs down to rate the result and improve future results. - Click the redo icon to process a new result. General user interface for Assistant in Studio. -### From the documentation +### From the Documentation To access Assistant from the [documentation](/assistant): @@ -82,7 +82,7 @@ To access Assistant from the [documentation](/assistant): -1. Select a premade question or type your own. See the [prompt guide](prompt-engineering.md) for guidance on generating improved responses. +1. Select a premade question or type your own. See the [Prompt Guide](prompt-engineering.md) for guidance on generating improved responses. diff --git a/content/en-us/assistant/prompt-engineering.md b/content/en-us/assistant/prompt-engineering.md index 622d2f1cb..fc0536d63 100644 --- a/content/en-us/assistant/prompt-engineering.md +++ b/content/en-us/assistant/prompt-engineering.md @@ -1,5 +1,5 @@ --- -title: Assistant prompt guide and examples +title: Assistant Prompt Guide and Examples description: Get tips and tricks on how best to prompt Roblox's AI Assistant to get the best results. --- @@ -9,14 +9,14 @@ description: Get tips and tricks on how best to prompt Roblox's AI Assistant to This document gives guidance on prompting Assistant and provides examples and inspiration on what Assistant can do. -## Be specific +## Be Specific If Assistant fails, add more details to your prompt and try again. Use instance names exactly as they're spelled, specify which function you want Assistant to use, and tell Assistant which type it's working with, such as a part or a model. - - + + @@ -32,21 +32,21 @@ If Assistant fails, add more details to your prompt and try again. Use instance
**Not specific****More specific****Not Specific****More Specific**
Place the trees in a circle.
-## Use your selection +## Use Your Selection Selection is a great way of specifying an object or set of objects you want to refer to in your prompt. Select multiple objects and ask Assistant to modify them, make duplicates and place them somewhere, or continue a position pattern like maintaining placement in a line. -## Edit time and run time +## Edit Time and Run Time Assistant sometimes confuses the difference between edit time and run time. If you ask Assistant to take an action, it will likely bias towards doing it at edit time. If you want the action to happen during run time, ask Assistant to insert a script that takes the action. For example, tell Assistant "add a script to make the time of day 8:00 AM" instead of "make the time of day 8:00 AM." -## Keep trying +## Keep Trying Don't get discouraged if Assistant doesn't work exactly the way you want the first time. Often, making small tweaks and trying again can lead to better results. Many AI tools are non-deterministic, meaning they don't create the exact same output each time you ask them to do something. There's some variance, which you can tap into and control using tweaks to your prompt. AI in its current state requires work. It takes time to understand how to best speak to Assistant, what it can do, and how to get what you want out of it. -## Multi-step prompts +## Multi-Step Prompts Consider using multi-step prompts to encourage Assistant to think. Instead of asking "Can you explain this script to me?" and pasting in the script, ask it to explain step-by-step by separating the question from the script with `###`. This separation helps Assistant deconstruct and organize the information to provide better answers. @@ -70,7 +70,7 @@ _part.Touched:Connect(onTouched)_ - +
_Certainly! This script is an example of how to handle collisions between two parts in Roblox. Let's break it down step by step:_ @@ -88,7 +88,7 @@ _Certainly! This script is an example of how to handle collisions between two pa These examples demonstrate the vast variety of tasks that Assistant can help with today. Some of them might take a few tries for you to reproduce, but give them a try and see what you can come up with yourself. -### Game mechanics - Shoot fireballs that explode +### Game Mechanics - Shooting Fireballs that Explode **Prompt:** Propel a fireball away from the player in the direction the player is facing when the player presses "e". @@ -96,28 +96,28 @@ Make the fireball explode when it hits something.
-### Font face +### Font Face ` ` @@ -70,7 +70,7 @@ You can also nest tags inside each other as long as you close them in the revers Font face/family names are listed on the `Datatype.Font` enum reference page. -### Font family +### Font Family ` ` @@ -82,7 +82,7 @@ Font face/family names are listed on the `Datatype.Font` enum reference page. Font face/family names are listed on the `Datatype.Font` enum reference page. -### Font weight +### Font Weight ` ` @@ -153,7 +153,7 @@ See [Appearance Modifiers](../ui/appearance-modifiers.md) for details on ` -### Line break +### Line Break `
` @@ -172,7 +172,7 @@ See [Appearance Modifiers](../ui/appearance-modifiers.md) for details on ` -### Small caps +### Small Caps ` `
` ` @@ -191,7 +191,7 @@ See [Appearance Modifiers](../ui/appearance-modifiers.md) for details on ` -## Escape forms +## Escape Forms If you want to render certain characters like `<` or `>` and exempt them from consideration as part of rich text tags, you can write them in their **escape form**. diff --git a/content/en-us/ui/size-modifiers.md b/content/en-us/ui/size-modifiers.md index 8e8f7fb92..191a06403 100644 --- a/content/en-us/ui/size-modifiers.md +++ b/content/en-us/ui/size-modifiers.md @@ -1,9 +1,9 @@ --- -title: Size modifiers and constraints +title: Size Modifiers and Constraints description: Explains how use size modifiers and size constraints with user interface objects. --- -Alongside basic [sizing](../ui/position-and-size.md) of UI objects, you can utilize size modifiers to [scale](#scale) an object proportionally or [automatically resize](#automatic-sizing) it. You can also insert [size constraints](#constraints) to control **aspect ratio**, or set a minimum and maximum **size** or **text size**. +Alongside basic [sizing](../ui/positioning-and-sizing.md) of UI objects, you can utilize size modifiers to [scale](#scale) an object proportionally or [automatically resize](#automatic-sizing) it. You can also insert [size constraints](#constraints) to control **aspect ratio**, or set a minimum and maximum **size** or **text size**. ## Scale @@ -13,7 +13,7 @@ This modifier is useful for "zooming in" while designing a detailed user interfa -## Automatic sizing +## Automatic Sizing The `Class.GuiObject.AutomaticSize|AutomaticSize` property automatically resizes a parent `Class.GuiObject` to the size of its descendants. You can use this property in a variety of cases, including: @@ -44,7 +44,7 @@ Once automatic sizing is set, note that other object properties behave as follow -Similar to the concept of [sizing](../ui/position-and-size.md#size) an object, `Class.GuiObject.AutomaticSize|AutomaticSize` takes the `Class.GuiObject.AnchorPoint|AnchorPoint` property into consideration when resizing content. For example, the following video displays three `Class.TextLabel|TextLabels` that automatically resize from their anchor point. +Similar to the concept of [sizing](../ui/positioning-and-sizing.md#size) an object, `Class.GuiObject.AutomaticSize|AutomaticSize` takes the `Class.GuiObject.AnchorPoint|AnchorPoint` property into consideration when resizing content. For example, the following video displays three `Class.TextLabel|TextLabels` that automatically resize from their anchor point. @@ -87,7 +87,7 @@ For example, if you set the `Class.UISizeConstraint.MinSize|MinSize` property to When a UI object is under control of both a layout structure such as `Class.UIListLayout` and a `Class.UISizeConstraint`, the constraint will **override** the layout and control the object's size. -### Text size +### Text Size The `Class.UITextSizeConstraint` specifies a minimum and maximum font size for a `Class.GuiObject` with text, such as a `Class.TextLabel`, `Class.TextButton`, or `Class.TextBox`. This constraint ensures that the **text** within a `Class.GuiObject` doesn't become illegible or too large. @@ -101,7 +101,7 @@ For example, the following `Class.TextLabel` object has a `Class.UITextSizeConst Do not use `Class.UITextSizeConstraint.MinTextSize|MinTextSize` property values lower than `9` or the text will be difficult to read for many viewers. -### Aspect ratio +### Aspect Ratio The `Class.UIAspectRatioConstraint` enforces a **width‑to‑height** aspect ratio on a `Class.GuiObject` regardless of its core size, even if that size is set as a percentage of its parent. For example, inserting this constraint as a child of a `Class.Frame` and setting the constraint's `Class.UIAspectRatioConstraint.AspectRatio|AspectRatio` property to `2` (`2:1`) keeps the frame's width at twice that of its height. Similarly, setting this constraint's `Class.UIAspectRatioConstraint.AspectRatio|AspectRatio` property to `0.5` (`0.5:1`) keeps the frame's width at half that of its height. diff --git a/content/en-us/ui/text-filtering.md b/content/en-us/ui/text-filtering.md index 07d25ac3f..8e4ab9656 100644 --- a/content/en-us/ui/text-filtering.md +++ b/content/en-us/ui/text-filtering.md @@ -1,5 +1,5 @@ --- -title: Text filtering +title: Text Filtering description: Text filtering prevents users from seeing inappropriate language and blocks personally identifiable information. --- @@ -9,7 +9,7 @@ Applied to various sources and inputs, **text filtering** prevents users from se Because filtering is crucial for a safe environment, Roblox actively moderates the content of experiences to make sure they meet [community standards](https://en.help.roblox.com/hc/en-us/articles/203313410-Roblox-Community-Standards). If Roblox receives reports or automatically detects that your experience doesn't apply text filtering, then the system removes the experience until you add filtering. -## Filter scenarios +## Filter Scenarios Text can be gathered and/or displayed to users in a variety of scenarios, including: @@ -21,7 +21,7 @@ Text can be gathered and/or displayed to users in a variety of scenarios, includ - An experience that stores text such as users' pet names using [data stores](../cloud-services/data-stores), where the stored text might include inappropriate words that should be filtered when retrieving them. -## Filtering process +## Filtering Process `Class.TextService:FilterStringAsync()` filters in-experience text by taking a string of text and the `Class.Player.UserId|UserId` of the user who created the text as input. It returns a `Class.TextFilterResult` object which has two additional methods that you can call in different scenarios: @@ -34,7 +34,7 @@ In the context of `Class.TextBox` input, the following example gathers input on Do not filter text in real-time "per character entered" into a `Class.TextBox`, as doing so yields for text that's only visible to the user typing it. Instead, filter the entered text **after** the user submits it. -```lua title="Filtering text input - client script" +```lua title="Filtering Text Input - Client Script" local ReplicatedStorage = game:GetService("ReplicatedStorage") local textBox = script.Parent diff --git a/content/en-us/ui/text-input.md b/content/en-us/ui/text-input.md index 051e929d4..82d86b0fe 100644 --- a/content/en-us/ui/text-input.md +++ b/content/en-us/ui/text-input.md @@ -1,11 +1,11 @@ --- -title: Text input fields +title: Text Input Fields description: Text input fields allow users to input text from their physical or on-screen keyboard. --- import TextFiltering from '../includes/text-filtering/text-filtering.md' -A `Class.TextBox` is a rectangle that allows a user to provide text input while it's in focus. When you [script](#script-text-inputs) a `Class.TextBox`, you can use it as a search bar or an input field on a form. To help users know what type of text they should input, you can also provide a prompt through the `Class.TextBox.PlaceholderText|PlaceholderText` property. +A `Class.TextBox` is a rectangle that allows a user to provide text input while it's in focus. When you [script](#scripting-text-inputs) a `Class.TextBox`, you can use it as a search bar or an input field on a form. To help users know what type of text they should input, you can also provide a prompt through the `Class.TextBox.PlaceholderText|PlaceholderText` property. @@ -15,7 +15,7 @@ properties such as `Class.GuiObject.BackgroundColor3|BackgroundColor3`, `Class.GuiObject.Transparency|Transparency`, and `Class.GuiObject.Rotation|Rotation` to fit the aesthetics of your experience. -## Create text inputs on the screen +## Creating Text Inputs on the Screen A `Class.TextBox` on a screen is useful for things like an input field for a form. @@ -34,7 +34,7 @@ To add a `Class.TextBox` to a screen: 1. Insert a **TextBox**. -## Create text inputs on part faces +## Creating Text Inputs on Part Faces To add a `Class.TextBox` to the face of a part: @@ -57,10 +57,10 @@ To add a `Class.TextBox` to the face of a part: 1. In the **Explorer** window, select the part. - If you don't see the `Class.TextBox`, try [choosing a different face](../parts/textures-decals.md#choose-a-face) in the Face property of the SurfaceGui. + If you don't see the `Class.TextBox`, try [choosing a different face](../parts/textures-decals.md#choosing-a-face) in the Face property of the SurfaceGui. -## Script text inputs +## Scripting Text Inputs Like [buttons](../ui/buttons.md), you can script any action for a `Class.TextBox` object when a user interacts with it. For example, the following script connects the `Class.TextBox.FocusLost|FocusLost` event which fires when the user presses the Enter button or clicks outside the box. If `enterPressed` is `true`, meaning the user submitted the input instead of merely clicking outside the box, the script prints the contents of the entry to the [Output](../studio/output.md) window. @@ -88,6 +88,6 @@ end textBox:GetPropertyChangedSignal("Text"):Connect(allowOnlyNumbers) ``` -## Text filtering +## Text Filtering diff --git a/content/en-us/ui/ui-drag-detectors.md b/content/en-us/ui/ui-drag-detectors.md index 797367c3a..96da46248 100644 --- a/content/en-us/ui/ui-drag-detectors.md +++ b/content/en-us/ui/ui-drag-detectors.md @@ -1,5 +1,5 @@ --- -title: UI drag detectors +title: UI Drag Detectors description: UI drag detectors facilitate and encourage interaction with 2D user interface elements in an experience, such as sliders and spinners. --- @@ -23,7 +23,7 @@ The `Class.UIDragDetector` instance facilitates and encourages interaction with For drag detectors that manipulate 3D objects in an experience, such as opening doors and drawers or sliding a part around, see [3D Drag Detectors](../ui/3D-drag-detectors.md). -## Make UI elements draggable +## Making UI Elements Draggable To make any `Class.GuiObject` instances draggable, simply add a `Class.UIDragDetector` as a direct descendant. @@ -38,9 +38,9 @@ To make any `Class.GuiObject` instances draggable, simply add a `Class.UIDragDet Remember that `Class.UIDragDetector|UIDragDetectors` only work in Studio if you're **not** using the **Select**, **Move**, **Scale**, or **Rotate** tools, nor certain plugins or Studio's **UI** editor tools. -## Customize UI drag detectors +## Customizing UI Drag Detectors -### Drag style +### Drag Style `Class.UIDragDetector|UIDragDetectors` map cursor motion to calculate proposed 2D motion and/or rotation. Through the `Class.UIDragDetector.DragStyle|DragStyle` property, you can choose from different mappings to suit your needs. For example, `Enum.UIDragDetectorDragStyle.TranslatePlane` produces translation in the 2D plane of the `Class.LayerCollector`, while `Enum.UIDragDetectorDragStyle.Rotate` normally produces a rotation instead of translation. @@ -71,7 +71,7 @@ Remember that `Class.UIDragDetector|UIDragDetectors` only work in Studio if you' -### Drag direction +### Drag Direction By default, 2D motion and the associated `Class.UIDragDetector.DragStyle|DragStyle` map to the space of the ancestor `Class.LayerCollector`. However, you may want to change the `Class.UIDragDetector.ReferenceUIInstance|ReferenceUIInstance` or the `Class.UIDragDetector.DragAxis|DragAxis` when building different UI components. @@ -97,7 +97,7 @@ By default, 2D motion and the associated `Class.UIDragDetector.DragStyle|DragSty -### Response to motion +### Response to Motion The `Class.UIDragDetector.ResponseStyle` property specifies how an object's position value is changed by the proposed motion. The custom response styles let you use the resulting `Class.UIDragDetector.DragUDim2` and `Class.UIDragDetector.DragRotation` values as desired, without having the detector's parent execute the proposed motion. @@ -128,7 +128,7 @@ The `Class.UIDragDetector.ResponseStyle` property specifies how an object's posi -### Translation & rotation limits +### Translation & Rotation Limits By default, there are no limits to 2D motion behind the inherent restrictions of the `Class.UIDragDetector.DragStyle|DragStyle`. Limits for both minimum and maximum translations and rotations can be declared with the following properties if desired. Additionally, you can define how the dragged object is constrained within the bounds of a specified `Class.GuiObject` such as a `Class.Frame`. @@ -161,7 +161,7 @@ By default, there are no limits to 2D motion behind the inherent restrictions of -### Speed adjustments +### Speed Adjustments Through `Class.UIDragDetector.SelectionModeDragSpeed|SelectionModeDragSpeed` and `Class.UIDragDetector.SelectionModeRotateSpeed|SelectionModeRotateSpeed`, you can fine‑tune the maximum drag/rotate speeds for a detector. Furthermore, through `Class.UIDragDetector.UIDragSpeedAxisMapping|UIDragSpeedAxisMapping`, you can fine‑tune the **X**/**Y** dimension dragging speeds, based on the detector's `Class.UIDragDetector.SelectionModeDragSpeed|SelectionModeDragSpeed`. @@ -188,7 +188,7 @@ Through `Class.UIDragDetector.SelectionModeDragSpeed|SelectionModeDragSpeed` and -## Script responses to clicking and dragging +## Scripting Responses to Clicking and Dragging Through [event signals](#event-signals), property changes, `Enum.UIDragDetectorDragStyle.Scriptable|Scriptable` drag style, and custom functions, scripts can respond to the manipulation of dragged UI elements to drive various settings or make logical decisions, such as sliders that adjust music and sound effect volume separately. @@ -196,7 +196,7 @@ Through [event signals](#event-signals), property changes, `Enum.UIDragDetectorD For user-initiated script responses like [Event Signals](#event-signals) and [Scripted Drag Style](#scripted-drag-style), you'll most commonly need to put your script code inside a `Class.LocalScript`, or a `Class.Script` with `Class.BaseScript.RunContext|RunContext` set to `Enum.RunContext.Client|Client`. -### Event signals +### Event Signals Through the following event signals, you can detect when a user starts, continues, and ends dragging an object. @@ -260,7 +260,7 @@ uiDragDetector.DragEnd:Connect(function(inputPosition) end) ``` -### Position & rotation changes +### Position & Rotation Changes In addition to [event signals](#event-signals), you can monitor changes to the detector's `Class.UIDragDetector.DragUDim2|DragUDim2` and/or `Class.UIDragDetector.DragRotation|DragRotation` properties directly. @@ -293,7 +293,7 @@ changeHue() uiDragDetector:GetPropertyChangedSignal("DragRotation"):Connect(changeHue) ``` -### Scripted drag style +### Scripted Drag Style If you set a detector's `Class.UIDragDetector.DragStyle` to `Enum.UIDragDetectorDragStyle.Scriptable`, you can provide your own function that takes in a `Datatype.Vector2` of the input position and returns a `Datatype.UDim2` (position) and a float (rotation). The detector will update the object to the computed position/rotation based off of the returns, the `Class.UIDragDetector.DragSpace|DragSpace` property, and the `Class.UIDragDetector.DragRelativity|DragRelativity` property. @@ -323,7 +323,7 @@ end uiDragDetector:SetDragStyleFunction(computeSinWaveCoordinate) ``` -### Custom constraint function +### Custom Constraint Function `Class.UIDragDetector|UIDragDetectors` do not have built-in motion rules about grids and snapping, but you can register custom constraint functions to edit the detector's `Class.UIDragDetector.DragUDim2` and `Class.UIDragDetector.DragRotation` before they are applied. For example, you can keep motion on a grid by rounding positions to specific increments, or define allowed areas of motion. Note that this is applied **before** any existing translation/rotation limits. diff --git a/content/en-us/ui/video-frames.md b/content/en-us/ui/video-frames.md index f54b814bd..f5718b52f 100644 --- a/content/en-us/ui/video-frames.md +++ b/content/en-us/ui/video-frames.md @@ -1,13 +1,13 @@ --- -title: Video frames +title: Video Frames description: Video assets used on VideoFrame instances allow for video playback in experiences. --- import BetaAlert from '../includes/beta-features/beta-alert.md' -Video assets used in `Class.VideoFrame` instances allow for video playback in experiences. You can [upload](#import-videos) videos that you're certain you have permission to use, such as videos you make yourself, and the [asset privacy](../projects/assets/privacy.md) system automatically ensures that the IDs of your uploaded videos can't be accessed by users without the proper permissions. +Video assets used in `Class.VideoFrame` instances allow for video playback in experiences. You can [upload](#importing-videos) videos that you're certain you have permission to use, such as videos you make yourself, and the [asset privacy](../projects/assets/privacy.md) system automatically ensures that the IDs of your uploaded videos can't be accessed by users without the proper permissions. -## Import videos +## Importing Videos @@ -27,7 +27,7 @@ Videos that don't meet these requirements are rejected. Alpha channels are not s - Each video upload costs 2,000 Robux. - You can upload a maximum of three videos within any 30-day period, starting from the date of your first video upload. -### Upload +### Uploading You can upload videos through the [Asset Manager](../projects/assets/manager.md), the [Creator Dashboard](https://create.roblox.com/dashboard/creations?activeTab=Video), or the [Open Cloud API](../cloud/open-cloud/usage-assets.md). To upload through the [Asset Manager](../projects/assets/manager.md): @@ -46,7 +46,7 @@ You can upload videos through the [Asset Manager](../projects/assets/manager.md) The video assets are now within the moderation queue and are only visible to you within the **Video** folder of the [Asset Manager](../projects/assets/manager.md) and, after passing moderation, the [Toolbox](../projects/assets/toolbox.md). Although you are initially the only one who can view and use private video assets, the [asset privacy](../projects/assets/privacy.md) system lets you grant usage permissions to specific friends and experiences. -## Play videos +## Playing Videos A `Class.VideoFrame` must be parented to a `Class.ScreenGui`, `Class.SurfaceGui`, or `Class.BillboardGui` in order to be playable. diff --git a/content/en-us/unity.md b/content/en-us/unity.md index 51693d4f2..d5ea76e68 100644 --- a/content/en-us/unity.md +++ b/content/en-us/unity.md @@ -1,5 +1,5 @@ --- -title: Roblox for Unity developers +title: Roblox for Unity Developers description: If you're an experienced Unity developer, use this page to get oriented with Roblox. comments: This document could use more information (and some links) around replication, remote events, and cloud services. --- @@ -11,7 +11,7 @@ import Transforms from './includes/engine-comparisons/transforms.md' This page includes information to help experienced Unity developers get started with Roblox: basic orientation, a conceptual comparison, and key differences between the two platforms. -## Get oriented +## Getting Oriented ![The Unity user interface with markup to show the various windows and panels.](./assets/engine-comparisons/unity-editor.jpg) @@ -26,7 +26,7 @@ However, the Hierarchy window has no predefined structure, whereas the Explorer Similarly, the Roblox Studio [Asset Manager](projects/assets/manager.md) and [Toolbox](projects/assets/toolbox.md) overlap with the Unity Project window. The Asset Manager lets you manage all assets within your experience, whereas the Toolbox lets you access any assets you've published. The Toolbox also lets you search the Creator Store for assets from Roblox or the community, similar to the Unity Asset Store. -## Philosophical differences +## Philosophical Differences Roblox is a "simulation engine" rather than a traditional game engine. Unity `GameObjects` and Roblox `Class.Part|Parts` both serve as the fundamental building blocks for creating objects in a 3D environment, but in practice, the two are quite different: @@ -37,7 +37,7 @@ You can see the difference immediately if you create a `GameObject` and a `Part` From a scripting perspective, `GameObject` is most similar to the Roblox `Class.Instance`, the base class for all other Roblox classes, but because you don't (and can't) create objects of type `Instance`, the comparison isn't especially practical. -Another comparison is the Unity `GameObject` to the Roblox `Class.Model`. Models act as a container for a collection of interconnected parts in the same way that you might establish a parent-child relationship between many `GameObjects` in Unity. You specify one of the model's parts as its [primary part](parts/models.md#set-a-primary-part) to define the pivot point. Models also hold scripts, animations, sound effects, prompts, constraints, particle emitters, and more. +Another comparison is the Unity `GameObject` to the Roblox `Class.Model`. Models act as a container for a collection of interconnected parts in the same way that you might establish a parent-child relationship between many `GameObjects` in Unity. You specify one of the model's parts as its [primary part](parts/models.md#setting-a-primary-part) to define the pivot point. Models also hold scripts, animations, sound effects, prompts, constraints, particle emitters, and more. For example, a Unity `GameObject` might have components for `ParticleSystem`, `Physics3D`, `SpringConstraint`, and a script. In the Hierarchy window, you see a single `GameObject` named `SpringyFireball`. The Inspector window shows the collection of components and properties. @@ -56,9 +56,9 @@ Roblox's physics-by-default philosophy extends to the process of building 3D mod Rather than using standard metric units for length and mass, Roblox uses notional units called studs and Roblox Mass Units (RMUs). For approximate metric conversions and recommendations around use, see [Units](physics/units.md). -## Location matters +## Location Matters -Roblox experiences are multiplayer by default, so Roblox Studio includes many different storage locations with specific behaviors. For example, a script might run when you put it in `Class.ReplicatedStorage`, but not when you put it into `Class.StarterPlayerScripts`. For more information, see [Client-server runtime](projects/client-server) and [Object organization](projects/data-model#object-organization). +Roblox experiences are multiplayer by default, so Roblox Studio includes many different storage locations with specific behaviors. For example, a script might run when you put it in `Class.ReplicatedStorage`, but not when you put it into `Class.StarterPlayerScripts`. For more information, see [Client-Server Runtime](projects/client-server) and [Object Organization](projects/data-model#object-organization). @@ -80,7 +80,7 @@ Compared to C#, Luau is gradually typed and generally has a less verbose syntax. For basic syntax differences between the scripting languages, see [Luau and C# Comparison](luau/luau-csharp-comparison.md). -### Luau code sample +### Luau Code Sample @@ -121,7 +121,7 @@ Similar to Unity tools, Roblox Studio supports [plugins](studio/plugins.md), whi | Unity | Roblox | Notes | | :--- | :--- | :--- | | Scene | [Place](projects.md#places) | | -| GameObject | `Class.Part` or `Class.Model` | See [Philosophical differences](#philosophical-differences). | +| GameObject | `Class.Part` or `Class.Model` | See [Philosophical Differences](#philosophical-differences). | | Prefab | [Package](projects/assets/packages.md) | | | Transform | `Datatype.CFrame` | `CFrame` doesn't include scale information. See [Transforms](#transforms). | | Hierarchy window | Explorer window | | diff --git a/content/en-us/unreal.md b/content/en-us/unreal.md index c7b004325..3b860a506 100644 --- a/content/en-us/unreal.md +++ b/content/en-us/unreal.md @@ -1,5 +1,5 @@ --- -title: Roblox for Unreal developers +title: Roblox for Unreal Developers description: If you're an experienced Unreal developer, use this page to get oriented with Roblox. --- @@ -10,7 +10,7 @@ import Transforms from './includes/engine-comparisons/transforms.md' This page includes information to help experienced Unreal Engine developers get started with Roblox: basic orientation, a conceptual comparison, and key differences between the two platforms. -## Get oriented +## Getting Oriented ![The Unreal Editor user interface with markup to show the various windows and panels.](./assets/engine-comparisons/unreal-editor.png) @@ -20,7 +20,7 @@ Unreal's Outliner and Roblox Studio's [Explorer](studio/explorer.md) are the pri The Roblox Studio [Asset Manager](projects/assets/manager.md) and [Toolbox](projects/assets/toolbox.md) overlap with the Unreal Content Browser. The Asset Manager lets you manage all assets within your experience, whereas the Toolbox lets you access any assets you've published. The Toolbox also lets you search the Creator Store for assets from Roblox or the community. The Creator Store is similar to the Unreal Engine Marketplace, but you can access it directly from the Studio user interface. -## Philosophical differences +## Philosophical Differences Roblox is a "simulation engine" rather than a traditional game engine. Unreal `Actors` and Roblox `Class.Part|Parts` both serve as fundamental building blocks, but in practice, the two are quite different: @@ -40,7 +40,7 @@ You can see the difference immediately if you create an `Actor` and a `Part`. Th -Another useful comparison is the Unreal `Actor` to the Roblox `Class.Model`. Models act as a container for a collection of interconnected parts in the same way that `Actors` in Unreal are containers for components. You specify one of the model's parts as its [primary part](parts/models.md#set-a-primary-part) to define the pivot point. Models also hold scripts, animations, sound effects, prompts, constraints, particle emitters, and more. +Another useful comparison is the Unreal `Actor` to the Roblox `Class.Model`. Models act as a container for a collection of interconnected parts in the same way that `Actors` in Unreal are containers for components. You specify one of the model's parts as its [primary part](parts/models.md#setting-a-primary-part) to define the pivot point. Models also hold scripts, animations, sound effects, prompts, constraints, particle emitters, and more. For example, an Unreal `Actor` might have a `NiagraComponent` that uses several emitters to achieve the desired visual effect, a mesh for the shape, a physics constraint to add springiness, and a script for player interactivity. In Outliner, you see a single `Actor` named `SpringyFireball`. @@ -59,9 +59,9 @@ Roblox's physics-by-default philosophy extends to the process of building 3D mod Rather than using standard metric units for length and mass, Roblox uses notional units called studs and Roblox Mass Units (RMUs). For approximate metric conversions and recommendations around use, see [Units](physics/units.md). -## Location matters +## Location Matters -Roblox experiences are multiplayer by default, so Roblox Studio includes many different storage locations with specific behaviors. For example, a script might run when you put it in `Class.ReplicatedStorage`, but not when you put it into `Class.StarterPlayerScripts`. For more information, see [Client-server runtime](projects/client-server) and [Object organization](projects/data-model#object-organization). +Roblox experiences are multiplayer by default, so Roblox Studio includes many different storage locations with specific behaviors. For example, a script might run when you put it in `Class.ReplicatedStorage`, but not when you put it into `Class.StarterPlayerScripts`. For more information, see [Client-Server Runtime](projects/client-server) and [Object Organization](projects/data-model#object-organization). @@ -83,7 +83,7 @@ Compared to Luau, C++ has an overall performance advantage, which might or might Unreal also includes a visual scripting system called Blueprints. Roblox has third-party plugins that offer similar functionality, but no comparable system built-in. -### Luau code sample +### Luau Code Sample @@ -124,7 +124,7 @@ Similar to Unreal, Roblox Studio supports [plugins](studio/plugins.md), which ca | Unreal | Roblox | Notes | | :--- | :--- | :--- | | Level | [Place](projects.md#places) | | -| Actor | `Class.Part` or `Class.Model` | See [Philosophical differences](#philosophical-differences). | +| Actor | `Class.Part` or `Class.Model` | See [Philosophical Differences](#philosophical-differences). | | Blueprint Class | [Package](projects/assets/packages.md) | | | Transform | `Datatype.CFrame` | `CFrame` doesn't include scale information. See [Transforms](#transforms). | | Outliner | Explorer window | | diff --git a/content/en-us/what-is-roblox.md b/content/en-us/what-is-roblox.md index 69f0d111d..541c95952 100644 --- a/content/en-us/what-is-roblox.md +++ b/content/en-us/what-is-roblox.md @@ -5,238 +5,238 @@ hideInPageNavigation: true --- - - -
- -
-
-
- - -

Roblox is a 3D creation platform that provides everything you need to build, test, distribute, and monetize your creations.

-

Creations can be items that users equip for their avatars, the 3D experiences that users join, or assets and plugins that you provide to other creators to build with.

-
-
+ + +
+ +
+
+
+ + +

Roblox is a 3D creation platform that provides everything you need to build, test, distribute, and monetize your creations.

+

Creations can be items that users equip for their avatars, the 3D experiences that users join, or assets and plugins that you provide to other creators to build with.

+
+

Experiences

Learn, share, and interact with the Roblox community in the following places. - - -
- -
-Create your first experience -Create a catapult that launches spheres into blocks to learn important Roblox concepts. - -
-
- - -
- -
-Intro to world building -Roblox is designed for massive 3D worlds. Learn how to use Roblox Studio to start building! -
-
- - -
- -
-Intro to physics -Roblox is a simulation-first engine that mimics the real world. Learn more about how physics operates in the Roblox Engine. -
-
+ + +
+ +
+ Create Your First Experience + Create a catapult that launches spheres into blocks to learn important Roblox concepts. + +
+
+ + +
+ +
+ Intro to World Building + Roblox is designed for massive 3D worlds. Learn how to use Roblox Studio to start building! +
+
+ + +
+ +
+ Intro to Physics + Roblox is a simulation-first engine that mimics the real world. Learn more about how physics operates in the Roblox engine. +
+

Avatars

Avatars are the 3D representations of users on Roblox. They persist across all Roblox experiences and are fully customizable. - - -
- -
-Create avatar items -Learn all about creating and selling avatar items, with step-by-step tutorials and tools to improve your workflow. - -
-
- - -
- -
-Get started with UGC -Watch this interview with PolarCub, one of the top UGC item creators on Roblox. -
-
- - -
- -
-Avatar items -Get an overview of everything you can build for Roblox avatars. -
-
+ + +
+ +
+ Creating Avatar Items + Learn all about creating and selling avatar items, with step-by-step tutorials and tools to improve your workflow. + +
+
+ + +
+ +
+ Getting Started with UGC + Watch this interview with PolarCub, one of the top UGC item creators on Roblox. +
+
+ + +
+ +
+ Avatar Items + Get an overview of everything you can build for Roblox avatars. +
+
- - -
- -
-Rigid accessories -Accessories are items that users can attach to their avatars at a single attachment point. -
-
- - -
- -
-Layered clothing -Build clothing that can layer and stretch on a variety of avatar sizes and shapes. -
-
- - -
- -
-Custom characters -Build completely custom avatar heads and bodies that users can equip. -
-
+ + +
+ +
+ Rigid Accessories + Accessories are items that users can attach to their avatars at a single attachment point. +
+
+ + +
+ +
+ Layered Clothing + Build clothing that can layer and stretch on a variety of avatar sizes and shapes. +
+
+ + +
+ +
+ Custom Characters + Build completely custom avatar heads and bodies that users can equip. +
+
-

Growth and monetization

+

Growth and Monetization

Attract, retain, and monetize users. - - -
- -
-Discover -Users find experiences on their Discover page, where they can immediately join and enjoy your experiences. - -
-
- - -
- -
-Marketplace -The Marketplace is the place where users can find, buy, sell, and trade items for their avatars. - -
-
- - -
- -
-Creator Store -The Creator Store lets creators share and sell assets with other creators. - -
-
+ + +
+ +
+ Discover + Users find experiences on their Discover page, where they can immediately join and enjoy your experiences. + +
+
+ + +
+ +
+ Marketplace + The Marketplace is the place where users can find, buy, sell, and trade items for their avatars. + +
+
+ + +
+ +
+ Creator Store + The Creator Store lets creators share and sell assets with other creators. + +
+

Tools

From the web to studio, Roblox provides all the tools you need to start creating for free. - - -
- -
-Creator Hub -Join a thriving community of creators and start your creation journey. - -
-
- - -
- -
-Roblox Studio -Get acclimated with Studio by downloading and -launching the onboarding tour. - -
-
+ + +
+ +
+ Creator Hub + Join a thriving community of creators and start your creation journey. + +
+
+ + +
+ +
+ Roblox Studio + Get acclimated with Studio by downloading and + launching the onboarding tour. + +
+
- - -
- -
-Open Cloud -Manage and access your creations from the web with a suite of REST APIs. - -
-
+ + +
+ +
+ Open Cloud + Manage and access your creations from the web with a suite of REST APIs. + +
+
diff --git a/content/en-us/workspace/camera.md b/content/en-us/workspace/camera.md index 209763f99..c5616d4e8 100644 --- a/content/en-us/workspace/camera.md +++ b/content/en-us/workspace/camera.md @@ -1,11 +1,11 @@ --- -title: Customize the camera +title: Customizing the Camera description: Explains how to configure an experience's camera settings. --- Roblox's built-in camera powers a default **third person** mode and an optional **first person** mode, so you don't need to build your own following camera. For more customized scenarios, you can adjust the default properties in `Class.Camera` or replace it entirely like for over-the-shoulder, isometric, and weapon scoping views. -## Basic settings +## Basic Settings You can configure common camera settings directly within Studio's `Class.StarterPlayer` object. These settings include [zoom distance](#zoom-distance) and various [camera](#camera-mode), [occlusion](#occlusion-mode), and [movement](#movement-mode) modes. @@ -17,7 +17,7 @@ You can configure common camera settings directly within Studio's `Class.Starter Camera properties on StarterPlayer in Properties Window -### Zoom distance +### Zoom Distance Together, `Class.StarterPlayer.CameraMaxZoomDistance|CameraMaxZoomDistance` and `Class.StarterPlayer.CameraMinZoomDistance|CameraMinZoomDistance` set the range in which players can zoom the camera in respect to their player character. Setting a very high maximum such as 500 allows players to zoom the camera far out in space. If you want to lock the camera to a specific distance away from the character and prevent zooming, set both of these properties to the same value. @@ -30,7 +30,7 @@ player.CameraMaxZoomDistance = 25 player.CameraMinZoomDistance = 50 ``` -### Camera mode +### Camera Mode The `Class.StarterPlayer.CameraMode|CameraMode` property sets the overall behavior of the camera between two options: @@ -53,7 +53,7 @@ The `Class.StarterPlayer.CameraMode|CameraMode` property sets the overall behavi -### Occlusion mode +### Occlusion Mode The `Class.StarterPlayer.DevCameraOcclusionMode|DevCameraOcclusionMode` property controls camera behavior when the player cannot see their character, such as when it's obscured by a `Class.BasePart`. @@ -81,7 +81,7 @@ The `Class.StarterPlayer.DevCameraOcclusionMode|DevCameraOcclusionMode` property
**Zoom** and **Invisicam** occlusion modes
-### Movement mode +### Movement Mode The `Class.StarterPlayer.DevComputerCameraMovementMode|DevComputerCameraMovementMode` (computer) and `Class.StarterPlayer.DevTouchCameraMovementMode|DevTouchCameraMovementMode` (phone/tablet) determine how the player can move the camera around. @@ -116,7 +116,7 @@ The `Class.StarterPlayer.DevComputerCameraMovementMode|DevComputerCameraMovement -## Script the camera +## Scripting the Camera Each player [client](../projects/client-server.md) has its own `Class.Camera` object residing in the local `Class.Workspace`, accessible through the `Class.Workspace.CurrentCamera` property. You can override Roblox's default camera scripts by setting its `Class.Camera.CameraType|CameraType` to `Enum.CameraType|Scriptable` and then, most commonly, control the camera through the following properties. diff --git a/content/en-us/workspace/cframes.md b/content/en-us/workspace/cframes.md index 1df81d814..3cd3f4684 100644 --- a/content/en-us/workspace/cframes.md +++ b/content/en-us/workspace/cframes.md @@ -11,9 +11,9 @@ Some examples of `Datatype.CFrame` applications in a game might be: - Moving the camera so that it focuses on specific NPCs as a player interacts with them. - Placing a status indicator directly above a player's head to show if they are paralyzed, boosted, poisoned, etc. -## CFrame basics +## CFrame Basics -### Position a CFrame +### Positioning a CFrame You can create an empty `Datatype.CFrame` at the default position of (0, 0, 0) by using `Datatype.CFrame.new()`. To position a `Datatype.CFrame` at a specific point, provide x-, y-, and z-coordinates as arguments to `Datatype.CFrame.new()`. In the following example, the `redBlock` part's `Datatype.CFrame` property changes to `newCFrame`, repositioning it to (-2, 2, 4). @@ -51,7 +51,7 @@ local newCFrame = CFrame.new(newVector3) redBlock.CFrame = newCFrame ``` -### Rotate a CFrame +### Rotating a CFrame To create a rotated `Datatype.CFrame`, use the `Datatype.CFrame.Angles()` constructor, providing a rotation angle in radians for the desired axes. The parameters to `Datatype.CFrame.Angles()` is in radians, not degrees. If you prefer degrees, use `Library.math.rad()` to convert degrees to radians. In the following example, the `redBlock` part rotates 45 degrees counterclockwise on its y-axis. @@ -76,7 +76,7 @@ redBlock.CFrame = newCFrame -### Face a CFrame toward a point +### Facing Toward a Point You can use `Datatype.CFrame.new()` to point the front surface of a `Datatype.CFrame` at a specific point in the world. In the following example, `redBlock` part positions at (0, 3, 0) and points its front surface, marked by the white circle, at the `blueCube` part. @@ -103,7 +103,7 @@ redBlock.CFrame = CFrame.new(startPosition, targetPosition) -### Offset a CFrame +### Offsetting a CFrame To offset an object by a specific number of studs from its current position, add or subtract a `Datatype.Vector3` to or from a new `Datatype.CFrame` at the object's position. To get a properly-formatted `Datatype.Vector3` position of an object to use with `Datatype.CFrame.new()`, as seen here, its `Class.BasePart.Position|Position` property (`redBlock.Position`) is a convenient shortcut. @@ -144,7 +144,7 @@ redBlock.CFrame = CFrame.new(blueCube.Position) + Vector3.new(0, 2, 0) -## Dynamic CFrame orientation +## Dynamic CFrame Orientation The `Datatype.CFrame.new()` and `Datatype.CFrame.Angles()` constructors reposition or rotate an object at a specific orientation within the world, but you sometimes can't rely on a fixed world position and rotation angle. For example: @@ -153,7 +153,7 @@ The `Datatype.CFrame.new()` and `Datatype.CFrame.Angles()` constructors repositi In these cases, use `Datatype.CFrame` methods instead of their constructors. -### Relative position +### Relative Position The `Datatype.CFrame:ToWorldSpace()` function transforms an object's `Datatype.CFrame` — respecting its own local orientation — to a new **world** orientation. This makes it ideal for offsetting a part relative to itself or another object, regardless of how it's currently positioned/rotated. @@ -178,7 +178,7 @@ redBlock.CFrame = blueCube.CFrame:ToWorldSpace(offsetCFrame) -### Relative rotation +### Relative Rotation You can also use `Datatype.CFrame:ToWorldSpace()` to rotate an object relative to itself. In the following example, the `redBlock` part rotates 70 degrees counterclockwise on its y-axis and 20 degrees clockwise on its z-axis. @@ -200,7 +200,7 @@ redBlock.CFrame = redBlock.CFrame:ToWorldSpace(rotatedCFrame) -### Face a specific surface toward a point +### Facing a Specific Surface Toward a Point You can make the front of an object face another object by supplying a `Datatype.Vector3` point as the second parameter of `Datatype.CFrame.new()`. You can also use relative rotation to make any face of the object point toward a `Datatype.Vector3` point. The following example performs two consecutive `Datatype.CFrame` operations: @@ -237,7 +237,7 @@ redBlock.CFrame = redBlock.CFrame:ToWorldSpace(rotatedCFrame) -### Find a point between points +### Finding a Point Between Points You can use **linear interpolation**, or **lerp**, to position a `Datatype.CFrame` between two points. In the following example, the `redBlock` part repositions between the `greenCube` and `cyanCube` parts. The value of `0.7` places it 70% of the distance away from the green cube. diff --git a/content/en-us/workspace/collisions.md b/content/en-us/workspace/collisions.md index c8d8e904a..7635f2e11 100644 --- a/content/en-us/workspace/collisions.md +++ b/content/en-us/workspace/collisions.md @@ -5,7 +5,7 @@ description: Explains methods to detect physical collisions, handle collision ev A collision occurs when two 3D objects come into contact within the 3D world. For customized collision handling, `Class.BasePart` has a set of [collision events](#collision-events) and [collision filtering](#collision-filtering) techniques, so you can control which physical assemblies collide with others. -## Collision events +## Collision Events Collision **events** occur when two `Class.BasePart|BaseParts` touch or stop touching in the 3D world. You can detect these collisions through the `Class.BasePart.Touched|Touched` and `Class.BasePart.TouchEnded|TouchEnded` events which occur regardless of either part's `Class.BasePart.CanCollide|CanCollide` property value. When considering collision handling on parts, note the following: @@ -71,11 +71,11 @@ end part.TouchEnded:Connect(onTouchEnded) ``` -## Collision filtering +## Collision Filtering Collision **filtering** defines which physical parts collide with others. You can configure filtering for numerous objects through [collision groups](#collision-groups) or you can control collisions on a [part‑to‑part](#part-to-part-filtering) basis with `Class.NoCollisionConstraint` instances. -### Collision groups +### Collision Groups Collision **groups** let you assign `Class.BasePart|BaseParts` to dedicated groups and specify whether or not they collide with those in other groups. Parts within non‑colliding groups pass through each other completely, even if both parts have their `Class.BasePart.CanCollide|CanCollide` property set to `true`. @@ -88,7 +88,7 @@ You can easily set up collision groups through Studio's **Collision Groups Edito Collision Groups tool indicated in Model tab of Studio -The editor functions in either **List View** which favors [docking](../studio/ui-overview.md#reposition-windows) to the left or right side of Studio, or in a wider **Table View**, which favors docking to the top or bottom. +The editor functions in either **List View** which favors [docking](../studio/ui-overview.md#repositioning-windows) to the left or right side of Studio, or in a wider **Table View**, which favors docking to the top or bottom. @@ -99,7 +99,7 @@ The editor functions in either **List View** which favors [docking](../stud -#### Register groups +#### Registering Groups @@ -124,7 +124,7 @@ To create a new collision group: -To create a new collision group through scripting, include the `Class.PhysicsService` service and register the group with `Class.PhysicsService:RegisterCollisionGroup()`. It may be helpful to pre-declare your group names in local variables, as the same strings can be used for [assigning objects](#assign-objects-to-groups) and [configuring groups](#configure-group-collisions) within the same script. +To create a new collision group through scripting, include the `Class.PhysicsService` service and register the group with `Class.PhysicsService:RegisterCollisionGroup()`. It may be helpful to pre-declare your group names in local variables, as the same strings can be used for [assigning objects](#assigning-objects-to-groups) and [configuring groups](#configuring-group-collisions) within the same script. ```lua title="Collision Group Setup" highlight='1,3,4,7,8' local PhysicsService = game:GetService("PhysicsService") @@ -138,13 +138,13 @@ PhysicsService:RegisterCollisionGroup(doors) ``` -Since scripts are not guaranteed to execute in any particular order, it's highly recommended that you register collision groups in a single script. Abstracting group registration among multiple scripts may result in a race condition where a group is not yet registered at the time you [configure groups](#configure-group-collisions) or [assign objects](#assign-objects-to-groups) to them. +Since scripts are not guaranteed to execute in any particular order, it's highly recommended that you register collision groups in a single script. Abstracting group registration among multiple scripts may result in a race condition where a group is not yet registered at the time you [configure groups](#configuring-group-collisions) or [assign objects](#assigning-objects-to-groups) to them. -#### Configure group collisions +#### Configuring Group Collisions @@ -181,11 +181,11 @@ PhysicsService:CollisionGroupSetCollidable(cubes, doors, false) -#### Assign objects to groups +#### Assigning Objects to Groups -To assign objects to groups you've [registered](#register-groups) through the Studio editor: +To assign objects to groups you've [registered](#registering-groups) through the Studio editor: 1. Select one or more `Class.BasePart|BaseParts` that qualify as part of a collision group. 2. Assign them to the group by clicking the **⊕** button for its row. Objects can belong to only one collision group at a time, so placing them in a new group removes them from their current group. @@ -220,7 +220,7 @@ workspace.Door1.CollisionGroup = doors -#### StudioSelectable collision group +#### StudioSelectable Collision Group Tools in Studio use the collision filtering system to determine which objects are candidates for selection when clicking in the 3D viewport. Objects whose assigned collision group does **not** collide with **StudioSelectable** will be ignored. @@ -242,7 +242,7 @@ local mouseRay = workspace.CurrentCamera:ViewportPointToRay(mouseLocation.X, mou local filteredSelectionHit = workspace:Raycast(mouseRay.Origin, mouseRay.Direction * 10000, raycastParams) ``` -### Part-to-part filtering +### Part-to-Part Filtering To prevent collisions between two specific parts without setting up [collision groups](#collision-groups), such as between a vehicle's wheel and its chassis, consider the @@ -253,7 +253,7 @@ constraint. Advantages include: - Connected parts will not collide with each other, but they can still collide with other objects. -### Disable character collisions +### Disabling Character Collisions Roblox player characters collide with each other by default. This can lead to interesting but unintended gameplay, such as characters jumping on top of each other to reach specific areas. If this behavior is undesirable, you can prevent it through the following `Class.Script` in `Class.ServerScriptService`. @@ -286,7 +286,7 @@ Players.PlayerAdded:Connect(function(player) end) ``` -## Model collisions +## Model Collisions `Class.Model` objects are containers for parts rather than inheriting from `Class.BasePart`, so they can't directly connect to `Class.BasePart.Touched` or `Class.BasePart.TouchEnded` events. To determine whether a model triggers a collision events, you need to loop through its children and connect the custom `onTouched()` and `onTouchEnded()` functions to each child `Class.BasePart`. @@ -327,7 +327,7 @@ for _, child in model:GetChildren() do end ``` -## Mesh and solid model collisions +## Mesh and Solid Model Collisions `Class.MeshPart` and `Class.PartOperation` (parts joined by [solid modeling](../parts/solid-modeling.md)) are subclasses of `Class.BasePart`, so meshes and solid modeled parts inherit the same [collision events](#collision-events) and [collision filtering](#collision-filtering) options as regular parts. However, since meshes and solid modeled parts usually have more complex geometries, they have a distinctive `Class.TriangleMeshPart.CollisionFidelity|CollisionFidelity` property which determines how precisely the physical bounds align with the visual representation for collision handling. diff --git a/content/en-us/workspace/index.md b/content/en-us/workspace/index.md index df7a34ce3..e733849f6 100644 --- a/content/en-us/workspace/index.md +++ b/content/en-us/workspace/index.md @@ -1,10 +1,10 @@ --- -title: 3D workspace -description: Describes the workspace container service, which holds all objects that exist in the 3D world. +title: 3D Workspace +description: Describes the Workspace container service, which holds all objects that exist in the 3D world. --- `Class.Workspace` is a container service that holds objects that you want the -Roblox Engine to render in the 3D world. You typically will add these objects to +Roblox engine to render in the 3D world. You typically will add these objects to the workspace: - `Class.BasePart` objects, which includes both `Class.Part` and `Class.MeshPart` objects. @@ -24,7 +24,7 @@ the workspace:
Sphere
Cylinder
Wedge
-
Corner wedge
+
Corner Wedge
@@ -87,7 +87,7 @@ also contain scripts that act on the individual objects of the model. -## Access the workspace in scripts +## Accessing the Workspace in Scripts Within a script, you can access a place's `Class.Workspace` in three different ways, all of which are valid. diff --git a/content/en-us/workspace/raycasting.md b/content/en-us/workspace/raycasting.md index c361b585f..2b1d85e0c 100644 --- a/content/en-us/workspace/raycasting.md +++ b/content/en-us/workspace/raycasting.md @@ -10,6 +10,8 @@ At its most basic level, **raycasting** is the act of sending out an invisible r
Lasers are fired by floating orbs, and raycasting determines whether a laser hits a platform. Platforms touched by the lasers are temporarily destroyed.
+## Casting a Ray + You can cast a ray with the `Class.WorldRoot:Raycast()` method (`Class.WorldRoot:Raycast()|workspace:Raycast()`) from a `Datatype.Vector3` origin in a `Datatype.Vector3` direction. ```lua title='Basic Raycast' highlight='4' @@ -23,30 +25,7 @@ local raycastResult = workspace:Raycast(rayOrigin, rayDirection) When casting a ray, the direction parameter should encompass the desired length of the ray. For instance, if the magnitude of the direction is 10, the resulting ray will also be of length 10. The maximum length is 15,000 studs. -When applicable, you can calculate an unknown directional vector (`rayDirection`) using a known **origin** and **destination**. This is useful when casting a ray between two points that can change, such as from one player character to another. - -1. The origin plus a directional vector indicate the ray's destination: - - rayOrigin + rayDirection = rayDestination - -2. Subtract rayOrigin from both sides of the equation: - - rayOrigin + rayDirectionrayOrigin = rayDestinationrayOrigin - -3. The ray's direction equals the destination minus the origin: - - rayDirection = rayDestinationrayOrigin - -```lua highlight='4' -local rayOrigin = workspace.TestOrigin.Position -local rayDestination = workspace.TestDestination.Position - -local rayDirection = rayDestination - rayOrigin - -local raycastResult = workspace:Raycast(rayOrigin, rayDirection) -``` - -## Filter options +### Filtering `Class.WorldRoot:Raycast()` accepts an optional `Datatype.RaycastParams` object which tells the raycast to selectively include or exclude certain `Class.BasePart|BaseParts`, ignore the **Water** material for `Class.Terrain`, or use a [collision group](../workspace/collisions.md#collision-filtering). @@ -89,9 +68,34 @@ raycastParams.IgnoreWater = true local raycastResult = workspace:Raycast(rayOrigin, rayDirection, raycastParams) ``` -## Hit detection +### Calculating Direction + +When applicable, you can calculate an unknown directional vector (`rayDirection`) using a known **origin** and **destination**. This is useful when casting a ray between two points that can change, such as from one player character to another. + +1. The origin plus a directional vector indicate the ray's destination: + + rayOrigin + rayDirection = rayDestination + +2. Subtract rayOrigin from both sides of the equation: + + rayOrigin + rayDirectionrayOrigin = rayDestinationrayOrigin + +3. The ray's direction equals the destination minus the origin: + + rayDirection = rayDestinationrayOrigin + +```lua highlight='4' +local rayOrigin = workspace.TestOrigin.Position +local rayDestination = workspace.TestDestination.Position + +local rayDirection = rayDestination - rayOrigin + +local raycastResult = workspace:Raycast(rayOrigin, rayDirection) +``` + +## Detecting Hits -If the [raycasting operation](#cast-a-ray) hits an eligible `Class.BasePart` or `Class.Terrain` cell, a `Datatype.RaycastResult` object is returned containing the results. To test for a hit, confirm that the result is not `nil` and utilize the following properties as needed. +If the [raycasting operation](#casting-a-ray) hits an eligible `Class.BasePart` or `Class.Terrain` cell, a `Datatype.RaycastResult` object is returned containing the results. To test for a hit, confirm that the result is not `nil` and utilize the following properties as needed. diff --git a/content/en-us/workspace/streaming.md b/content/en-us/workspace/streaming.md index 7555451d3..5786a8151 100644 --- a/content/en-us/workspace/streaming.md +++ b/content/en-us/workspace/streaming.md @@ -1,16 +1,16 @@ --- -title: Instance streaming -description: Instance streaming allows the Roblox Engine to dynamically load and unload 3D content in regions of the world. +title: Instance Streaming +description: Instance streaming allows the Roblox engine to dynamically load and unload 3D content in regions of the world. --- -In-experience **instance streaming** allows the Roblox Engine to dynamically load and unload 3D content and related instances in regions of the world. This can improve the overall player experience in several ways, for example: +In-experience **instance streaming** allows the Roblox engine to dynamically load and unload 3D content and related instances in regions of the world. This can improve the overall player experience in several ways, for example: - **Faster join times** — Players can start playing in one part of the world while more of the world loads in the background. - **Memory efficiency** — Experiences can be played on devices with less memory since content is dynamically streamed in and out. More immersive and detailed worlds can be played on a wider range of devices. - **Improved performance** — Better frame rates and performance, as the server can spend less time and bandwidth synchronizing changes between the world and players in it. Clients spend less time updating instances that aren't currently relevant to the player. - **Level of detail** — Distant models and terrain remain visible even when they're not streamed to clients, keeping the experience optimized without entirely sacrificing background visuals. -## Enable streaming +## Enabling Streaming Instance streaming is enabled through the **StreamingEnabled** property of the **Workspace** object in Studio. This property cannot be set in a script. Streaming is enabled by default for new places created in Studio. @@ -18,14 +18,14 @@ Instance streaming is enabled through the **StreamingEnabled** property of the * Once enabled, it's recommended that you adhere to the following practices: -- Because clients will not typically have the entire `Class.Workspace` available locally, use the appropriate tool/API to ensure that instances exist before attempting to access them in a `Class.LocalScript`. For example, utilize [per‑model streaming controls](#per-model-streaming-controls), [detect instance streaming](#detect-instance-streaming), or use `Class.Instance:WaitForChild()|WaitForChild()` on objects that may not exist. +- Because clients will not typically have the entire `Class.Workspace` available locally, use the appropriate tool/API to ensure that instances exist before attempting to access them in a `Class.LocalScript`. For example, utilize [per‑model streaming controls](#per-model-streaming-controls), [detect instance streaming](#detecting-instance-streaming), or use `Class.Instance:WaitForChild()|WaitForChild()` on objects that may not exist. - Minimize placement of 3D content outside of `Class.Workspace`. Content in containers such as `Class.ReplicatedStorage` or `Class.ReplicatedFirst` is ineligible for streaming and may negatively impact join time and memory usage. -- If you move a player's character by setting its `Datatype.CFrame`, do so from a server-side `Class.Script` and use [streaming requests](#request-area-streaming) to more quickly load data around the character's new location. +- If you move a player's character by setting its `Datatype.CFrame`, do so from a server-side `Class.Script` and use [streaming requests](#requesting-area-streaming) to more quickly load data around the character's new location. - Manually set the player's `Class.Player.ReplicationFocus|ReplicationFocus` only in unique situations such as in experiences that don't use a `Class.Player.Character`. In these cases, make sure the focus is near the object(s) that the player controls to ensure content continues to stream in around the player's interaction point. -## Technical behavior +## Technical Behavior -### Stream in +### Streaming In By default, when a player joins an experience with instance streaming enabled, instances in the `Class.Workspace` are replicated to the client, **excluding** the following: @@ -40,9 +40,9 @@ Then, during gameplay, the server may stream necessary instances to the client,
1 Terrain is treated uniquely, in that the instance replicates to the client when the experience loads, but terrain regions only stream in when needed

-

Model behavior

+

Model Behavior

-Models set to non-default behavior like [Atomic](#atomic) stream in under special rules as outlined in [Per‑model streaming controls](#per-model-streaming-controls). However, default (nonatomic) models are sent differently based on whether [ModelStreamingBehavior](#modelstreamingbehavior) is set to **Default** (**Legacy**) or **Improved**. +Models set to non-default behavior like [Atomic](#atomic) stream in under special rules as outlined in [Per‑Model Streaming Controls](#per-model-streaming-controls). However, default (nonatomic) models are sent differently based on whether [ModelStreamingBehavior](#modelstreamingbehavior) is set to **Default** (**Legacy**) or **Improved**. @@ -75,7 +75,7 @@ When [ModelStreamingBehavior](#modelstreamingbehavior) is set to **Improved**, m -### Stream out +### Streaming Out During gameplay, a client may stream out (remove from the player's `Class.Workspace`) regions and the `Class.BasePart|BaseParts` contained within them, based on the behavior set by [StreamOutBehavior](#streamoutbehavior). The process begins with regions furthest away from the player's character (or `Class.Player.ReplicationFocus|ReplicationFocus`) and moves in closer as needed. Regions inside the [StreamingMinRadius](#streamingminradius) range never stream out. @@ -88,7 +88,7 @@ To further anticipate stream out, examine these scenarios: - + @@ -110,7 +110,7 @@ To further anticipate stream out, examine these scenarios:
Scenario ExampleStreaming behaviorStreaming Behavior
-

Model behavior

+

Model Behavior

If you set [ModelStreamingBehavior](#modelstreamingbehavior) to **Improved**, the engine may stream out [Default](#default--nonatomic) ([Nonatomic](#default--nonatomic)) models when they're eligible to stream out, potentially freeing up memory on the client and reducing the instances which need property updates. @@ -121,7 +121,7 @@ Under **Improved** model streaming behavior, streaming out of [Default](#default - A spatial model only streams out completely when its last remaining `Class.BasePart` descendant streams out, since some of the model's spatial parts may be near to the player/replication focus and some far away. - A non‑spatial model only streams out when an ancestor streams out, equivalent to legacy streaming out behavior. -### Assemblies and mechanisms +### Assemblies and Mechanisms When at least one part of an [assembly](../physics/assemblies.md) is eligible for streaming in, all of the assembly's parts also stream in. However, an assembly will not stream **out** until **all** of its parts are eligible for streaming out. During streaming, all of the `Class.Constraint|Constraints` and `Class.Attachment|Attachments` descending from `Class.BasePart|BaseParts` and atomic or persistent `Class.Model|Models` also stream, helping to ensure consistent physics updates on clients. @@ -130,8 +130,8 @@ Note that assemblies with **anchored** parts are treated slightly differently th - - + + @@ -150,7 +150,7 @@ Note that assemblies with **anchored** parts are treated slightly differently th Avoid creating moving assemblies with unnecessarily large numbers of instances, as all of the instances streaming in unison may cause network/CPU spikes. -### Timing delay +### Timing Delay There may be a slight delay of ~10 milliseconds between when a part is created on the server and when it gets replicated to clients. In each of the following scenarios, you may need to use `Class.Instance:WaitForChild()|WaitForChild()` and other techniques rather than assuming that events and property updates always occur at the same time as part streaming. @@ -159,7 +159,7 @@ There may be a slight delay of ~10 milliseconds between when a part is created o - + @@ -181,7 +181,7 @@ There may be a slight delay of ~10 milliseconds between when a part is created o
Assembly compositionStreaming behaviorAssembly CompositionStreaming Behavior
Scenario ExampleStreaming behaviorStreaming Behavior
-## Streaming properties +## Streaming Properties The following properties control how instance streaming applies to your experience. All of these properties are **non-scriptable** and must be set on the **Workspace** object in Studio. @@ -211,13 +211,13 @@ A smaller **StreamingTargetRadius** reduces server workload, as the server will ### StreamOutBehavior -The **StreamOutBehavior** property sets the [streaming out](#stream-out) behavior according to one of the following values: +The **StreamOutBehavior** property sets the [streaming out](#streaming-out) behavior according to one of the following values: - + @@ -236,13 +236,13 @@ The **StreamOutBehavior** property sets the [streaming out](#stream-out) behavio
SettingStreaming behaviorStreaming Behavior
-## Per-model streaming controls +## Per-Model Streaming Controls Globally, the [ModelStreamingBehavior](#modelstreamingbehavior) property lets you control how models are streamed in on join. Additionally, to avoid issues with streaming on a per-model basis and minimize use of `Class.Instance:WaitForChild()|WaitForChild()`, you can customize how `Class.Model|Models` and their descendants stream through their `Class.Model.ModelStreamingMode|ModelStreamingMode` property. The Properties window with the ModelStreamingMode property set to Default. The property is also highlighted. -### Default / nonatomic +### Default / Nonatomic When a `Class.Model` is set to **Default** or **Nonatomic**, streaming behavior varies based on whether [ModelStreamingBehavior](#modelstreamingbehavior) is set to **Default** (**Legacy**) or **Improved**. @@ -250,7 +250,7 @@ When a `Class.Model` is set to **Default** or **Nonatomic**, streaming behavior [ModelStreamingBehavior](#modelstreamingbehavior) - Technical behavior + Technical Behavior @@ -265,7 +265,7 @@ When a `Class.Model` is set to **Default** or **Nonatomic**, streaming behavior -See [technical behavior](#technical-behavior) for more details. +See [Technical Behavior](#technical-behavior) for more details. ### Atomic @@ -313,9 +313,9 @@ Runtime performance impacts of persistent models after replication are mostly th Models set to **PersistentPerPlayer** behave the same as [Persistent](#persistent) for players that have been added using `Class.Model:AddPersistentPlayer()`. For other players, behavior is the same as [Atomic](#atomic). You can revert a model from player persistence via `Class.Model:RemovePersistentPlayer()`. -## Request area streaming +## Requesting Area Streaming -If you set the `Datatype.CFrame` of a player character to a region which isn't currently loaded, [streaming pause](#customize-the-pause-screen) occurs, if enabled. If you know the character will be moving to a specific area, you can call `Class.Player:RequestStreamAroundAsync()` to request that the server sends regions around that location to the client. +If you set the `Datatype.CFrame` of a player character to a region which isn't currently loaded, [streaming pause](#customizing-the-pause-screen) occurs, if enabled. If you know the character will be moving to a specific area, you can call `Class.Player:RequestStreamAroundAsync()` to request that the server sends regions around that location to the client. The following scripts show how to fire a client-to-server [remote event](../scripting/events/remote.md) to teleport a player within a place, yielding at the streaming request before moving the character to a new `Datatype.CFrame`. @@ -354,7 +354,7 @@ teleportEvent:FireServer(teleportTarget) Requesting streaming around an area is **not a guarantee** that the content will be present when the request completes, as streaming is affected by the client's network bandwidth, memory limitations, and other factors. -## Detect instance streaming +## Detecting Instance Streaming In some cases, it's necessary to detect when an object streams in or out and react to that event. A useful pattern for streaming detection is as follows: @@ -392,7 +392,7 @@ In some cases, it's necessary to detect when an object streams in or out and rea end ``` -## Customize the pause screen +## Customizing the Pause Screen The `Class.Player.GameplayPaused` property indicates the player's current pause state. This property can be used with a `Class.Instance:GetPropertyChangedSignal()|GetPropertyChangedSignal()` connection to show or hide a custom GUI. @@ -415,7 +415,7 @@ end player:GetPropertyChangedSignal("GameplayPaused"):Connect(onPauseStateChanged) ``` -## Model level of detail +## Model Level of Detail When streaming is enabled, `Class.Model|Models` outside of the currently streamed area will not be visible by default. However, you can instruct the engine to render lower resolution "imposter" meshes for models that are not present on clients through each model's `Class.Model.LevelOfDetail|LevelOfDetail` property. @@ -435,8 +435,8 @@ When streaming is enabled, `Class.Model|Models` outside of the currently streame - - + +
Model settingStreaming behaviorModel SettingStreaming Behavior