this post was submitted on 11 Aug 2023
1 points (100.0% liked)

Godot: The open source game engine

1 readers
0 users here now

A community for discussion and support in development with the Godot game engine.

founded 1 year ago
MODERATORS
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/godot by /u/untune on 2023-08-11 12:39:35.


This is more of a conceptual question, rather than looking for a solution to a problem: I've been building a prototype and I want to start looking at a way to animate characters in 3D. I've not really delved into aspect of Godot yet, since I've read various conflicting bits of info about how well certain aspects of the system work.

I want to create a 3d character (a typical human for example) and I want to be able to animate that character. I want to be able to assemble that human from individual limbs (whether imported models or basic mesh primitives) as opposed to the character being a complete skinned mesh. And let's say that I want to create a simple walk cycle. Picture something as simple as a Minecraft character, or more realistically something more akin to PS1-era Resident Evil.

What are my options for implementing this? Ideally I would need to be able to animate outside of Godot (in Blender for example) and import those basic animations, with the ability to swap out each 'limb' as an individual 3d mesh node. And to be able to tweak and re-import these animations, and bring new animations in, without breaking the structure.

I can envision a scene tree hierarchy with individual limbs branching off at necessary points (head, neck, torso, upper arm, lower arm, hand etc), I am aware that Skeletal Animation is a thing in G4, but as I understand it can only be imported as a pre-built skeleton and not created within Godot itself? Would I be able to build a skeleton externally with limb 'placeholders', import that, then attach different objects to different bones at runtime? Or would this break the system?

Or is it better to create a different system that doesn't rely on bones but instead relies on the relationships between nodes in the hierarchy and the various pivots & matrices, plus an animation-based node, to create movement and rotation? Would having multiple instances of mesh nodes be inefficient (I'd imagine 16+ for a human), would there be a better way of managing it from the top of the tree (in terms of efficient draw calls etc) as opposed to letting each 'limb' node manage its own mesh data?

Will any of the native 3d model formats support such a system? It's only the limb relationship structure I'm really interested in; I plan to manage materials etc manually.

It'd be good to hear how other people have approached this, I'm aware I may be over-thinking it a bit, I just like to have a clear picture before I start getting too bogged down in the implementation.

Thanks!

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here