This is a known issue. See the known issues section in the initial posting.
You can run this script to scale the Bones. You’ll need to edit two lines; to point to your MeshPart and give it the scale factor you want. You can then paste this into the Studio Command Bar:
Note: this script has been updated and fixed based on feedback from @SelDraken
function scaleRecursive(part, instance, scaleFactor)
if instance:isA("Bone") then
-- move bone local translation to part space, scale xyz in part space, then move back to bone parent space
local bone = instance
local parentCFrame
if (bone.Parent:IsA("Bone")) then -- parent can be either the MeshPart or another Bone
parentCFrame = bone.Parent.WorldCFrame
else
parentCFrame = bone.Parent.CFrame
end
local parentInPartCFrame = meshPart.CFrame:Inverse() * parentCFrame
local parentInPartRotationCFrame = parentInPartCFrame - > parentInPartCFrame.Position --rotation only
local pivotOffsetInPartSpace = parentInPartRotationCFrame * bone.Position
local scaledPivotOffsetInPartSpace = pivotOffsetInPartSpace * scaleVector3
local partToParentRotationCFrame = parentInPartRotationCFrame:inverse()
bone.Position = partToParentRotationCFrame * scaledPivotOffsetInPartSpace
end
local children = instance:GetChildren()
for i = 1, #children do
local child = children[i]
scaleRecursive(part, child, scaleFactor)
end
end
print("Scaling Part and Bone hierarchy ...")
local scaleFactor = 2.0 -- edit this to your scale factor
local part = workspace.FBXImportGeneric. -- edit this to point to the MeshPart you are scaling
scaleRecursive(part, part, scaleFactor)
part.Size = Vector3.new(part.Size.x * scaleFactor, part.Size.y * scaleFactor, part.Size.z * scaleFactor)
print("Done.")
However, any translation in imported animation will also need to be scaled to look correct, and this needs to be done manually per animation if you use this approach.
It’s much easier to scale at export for both mesh and animation.
If you are animating in Studio, you will be fine to use the script until Studio is updated to do this automatically.
my rig has multiple part and this did not work, it still deformed very badly so im starting to assume it could be how many bones the rig has or how i exported it
Is there/will there an option to add a mesh deformer in a part. Or is this already a thing?
(if this isnt) I kinda want to have a deformation part that deforms when close. So making vehicle crashes, craters, and maybe a trampoline possible. Basically an option to make this scriptable instead of having an already animated track.
If i have a rig that i made in roblox (and i animated it), Does the old animations work, or i need to redo all the animations?
Old animations will work.
The bones can be edited in the studio, or i need blender to edit them?
You can move the Bones in Studio, but that will also move the mesh. If you want to move the Bones without moving the mesh you’d need to go back into the authoring package, detract the skin, move the bone, re-attach the skin and re-export. I am not sure if Blender has a way to move the bone without detaching/re-binding the skin.
Can Motor6D be converted to bones when exporting a model as Wavefont object (OBJ File)
No, .obj files only contain mesh. They do not hold bones.
When is this coming out? I have already made several creatures using this in studio beta and a new game i’m making is going to heavily utilize this feature.
There is actually a bug with this beta, When I try to import a custom rig with say 17k triangles which according to the original post is allowed just like in the original avatar evolution beta build, It claims “ERR! WRONG!, 10K LIMIT BOI” and I’m super confused.
As per the posting, “Note: the triangle limits for this Beta are increased from a rig limit of 10k to 50k and an individual mesh limit of 5k to 10k.”
The individual mesh limit is 10k for the Studio Beta.
I also found a way to scale animations with a few clicks of a button which has come in handy, I made a video tutorial for everyone on this post to see:
Does anyone have any examples of playable skinned meshes yet? Like, how does one make a skinned and animated mesh into a playable character? Same way as normal r15?
This is true. If you already animated a rig at a specific size, making any changes to the scale/positioning of the mesh will not scale the animation itself. You could scale the armature in object mode and that would technically be scaling the animation. But the problem is that the mesh compensates in size by matching its own scale with the armatures scale without the meshes scale property actually getting bigger, so applying the armature scale will simply return the mesh back to its original size, resulting in strange mesh behavior since it will still use the individual bones new position.
Also, you might have missed a core feature in the plugin. You can set the original rig that was used when animating, and set the new rig that you want the size to be in, and the plugin automatically calculates the exact number you need to multiply the animation by. This will work as long as you have a primary part set in a model and the primary part is the same for both original and new.
This is especially useful when creating rigs that use drastically different sizes but uses the same animations. I’m glad you found the plugin to be useful
I tested using 0.05 scale on a large animation on a scaled down rig fits well for a normal npc size.
However that feature could come in handy for more complex animations and rigs.