Here is my model link

I need to import this model in three.js and then modify its bones to dynamically set the length, width and height of the packaging box. enter image description here

This is how to modify the bones to change the height of the packed box, I tried adding other face bones to modify the length and width, but the box became distorted

  • $\begingroup$ Would scaling be an option? $\endgroup$
    – Blunder
    Oct 19, 2023 at 19:10
  • $\begingroup$ Scaling will affect the proportion of the lid of the express box, causing it to fail to close $\endgroup$
    – KsL
    Oct 20, 2023 at 2:32
  • $\begingroup$ Oh, I see. With a non-uniform scale the rotated bones act really wonky. $\endgroup$
    – Blunder
    Oct 20, 2023 at 17:16

1 Answer 1


Here is a try but I don't know if it works when exported to Three.js.

animation of a scaled box that opens and closes
There should a rabbit jump out at the end...

The mesh is a box that is open at the top. It's deformed by the Scale bone. The 4 side parts and the bottom are assigned to the Scale vertex group with a weight of 1.0.

There are also 4 loose mesh parts as "lids" to close the box. Each of these parts is assigned to a bone via a vertex group. You can join all parts into a single object if you like.

The 4 lids bones (Top-X) are children of the Scale bone which is a child of the Root bone. The Root bone is just a control bone to move the box. It has the [_] Deform checkbox not set.

If you align all deformation bones to the global axis and set Inherit Scale to Algined for the Top-X bones then the rotation works with a non-uniform scale, e.g. scale = (1.0, 0.5, 2.0). Otherwise, the lid panel grows and shrinks while it is rotated.

box with bones


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .