Skinned MeshPart Studio Beta

@BixbyAlan Well spotted.
@AllYourBlox may know the answer. I believe he did some work to improve the textures on the model on the left.

3 Likes

@KFCPhoeyu This is an example of the 2nd issue on the known issues list.

1 Like

@PeZsmistic The key is to get the parenting as if everything was rigid:
RootPart
|- bottom
__|- head

That way you can move the Parts in the AnimationEditor and the descendants follow.

After changing the parenting, the Motors need to be changed to show the new parenting. eg. the Motor under ā€˜headā€™ connects ā€˜headā€™ to ā€˜bottomā€™.

One way to approach this is to set it up as if it were rigid. Just two Parts: the Cyclinder and Sphere.
Once that is working you can add the ā€˜topā€™ Bone under the Sphere, and switch the meshIds to be the skinned versions.

[updated: actually, while the Workspace parenting might make it look clearer at a glance what is affecting what - itā€™s the motor connections that actually control the motion and that need to be organized to match the hierarchy from the authoring package (Blender in this case) ]

5 Likes

I donā€™t know about you, but Iā€™ve been waiting for this for quite some time. This is certainly what many have been asking for.

6 Likes

Yeah, there are a lot of variants of this particular avatar that we used throughout testing and development of the feature, to test both player avatar and NPC use cases. The rigid model on the right is one that was imported as a standard catalog avatar, and the textures have been reduced by the Humanoid avatar texture compositor. The texture compositor is what scales the UVs on the body parts, and bakes all the character textures (head, arms, torso, legs, shirt, pants, t-shirt, hair, face, accessories, skin tone, etc.) into a single bitmap, for performance reasons (so the character is a single draw call).

The skinned mesh version on the left is not using the Humanoid texture compositor, youā€™re seeing the native UV mapping scale and full resolution of the textures. The 4 actual Texture IDs on the MeshParts are the same. As for why there is no compositing in this specific example, it could be a screenshot from before we got the compositor working on the skinned mesh parts, or the character might not have standard part names, or she might be one of the NPC test models we imported through the Custom option, in which case sheā€™d have an AnimationController, not a Humanoid, therefore no player avatar compositing.

So what you see on the left is possible to do when making a custom NPCā€“even one that is compatible with R15 animationsā€“but it is higher resolution than is currently supported for standard player avatars. Itā€™s not advisable to bypass compositing for all player avatars in a game, because graphics memory usage will be considerably higher, possibly causing out of memory crashes on lower-end devices. But for something like a special one-off NPC, this level of detail (and better) is possible.

9 Likes

Donā€™t know where you were but a lot of developers here are very excited for this feature. Not every update will be something you want as there are other people that wanted this.

9 Likes

This is awesome and I look forward to seeing what I can create with it. However, if Roblox really wants us to be able to make AAA quality characters upping the image resolution limit is a must. Having my character be a single mesh is optimal but the texture size limitations are going to kill the quality of my character unless if I can figure out some sort of clever work around.

Increasing the Tris/Vert limits would be the next best step to help us make AAA quality characters. While 10k tris is nice, itā€™s still pretty limiting when comparing to say, over watch, whose characters average 30,000 tris (before weaponry).

Ultimately while I imagine these limitations are in place so people donā€™t go crazy then not understand why their game runs poorly, we (the developers) should be the ones who decide how far to push the limits and how best to optimize our games. Who knows, maybe it wonā€™t look so bad if I have to cut my character in halfā€¦but itā€™s not ideal for the piece of my game that I want to have the highest fidelity.

7 Likes

The real limitations arenā€™t the 10k triangle budget or the 1024 textures. They are the optimal total content size required for your game to be first-time playable in under 1 minute of download time, and the hardware specs of the userbase (which is predominately lower-end mobile devices and non-gaming laptops/netbooks).

Overwatch has some nice characters with a lot of detail. Butā€¦ itā€™s also a ~30GB upfront download. On my DSL, thatā€™s about a 24-hour download time. For a Roblox game to be successful, you want the time from when a new player clicks Play to them being in game, with all the core assets downloaded, to ideally be under a minute. That means your game has to be at most tens of megabytes. So thereā€™s a not-inconsiderable factor of 1000 size difference between what is a good size for a Roblox game, and what works for a AAA game you install to your PC before playing.

10 Likes

Will be there support for rigging weapons and tools?

Iā€™m wondering why you based Bone on attachments and not Motor6Ds.

The nice thing with Motor6D was that it directly allowed us to control the C0 and C1, constraints try to guess and (nearly) always get it wrong.

Yes, we have the Transform properties which are similar, but Iā€™m assuming thatā€™s to make it work with the animation system.

1 Like

So the maximum limits are optimizedā€¦to have one character built like this in total? I understand where youā€™re coming from, but donā€™t you think developers should be able to decide how beefy they want their games to be? Maybe I want to make a game that is targeted towards PC users with more powerful machines. I donā€™t think Roblox should make that decision for us.

That being said, my character, which is only wearing about half the total of items that it could be, is already almost 10,000 tri count. Plenty of Roblox games load 20 of these characters just fine.

I am by no means an expert on this stuff, but Iā€™m not really here to argue the semantics of it. I would just like to see more freedom for developers to have the option push the limits if they choose to. If the game a developer makes is terribly laggy and unplayable it wont ever be popular enough to be an issue, so developers are incentivized to optimize. I just would like to be able to choose where I optimize and where I decide to add more detail for the sake of the style I am seeking.

6 Likes

This is sick, canā€™t wait to use this in our game!

Definitely a huge step for the Roblox engine, canā€™t wait to see what Developers create with this.

1 Like

This is such a cool feature, i look forward to seeing games use it. :smiley:

1 Like

can i have a simple blender model ready to import to roblox? i wanna learn how to do it on blender :stuck_out_tongue:

3 Likes

Wow!
This is a nice addition to make realistic animation. The only issue is that we donā€™t see so many games using animation for their game, which ruins all of its potentials, but I really hope this is gonna be used. Keep it up!

1 Like

Downloadable Roblox games could be a solution for too long loading time issues; however that is highly unlikely to come out anytime soon.

6 Likes

Another awesome ā€œmodernisationā€ feature that greatly expands the quality ceiling of games on the platform. Good job ROBLOX team, canā€™t wait to learn and use this! Hype!

1 Like

Will we receive some kind of template for 1.0 characters?

I would love to experiment with it!

2 Likes

I succeded on importing a custom model and make a animation with the roblox animation tool. However i am unable lo load that animation by script (no error, it just dont do the animation). Anyone was able to load and animate a mesh ingame?

Nice feature, but still have room for improvement

16 Likes