R6 IK + FK Blender Rig

I put together a cool R6 rig for animating in Blender and I figured I’d share it here for anyone who might find it useful since the amount of R6 rigs with both FK and IK on the DevForum are lacking, so I wanted to make the only one you’ll ever need.

It supports both IK (Inverse Kinematics) and FK (Forward Kinematics), and you can blend between them with sliders.

It has full support for animating tools and any props attached to the rig.

Stuff the rig can do

IK + FK support for arms and legs

Spine bone for more torso movement

Sliders to switch between IK/FK and Grabbing and Free move

Head follow: yet another slider makes the head look at a target object

Grab Points: For grabbing onto stuff like a door handle

Very intuitive torso rotation, with UpperTorso, Spine, and LowerTorso all contributing to their own movement

Intuitive arm rotation, with UpperArm, LowerArm, Shoulder, and Hand movement all contributing to their own movement just like the torso.

Camera follow: even one more slider to make the camera follow the head (good for POV stuff or cutscenes)

Separate system for loading characters with Anchor Points

Since the rig uses a custom AnchorPoint method to let you animate tools in blender, characters need to be a little different and have the anchor points built into the character, so this rig comes with a free module that you can put into your game that lets you load the needed parts and stuff into every players character.

This does not automatically load any characters, this simply has functions that you call in your own .CharacterLoaded connection

CharacterAnchorManager.rbxm (8.9 KB)

Example Script:
AnchorExample.rbxm (4.4 KB)

local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local CharacterAnchors = require(ReplicatedStorage:WaitForChild("CharacterAnchorManager")) -- local SwordTemplate = script:WaitForChild("Sword") :: BasePart local function setup(player: Player, character: Model) local ok, err = pcall(function() local success, reason = CharacterAnchors:LoadCharacter(character) if not success then warn(`Failed to load for {player.Name}: {reason}`) return end --[[ -- Remove comment to make a sword appear on the RightHand anchor point local sword = SwordTemplate:Clone() sword.Parent = character local offset = CFrame.new(0, 0, -1.4) * CFrame.Angles(0, math.rad(-180), math.rad(-90)) local attached, attachErr = CharacterAnchors:AttachItem(character, "ObjectAnchorPoint_RightHand", sword, offset) ]] end) end local function setChar(player: Player, character: Model) character:WaitForChild("Humanoid") setup(player, character) end local function setPlr(player: Player) if player.Character then setup(player, player.Character) end player.CharacterAppearanceLoaded:Connect(function(character) setChar(player, character) end) end for _, plr in ipairs(Players:GetPlayers()) do setPlr(plr) end Players.PlayerAdded:Connect(setPlr)

Blender:
Blender_R6_Rig.blend (5.1 MB)

Roblox Studio:
Studio_R6_Rig.rbxm (11.9 KB)

image_2025-08-25_135914958

image_2025-08-25_135914958757×687 274 KB

image_2025-04-30_193832460

image_2025-04-30_193832460682×736 250 KB

Tutorials Adding props/tools

Adding tools that the rig can hold is a straight-forward process, but it does require you to use the studio rig for animating.

When you’ve got the rig in blender, you can find AnchorPoints on the Torso, Hip, Thigh, and Hands, they look like blue, red, or white spheres with a hexagon in the middle (or whatever shape that is)

Make sure you’re not mistaking the GrabPoints for the AnchorPoints

image

image397×375 39.7 KB

Once you’ve located the AnchorPoints, you should import whatever tool you want to be animated, for this example I’m going to be using a sword.

Go into Roblox Studio and take your tool, then in the Explorer, right click on the instance and find Export Selection… under Save/Export

image

image741×908 151 KB

Then export your tool, it will be saved as an .obj file, put the file wherever you want on

In Blender with the R6 Rig open, go to File > Import > Wavefront (.obj)

image

image325×375 33.3 KB

Then select your tool in the popup and click Import, and your tool should appear nearby

If you don’t see your tool, you might have exported it far away from 0, 0, 0,
To fix this, simply right click anywhere with the object selected, then Set Origin > Geometry to Origin

Your tool should then appear right in the middle of the viewport world

Go ahead and move your tool to a position where it would normally be held or just anywhere on one of the AnchorPoints

Then select your tool and go to the constraint tab on the right of your screen, and click on Add Object Constraint and search for Child Of

image

image588×398 39.5 KB

Then set the Target to Armature or use the eye dropper tool to select the rig itself (make sure to select the rig and not the body part)

Then set the Bone option to whatever AnchorPoint you set the tool to (labeled as RightHand, LeftHand, RightHip, LeftHip, RightThigh, LeftThigh, FrontAnchor, BackAnchor.)
If the tool moves position or does something weird, make sure to click Set Inverse at the bottom of the constraint

Now your tool will follow the AnchorPoint you set it to.

You can now enter Pose Mode and animate how you do normally, and you can move the AnchorPoint you have set to the tool and the tool will follow it, assuming you set it up correctly.

Once you’ve got your animation, export it using the blender and roblox plugin that is needed to even export the rig. (if you don’t have the plugin, see my comment here: R6 IK + FK Blender Rig - #5 by Aeresei)

Then, head back to Roblox Studio

Before importing the animation into the rig, make sure you have the tool welded to the associated AnchorPoint you had in blender.

You can do this with the RigEdit Plus plugin (which was recently made free) or the Moon Animator Easy Weld to weld the sword to the anchor point, or you can simply add a WeldConstraint with the properties set to have it stay with the AnchorPoint

Make sure the tool is NOT anchored

Then, go ahead and import your animation onto the rig I provided with the same plugin I said above, and you should see the rig animated as well as the tool!

If you intend to use the props/tools to be animated for games, then you MUST use a module that I’ve created and attached to the post, which creates anchor points on every player that joins the game.

This does not automatically load any characters, this simply has functions that you call in your own .CharacterLoaded connection

The module is above the post in the “Separate system for loading characters with Anchor Points” dropdown

Exporting

Exporting the rig is extremely easy, however if you are animating tools/props, then you must use the special studio rig I have attached in the files above.

When you’ve got your animation, you’ll need to use a special plugin made by @CAUTlONED or its outdated version made by @Den_S, either work fine for this rig.

For this tutorial, I’ll be using the one made by Cautioned.

image

image197×468 12.4 KB

If you do not have either plugins installed, then you’ll need to do that.
To do that, first go here:
Blender rig exporter/animation importer - #1628 by CAUTlONED

Then here:
https://create.roblox.com/store/asset/16708835782/Blender-Animations-ultimate-edition

With your animation, you will need to click either “Export animation” or if you’re using the one by Cautioned, you can use “Export animation to file”

Then, in studio, you can use any R6 rig, whether you use the one I provided in this post or one just from the avatar loader that Roblox has, it doesn’t matter and either work.

If you’ve added a tool and animated said tool, then you must use the studio rig I have in order to see the item move when loading the animation, if you intend to use the animation of the tool in a game setting, then you will need to use the module script I have created for this exact thing, which loads characters with the Anchor Points, see “Separate system for loading characters with Anchor Points” above.

When you have your rig added, open the plugin of your choosing and select the rig, this will set the rig you have to be the main active rig.

Then, if you’ve exported through the normal “Export animation” button in the Blender plugin, then you should have a bunch of data copied to your clipboard, so click “Import Animation” in the Roblox plugin, and then press Ctrl+V, if nothing happens then you probably copied something between instances, so just re-export.

If you’re using the plugin by Cautioned and used “Export Animation to File” in blender, then you should have a .rbxanim file somewhere on your PC, simply click “Import Animation (file(s) bulk)”, then select the .rbxanim file that you’ve saved.

From my experience, saving via file is better since it’s faster and you get to keep the animation, however exporting through clipboard is good for one-time animations you don’t intend to edit in the future.

YouTube tutorial video coming soon!

Update 1.7.1:

Redid all UVs for the entire rig, as well as making it easier to replace the shirt, pants, and face

Separated the face so it’s a plane wrapped around the head, you can now use ANY roblox face image as a face for the rig, no more weird face UVs

Optimized the entire rig by like 50%, lowering triangle count and stuff while keeping the entire rig generally the same visually

Torso should support shirt+pants combos in case your rig does not have a shirt (like a tank-top or something paired with the pants image)

Reorganized the entire Dope sheet and Outliner panels

Renamed and sorted internal stuff to a separate collection

haha i totally didn’t completely switch the arm UVs to be flipped!

This rig is NOT BEGINNER FRIENDLY, you need some knowledge with other Blender R6 rigs as well as general Blender knowledge, it doesn’t take a lot to learn the rig, however I highly recommend NOT using the rig if it’s your first Blender R6 rig, or if you just recently installed Blender. Important Notes Common Mistakes

Attaching items and weapons to the GRAB points instead of the ANCHOR points, the Grab points do NOT export to roblox, they are there so you can lock the arms IK to follow global space instead of being relative to the torso/shoulder, the anchor points will export to Roblox and should be what you attach items and weapons to via Child Of constraints.

Trying to export “_PrimaryArmature” when done with an animation, make sure you are ALWAYS exporting “_Rig” and NOT “_PrimaryArmature”

Using Export Selection... to export shirt and pants UV images, this rig is built for the default Roblox shirt and pants template images and will not work with any images exported using Export Selection... in Roblox Studio.

Mistaking Pose Mode for Object Mode, you’d think this is obvious but I’ve gotten like 4 DMs with this as the issue.

Moving the armature/limbs in Object Mode, despite being able to move the entire rig easily in Object Mode, it’s not recommended if you plan to export the final animation to Roblox, since rigs won’t be in the same location as the animation.

Animating the MasterController normally, while yes you can do this, it isn’t a good idea when dealing with walking or stuff, since the master controller moves everything, you will not have foot-planting animations when animating walking or similar, the MasterController is there so that you can position the rig only once into it’s primary location, like a beginning spot.

If you make something cool with it you should post it here, I’d like to see what the other fellow animators are doing

thinkin

RobloxStudioBeta_RC4wZOnVrF

If you have any questions you can message me through discord or email:

Discord: @distinguished_duccer
Email: dev@fancyduccportfolio.com

2025-09-19 10:50 点击量:1