R15 has always felt like a prototype for vertex deformation given how it uses the same body type stuff as Mario did in SM64, so I really hope it evolves into a vertex deformation based system.
A cool feature that was really needed. This will really improve the workflow of using custom rigs and animations from external programs.
wow iāve always wanted to be able to import custom characters to roblox but it seemed way to difficult to do but this will streamline the process a whole ton
Very cool stuff! This makes my whole mocap process much easier.
Theyād probably need to make a new rigging system to go along side it.
Oh I donāt doubt that, I was just saying R15 felt like a prototype of that to me and I was kinda bummed when it ended up being what it was.
I actually canāt wait to see what the community does with thisā¦ GREAT feature!!!
OMG! Thank you so so much! I actually needed this! This made it 100% easier.
Nice!
Creating custom characters seems more convenient now!
Itās amazing how quickly Roblox is moving.
Could we get a bit more information on the āCustomā character import options and the limitations if any? Like what should we include. There was guidelines for current humanoid hierarchiesā¦ but for a custom model is anything necessary? Say a HumanoidRootPart? What if your custom avatar isnāt a Humanoid? Do I still need to include it? It feels like āCustomā which IMO is the biggest feature in this update has been released as an after thought without the proper information.
I ask, because Iād like to create NPCs using this new Avatar Importer which at this point includes a shark.
I donāt think iāll need this in the near future, but when i do, it sure will be handy.
Thanks for the feedback, @T0ny. We will continue to update our documentation and add a more in-depth guide for using the āCustomā option.
We currently only support non-deforming āstandard meshesā in your rig hierarchy.
Your rig should start at the top with a joint named āRootā (which represents the joint to the HumanoidRootPart)
Each joint under āRootā represents a new joint connected to the HumanoidRootPart.
For each joint in your rig, you should create a matching geometry. You can add a ā_Geoā suffix and it will be stripped from the MeshPart name after importing.
Hereās a visual example of what a simple custom rig might look like in Maya:
You do not need to provide a HumanoidRootPart, but it will be created when your rig is imported.
A Humanoid object is also added to the rig on import but youāre able to remove it afterwards if you wish to have a non-Humanoid rig.
Thanks for the clarification. In Blender Iām using empties to represent the Hierarchy.
You said, if I didnāt want a HumanoidRootPartā¦ I could just remove it afterwardsā¦ I have been doing that, but in this case āFinā gets a Motor6D linked to the HumanoidRootPart which when deleted breaks the model. I usually delete Finās Motor6D after I delete the HumanoidRootPart, though Iām unsure if thatās the proper process.
I have another post on the animation editorā¦ which indicates that the animation editor fails to pickup any more than 3 Motor6Ds on my model.
Edit:
So I got it workingā¦ I believe, The HumanoidRootPart is required in custom models as well?
This is great and all, but could we perhaps get an example .blend file and a maya file to see what the perfect hierarchy and naming is for a custom model? Iāve been trying to rig my custom model for hours in blender, but whenever I import it, it always messes up the Motor6Ds. I feel like without a good example this system isnāt very user friendly at all, and many could benefit from this if a practical example was provided.
If youāre confused by the documentation, hereās a tremendously terrible rig I threw together in blender while trying to figure out how everything needs to be organized.
Iām using Empties to organize the hierarchy and Meshes to contain the geometry. Extra attachments presumably would also be Empties suffixed with _Att
. Meshes should have no initial transformations / rotations / scaling - move things after youāve parented them.
All of the blender objects you need to care about are included in this image:
HumanoidRootPart is placed at the location of the Root Empty:
boi.blend (484.1 KB)
Hmmmm, this looks like a fun feature to mess with.
After experimenting a bit, there seems to be a limit to how many triangles a model can have, which is 100k. But in my game, I use models that can easily go up to 360k tris, 200k for the ones lightened as much as we could.
Is there any way this limit could be raised to something like 500k, and just have an option or a warning for models over 100k? This tool would be a life saver but itās just unusable in my situation.
Edit: read the number wrong, the limit is 10k triangles. Isnāt that a bit low considering the kinda models games more focused on details and visuals tend to use? It sounds barely powerful enough to handle Rthro models.
This is very unnecessary. I canāt even fathom a model for a game platform like Roblox that requires that many triangles. Hell, I canāt fathom a model that requires that many for AAA software. Iām not talking about renders either (where these numbers make sense), I mean specifically for a game.
For reference, I just made a mesh thatās 500k triangles and it takes up 27.5 Mb of data for a single asset. Low-end devices crash (or at least become unplayable) at around 600-700 Mb of data use. You canāt use 4.58% of your gameās total memory use on a single asset and maintain a good performance for your user in a game of hundreds of assets.
You donāt need to subdivide your objects to that insanely high amount, or use it to simulate some kind of normal map (just throwing guesses as to why youād even think this was necessary), just use a texture at that point.
The guy wants to hit roblox limits, i like that. I have hit 2M triangles in a single game before crashing.
The Triangles performance stat accounts for instanced objects as well, so this is unrelated as instancing optimizes games incredibly well.
Weāre specifically discussing polygon counts on single, unique objects that - while instanced - still requires the player to have to download each mesh uniquely.