FlaxEngine icon indicating copy to clipboard operation
FlaxEngine copied to clipboard

Suggestion: Improve model workflow and make it closer to Unity's

Open ArtyIF opened this issue 4 years ago • 0 comments

Issue description (and story)

I decided to move away from Unity due to its sluggishness and recent lack of focus. Heard of Flax and decided to develop my car racing game there.

The problems began when I tried to import a car model. I use Kenney's Car Kit models in FBX format as a placeholder. When importing, I can choose between importing as a static model, a skinned model and animation.

At first I tried to import it as a static model. However, that imported it as a single monolith object, and I couldn't edit any of the child objects (body and wheels).

So I imported it as a skinned model. That also didn't let me edit any of the child objects, but it did let me use BoneSocket and animation graphs, so that's something. So, I create an animation graph to animate things like suspension and wheels turning. I'm used to doing that kind of stuff directly via scripting, plus the result graph was a bit messy and unreadable, but I could make it work.

So, I assign this animation graph to the model. After that, I go on to create a collider. I don't want box collisions because they're too simplistic, so I add a BoneSocket as a child, set the bone to body, add a collider and create a collision data asset (which I understand why you would have that data in an asset but would be nice to have these settings settable without it). And then I realize that there's no option to choose the mesh because it's imported as part of a skinned model.

Currently, there's only three types of model imports:

  • Monolithic static model that supports collision;
  • Animatable skinned model that doesn't support collision;
  • Animation.

None of these match my needs.

Suggestions themselves (TL;DR)

  1. Add an option to expose bones in the scene hierarchy so that they could be moved around via scripting or inspector when importing a skinned model.
  2. Either merge the static and skinned models (how Unity has it) or make an in-between import type (say, Animated Static Model) that lets you animate the model's bones but without deformation or blend shapes.

ArtyIF avatar Apr 06 '21 11:04 ArtyIF