I am creating a game in LWJGL with Java that will feature growing animals that will be imported as OBJ files from Blender.

If I wanted these animals to grow, would I create a full sized 3D model and then shrink it via code and have it grow up, or would I have a small sized 3D model and have it expand in the game to full size?

  • \$\begingroup\$ You should decide that yourself. If you want to make smaller versions look different, then you need to have multiple models, but if it doesn't change the shape, then the scaling thing should be sufficient \$\endgroup\$ – Bálint Mar 9 '17 at 21:35
  • \$\begingroup\$ Thank you. I decided that I would create a large scale and shrink it in game to then be grown as that would create consistent graphics quality and detail. :D. \$\endgroup\$ – Intel_I7_Inside Mar 9 '17 at 22:00

The nice thing about 3d models is that you can scale them fluently. So whether you model them on fully grown scale and then scale them down or model them as foals and scale them up is left to your personal preference.

However, you might want to take into account that most animals change proportions while growing. Young animals tend to have stubbier legs and larger heads compared to their torsos. Or in other words, younger animals are "cuter". If you want to simulate that, you need an individual scaling factor for each bone of your 3d models.

Another option is to have multiple growth stages per animal and use a different 3d model for each. That gives you the most control over how the animal looks in each stage. That's especially appropriate for animals which look very different in different growth stages (most birds, for example). The aesthetic disadvantage is that animals will go into the next growth stage with a visible "pop". But that clear visual distinction can also be an advantage if it is important for your players to see quickly which animal is in which growth stage (for example if you want the player to look at their herd of cows and to immediately realize "I got 6 baby cows which consume milk, 4 adolescent cows which produce milk and 3 old cows which should have been slaughtered ages ago - why is my butcher not working?").

| improve this answer | |
  • \$\begingroup\$ It is possible to make a progressive transition between the modles for the different growth states to avoid the "pop" by using shape interpolation. It is more labour-intensive than scaling the bones, yet it can potentially yeild better results. \$\endgroup\$ – Theraot Mar 11 '17 at 14:45
  • \$\begingroup\$ Thank you very much, I have decided to create multiple models for each of the animals for different stages while growing. In between the switch, it will scale the current model up. \$\endgroup\$ – Intel_I7_Inside Mar 11 '17 at 22:20

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.