> For the complete documentation index, see [llms.txt](https://metaversenw.gitbook.io/user-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://metaversenw.gitbook.io/user-manual/building/asset-creation/how-to-create-a-mesh-that-appears-to-be-multiple-separate-parts-and-skeletal-animation..md).

# How to create a mesh that appears to be multiple separate parts & skeletal animation.

NOTE: This example uses only solid colors for each “segment” of the mesh.

1\. Create a new mesh (cube in the example).                                                &#x20;

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2F1axGWXQtxIXwfOlMNR6Y%2Fimage.png?alt=media&amp;token=c1f5dbc3-f481-42f4-a98d-84102feac99d" alt=""><figcaption></figcaption></figure>

2\.  Create another mesh.                                                                                                                               &#x20;

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FGHn8iXBl5SNhtFChd6mH%2Fimage.png?alt=media&amp;token=619ad8ef-9a9e-407d-8110-2e75adbc6287" alt=""><figcaption></figcaption></figure>

3\. Let’s add some materials so we can easily differentiate the 2 meshes. Do this by creating a material slot and assigning the relevant vertices to that material.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FO957ZYHWdQW0UYHcRrgf%2Fimage.png?alt=media&amp;token=576a02de-80f6-4c4d-bdd4-3b540ad26983" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2F9Xg8xgvsyo3wqcLhh5fw%2Fimage.png?alt=media&amp;token=8354e96d-828d-465d-810a-cda267130811" alt=""><figcaption></figcaption></figure>

4\.  Now, prepare for skeletal animations, while maintaining a minimal mesh count. Let’s set up vertex groups. Create a vertex group and similar to the material, make sure you assign the relevant vertices to that group.&#x20;

NOTE: The vertex group name will be relevant to the Bone names later

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FzJrDMExReao772gIEQOo%2Fimage.png?alt=media&amp;token=aae2b06f-1eab-4eae-9f29-32fa64d0d7e7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2F2BDftZrAAwi9gIG7bT0v%2Fimage.png?alt=media&amp;token=ebc325a0-8ab7-46cc-8961-fc3a4aca46a6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FpIEnqrtScLnDthKu1XWF%2Fimage.png?alt=media&amp;token=bc8b358d-9b1c-49fd-81d2-ab27a8ac6f20" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FMMM96Zvim6XYLUIwFasH%2Fimage.png?alt=media&amp;token=a08f3d1f-13c2-4c3f-a53d-80d44093ccaf" alt=""><figcaption></figcaption></figure>

5\. Once we have the vertex groups, we can now merge these two meshes together.&#x20;

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FGkNwR7Z9GBl9tQfoeBc0%2Fimage.png?alt=media&amp;token=93958a39-409b-4aae-8dc1-e5e2b90325f3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FnfGaoE6nbgHl8guZYauN%2Fimage.png?alt=media&amp;token=4c69d93d-accc-4186-aedc-f4657d94b095" alt=""><figcaption></figcaption></figure>

6\. We want to keep the number of meshes/materials to a minimum. We can either bake or author a texture to achieve the same result as above. In this case, we will create a new material slot to start.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FvhsongxaayIyeAdUHuxq%2Fimage.png?alt=media&amp;token=65e61bbf-21aa-4aee-b551-0bc31429d1bf" alt=""><figcaption></figcaption></figure>

7\. Now set up the texture, in this case, we only have 2 solid colors, so we can do a 2 x 1 image. You’ll need to determine your own needs as per your creative direction.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FwNJdD63epgLqef3EmGDP%2Fimage.png?alt=media&amp;token=817d1cd6-2f9a-4329-bfea-ea58f36dff0c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FgPhHaz0rZCULCBjvFNW4%2Fimage.png?alt=media&amp;token=f170db2f-efba-4ed4-96ba-76fc55cb54c0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FzCrxDtN4LWx15MmtH1Fb%2Fimage.png?alt=media&amp;token=495d0c4f-5299-4d33-bd23-a4694110f942" alt=""><figcaption></figcaption></figure>

8\. In our case, we set up the UVs to use one pixel per “cube”. We can utilize the material slots to select the relevant vertices for UV unwrapping

&#x20;NOTE: if you are baking the textures, you’ll need to properly set up your UVs to get a good baking result.&#x20;

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FUbErfosBxiEpcJBiOYEs%2Fimage.png?alt=media&amp;token=fa24b1f2-ec51-4e85-9eca-6630fc96513e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FKjd2yrtrvr5gSTXCoD9H%2Fimage.png?alt=media&amp;token=bd499782-53bc-493e-9d2b-009dc7f76a65" alt=""><figcaption></figcaption></figure>

9\. After we unwrap the UVs, we can scale them down and move them to the side to use 1 of the 2 pixels&#x20;

NOTE: this is only relevant in this case. If you are baking you need to use proper UVing which is outside of the scope of this tutorial.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2F9E00AhSyCg8FFcBczw2b%2Fimage.png?alt=media&amp;token=59d36700-51b2-4f7f-b894-c464189263b6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FABpzWYSqgzctezMI0jLM%2Fimage.png?alt=media&amp;token=5cf2c076-13a6-4c49-a2c2-455701a47997" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FKkTdUbI3fNLQiSxlsQnB%2Fimage.png?alt=media&amp;token=0a018d87-3755-4749-8591-667072502e30" alt=""><figcaption></figcaption></figure>

10\. Repeat for the other segment.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FUma7uBL3QDfp9bByzJJp%2Fimage.png?alt=media&amp;token=7f35d7bd-e834-4e6a-97bc-72f22b52f4b7" alt=""><figcaption></figcaption></figure>

11\. We can use Blender’s Texture Paint to draw that 2x1 image. First, select the correct image from the picker, then resize the drawing circle to 1px, set the color, and paint. Then we can save it.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2F0vio4Jcddvoi7V4SBmEW%2Fimage.png?alt=media&amp;token=c48d02a8-8e23-4267-8bb5-f9e18cb15bcf" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FrNXaQ4tcMkMj5mA5WcVN%2Fimage.png?alt=media&amp;token=d5fc0336-6d63-43ee-a6c7-472421730b5b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FFwRc8uLgIZhDwaq7sVjU%2Fimage.png?alt=media&amp;token=82a0d4ce-1220-4e84-a74d-a52aa25a5c00" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FgN8LBrqAWnimPtKhpOBa%2Fimage.png?alt=media&amp;token=4a48b3d7-d98f-413d-a732-e24aefb230df" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FCHpRw1wKnX6jYcOQaTaA%2Fimage.png?alt=media&amp;token=422d6f35-69d0-44d6-8dae-92f17b56cc7f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2Fnf3UrFKJcCosCK5tZwJB%2Fimage.png?alt=media&amp;token=cf6f5054-9ae2-4aaa-83c7-ba1b58a1731c" alt=""><figcaption></figcaption></figure>

12\. Remove old materials, and assign our new materials.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FnqLZ2xpMhvPLtIU02w9r%2Fimage.png?alt=media&amp;token=b0216d15-f330-423b-ae59-a1a5c650ce31" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FmDYJLs5NOMWHi8hKBQmS%2Fimage.png?alt=media&amp;token=f494aafd-7d63-48b8-8554-d95187b6522a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2Fcf6Z4KOgGyxhLkiStBwC%2Fimage.png?alt=media&amp;token=98a4ac2c-5fcf-4a9e-b9b7-3805be5499d8" alt=""><figcaption></figcaption></figure>

13\. Set the new material to use the image we just made.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2Fduu2E7z80hV3SngMR0G5%2Fimage.png?alt=media&amp;token=0ed93f52-7dfd-4d7f-9543-3fd4a3304779" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FBpRvb6v8U6eJHh2Q7o8W%2Fimage.png?alt=media&amp;token=f39f489e-7037-4b1e-bfcc-532aa7b5ce8c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2F7SymoUJiIIu64kECddbf%2Fimage.png?alt=media&amp;token=8196b117-51aa-4d83-a42e-26786fc79500" alt=""><figcaption></figcaption></figure>

14\. Set the view port to show the material

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FBMxEqYUS5ideEg3mjQeT%2Fimage.png?alt=media&amp;token=2e367e8a-3a48-4c07-ad41-fbb4c1ec0631" alt=""><figcaption></figcaption></figure>

15\. Update the interpolation for the image to closest for these pixel art styles

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FeUJ18Tg4IlfDbFFV08jl%2Fimage.png?alt=media&amp;token=5f52eaa0-a0fb-4a5f-968e-4b245e5942a1" alt=""><figcaption></figcaption></figure>

16\. Let’s create the armature for the skeletal animations now

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2Fgoaoben1mzvFMVOImD3q%2Fimage.png?alt=media&amp;token=f60fb13f-5cb0-4052-a77c-596e5ad357aa" alt=""><figcaption></figcaption></figure>

17\. Add the modifier to the mesh for armature

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2F4SoTYzk1Xu4UL16sQTAu%2Fimage.png?alt=media&amp;token=ab8a7a39-17c6-4036-8872-db8b36707264" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FDRFUVMrbc7wk4eafUJZF%2Fimage.png?alt=media&amp;token=e9dd3855-75ac-4b89-a610-9669227a4a37" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FJJZ8t0GhkoLI6lCdNxhH%2Fimage.png?alt=media&amp;token=315b867b-3f8a-4357-97b1-42a0accffcc3" alt=""><figcaption></figcaption></figure>

18\. Start the setup for the rig/skeleton

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FVxYC32RqrtxL9kFhAFEI%2Fimage.png?alt=media&amp;token=b9522e64-4e2f-4e75-b9eb-6a07fd2dccec" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FuOzlmAHPVI8So9fZd4HJ%2Fimage.png?alt=media&amp;token=255b0b86-82b5-49f2-902a-41cc931027fa" alt=""><figcaption></figcaption></figure>

19\. Name the Bones as per the Vertex Group

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FWyEwyYoL0YQhUH17TM9X%2Fimage.png?alt=media&amp;token=294a11cf-b3b6-4708-95d6-41c6e87ec961" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FY0m2dFBvIsPHQvQOVHPa%2Fimage.png?alt=media&amp;token=b74a7f0b-5fef-4513-ad0f-c4c52b238510" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FW1Gf2nRaUoyiV7hb7Ssz%2Fimage.png?alt=media&amp;token=043a6287-b31b-45c7-8c37-ec9bd35fd281" alt=""><figcaption></figcaption></figure>

20\. We can start with creating an animation now. First let’s key the starting position/rotation and then set up the remaining keyframes.

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FTx48B1RNWO0QQ8GSn57k%2Fimage.png?alt=media&amp;token=55730c47-e9c4-456b-bb33-6bf56626df2d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FvMalnWj4obaqNiKkLE5Q%2Fimage.png?alt=media&amp;token=6304b344-8753-4090-a29b-96b3dc73e01c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2F7ykAqzOrjq3lMF6d2wqL%2Fimage.png?alt=media&amp;token=fa87ffff-54e7-4320-aea9-e792dfbc0e57" alt=""><figcaption></figcaption></figure>

21\. After this set up, we can export the GLB model and test in the sandpit

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FoBKQUGuTUU2OhOsViy2X%2Fimage.png?alt=media&amp;token=7837d7f3-fa2c-4665-90cc-db578acec016" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3287443642-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUmYKzaqvyDZcUSLKTr99%2Fuploads%2FwiBns94VoeZjm6SyWvTi%2Fimage.png?alt=media&amp;token=a3c03690-0bbb-4015-b4c0-56042fc65704" alt=""><figcaption></figcaption></figure>
