0
$\begingroup$

I'm working on a school project, and one of the features of the project is a haunted armor with arms of fire. In this iteration I decided to use a smoke physics object set to fire.

However, now I've noticed that the smoke domain has no faces and thus I can't tell how much weight I'm putting on it, and the emitter in the domain meant to make up the arm itself doesn't accept any sort of weight painting - no weights are altered regardless of how many times I click. For reference and context, the emitter is a part of a multi-object character parented to the same armature with empty groups - premade groups always bug out on me.

Am I doing something wrong or is this something that's impossible? And, assuming I can't weight paint a physics object without removing the physics, is there a way to save the physics and add it again after weight painting?

I'm just trying to animate the domain and emitter with the armature, but am unable to put any weights on either with weight paint. Without weights, predictably, the models do not move with the armature.

It seems to work for the most part. But now the arm overbends off the armature when posed, and I can't tell if it's due to the bone parenting or a side effect of parenting multiple objects into one armature.

For the parenting I used the parent to single bone method, except since the object (in this case, emitter) was encompassing six bones (bicep, elbow and forearm on both sides of the body) I parented the object into all three.

$\endgroup$
  • $\begingroup$ Do i understand it correctly that you want to use weight painting to define what parts of your objects are on fire? $\endgroup$ – Oliver Weissbarth Dec 13 '19 at 13:06
  • $\begingroup$ So which methods are you using? Can you share the file? $\endgroup$ – Oliver Weissbarth Dec 16 '19 at 21:17
  • $\begingroup$ Here we go, here's the file. The model in the file is exactly as the model was in the project after parenting the emitter to the arm bones, I figured this would be better than sifting through a larger file with multiple models and scenes. mega.nz/#!ODRXVAxL!xe2_56JVFhG70y7JlDGzDrYLK13mStN2i3rnhSxOKtE $\endgroup$ – Flame Modeler Dec 18 '19 at 6:55
  • $\begingroup$ There are weights painted on the emitter. The reason why you were unable to see the weight painting on the emitter was the "Display as" is set to "Wire". To fix that select the "Emitter" object, go to the "Object"-tab and under "Viewport Display" change "Display as" to solid. Now you can see the painted weights. The reason why the emitter move in a weird way is the fact that additionally to the weight paint you also parented the emitter directly to a bone. To fix that select the "Emitter" object and again in the "Object"-tab under "Relations" click the "x" next to parent. $\endgroup$ – Oliver Weissbarth Dec 18 '19 at 11:41
  • $\begingroup$ Right, this worked wonders. Thank you. $\endgroup$ – Flame Modeler Dec 19 '19 at 7:10
0
$\begingroup$

I see two ways to do that. You can either parent the domain directly to a single bone or use the "Child of" constraint.

Parent to a single bone
First select the Domain object object mode, then in pose mode select a parent bone of your character. Then press ctrl+p and select bone. Now the domain object moves with your parent bone.
Use a Child of constraint
In object mode select your domain object. Then in the properties panel go to the object constrains tab and add a new "Child of" constraint. Under "Target" select your armature and under "Bone" select the parent bone of your character. Click "set inverse" to reset the transformations. Now your domain object moves with your parent bone.

I'm not quite sure if this is recommended to do. As this will probably influence the simulation as the reference frame is moved. Not sure if this will cause problems.

$\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.