1
$\begingroup$

So I was following this guide of creating a low poly person and rigging it, and as you can see he created a person from multiple cubes and spheres and connected them to one rig manually, by selecting each object and connecting it to a proper bone. That works beautifully and it's simple, intuitive, and fast to me.

Now I wanted to import my model with working rig to Unity, and he also has this guide. The first problem is that he uses a model that is a single object, so I just use Ctrl + J to merge all cubes and spheres into one object, but it breaks the rig completely. Here he uses automatic weights and weight paint, and both of these work terribly in my case. I wouldn't have such a big issue with facts like the forearm actually moving some bits of my legs as well if the weight paint tool wasn't so painful to use for me. I struggle so much to remove every bit of paint anywhere besides where it should be and, even if I succeed, I can never get it to work as it used to while using the first method (like forearm scaling down and leaving the bone while rotating for whatever reason).

Is there any way to somehow merge these objects and keep the skeleton working? I do realize that the rig breaks because references break when I merge the objects, but there's a couple of reasons why I wanted it to be a single object, like changing the center of the whole object to the bottom and make it work so I can animate it with Unity.

$\endgroup$
10
  • $\begingroup$ what does your character look like, is it made of several pieces like in the first tutorial you cite? The 2 methods are completely different, in the first case it's like a simple parentage, while in the second case when you parent With Automatic Weight it creates vertex groups in your character that are supposed to be controlled by the bones that have the same name. If your character is made of several separate pieces and you want to join them, rather use the With Empty Groups parenting method, then assign each part each group in the Vertex Groups list $\endgroup$
    – moonboots
    Apr 1 at 14:26
  • $\begingroup$ if your character is made of one piece, then you need to go through the second method (Withe Automatic Weight) and give some correction, either in Weight Paint mode, or with the Assign button under the Vertex Groups list $\endgroup$
    – moonboots
    Apr 1 at 14:31
  • $\begingroup$ As I said, my character is made of several pieces like in the first video and it's working perfectly, but I want to import it to Unity, which I guess I have to make into a single object., but that breaks the rig and I have to use the weight paint, which is a pain to use. $\endgroup$
    – Hakej
    Apr 1 at 14:45
  • 1
    $\begingroup$ you don't have to use the weight paint, use the method I describe, i.e. parent With Empty Groups, then go into the Properties panel > Object Data > Vertex Groups, select the vertices you want in your object in the 3D view, then select the vertex group these vertices are supposed to be part of, and click on the Assign button under the Vertex Groups list $\endgroup$
    – moonboots
    Apr 1 at 14:47
  • 1
    $\begingroup$ I think you misunderstood, what you need to do: select all your objects, join them with Ctrl J, select the object, shift select the armature, press Ctrl P > parent With Empty Groups (which is going to create vertex groups in your objects but no vertex is assigned for the moment), go in Edit mode, select one part of tour object (example: the head), go into the Properties panel > Object Data > Vertex Groups, select the head vertex group (i.e. the vertex group that has the name of the bone that is supposed to control the head), click the Assign button under the Vertex Groups list, and so on... $\endgroup$
    – moonboots
    Apr 1 at 15:37
0
$\begingroup$

For the rigging of machines / robots / non-organic objects, etc. you have 2 methods.

If you want to keep separate objects, use basic parenting: Select on piece, shift select the armature, switch to Pose mode, select the bone you want and CtrlP > Bone

If you want to join all your objects into on (i.e. your case), parent with vertex groups:

  • Select all your objects, join them with CtrlJ
  • Select the object, shift select the armature, press CtrlP > parent With Empty Groups (which is going to create vertex groups in your objects but no vertex is assigned for the moment)
  • Go in Edit mode, select one part of tour object (example: the head), go into the Properties panel > Object Data > Vertex Groups, select the head vertex group (i.e. the vertex group that has the name of the bone that is supposed to control the head), click the Assign button under the Vertex Groups list, and so on
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.