Animated model without bones

Hello!
I have found the instruction about importing models with bones here: Tutorial: How to get XNA's SkinnedSample working with MonoGame I have compiled it successfully, but I understood, that my animation is quite simple and doesn’t have bones. It’s scaling and moving the cylinder, basically. So there’s an issue. Online viewers and Windows 10 Built-in 3d model viewer can show the model and animation. But I cannot figure, how to show it inside MonoGame. I tried to lookup by trial and error some properties from NodeContent, such as Animations propertly (which count is 0) and Identity.
I don’t know where to go next. I have tried to view the fbx contents, but it is binary, so I couldn’t figure out, what I should look for. Also, it seems strange, but the same model, exported to Collada and FBX looks differently. You can see, there’s strange half of circle there. And in Collada it’s absent. The same goes for some other holes, they are rendering quite badly. How can I overcome this? I am new to 3d, so I’m fine with any model format. I am using Blender.

Ok, I’ve found that I have been checking for animations in root node, and it was in child. I can see now the keyframes with matrix transforms and timestamps. But I cannot pass it to the model base class - it exits on this: https://github.com/labnation/MonoGame/blob/master/MonoGame.Framework.Content.Pipeline/Processors/ModelProcessor.cs#L277
Moreover, if I will just use

public override ModelContent Process(NodeContent input,
                                             ContentProcessorContext context)
        {
                return base.Process(input, context);
        }

I will get the same results. Why is it crashing? I’m not changing any fields, I’m just calling the base class method. Seems odd to me

Well if i remember right blender at least 2.79 put these animations in the mesh node.

Might be a similar problem.

This of course was just a testing project the console outputs a ton of debugging info if and i stress if the model will load.

As i really couldn’t get monogames model class to work for me at the time. I really don’t know enough about monogame’s internal model class to contribute on it.

nkast has one he wrote that might handle it if monogame wont.

First of all, thanks for your answer! I am quite new to animation in general, so it confuses me a lot, how should I implement this or that thing. Do I understand it properly, that rigged model loader, which you have supplied is based on the bones and skeleton of the model? I didn’t declare any of them in Blender, so I don’t think, that I can adapt this portion of your code. Oes your cube from example have bones or it just simple keyframed model? I see that it is located under assets folder in your github repo, but idk how to view its properties, because the file is binary, as well as mine outputted cannon.fbx

Ah i think i was making two points

  1. monogame doesn’t look like it can read it. (hence i posted the relevant code shown)

I am quite new to animation in general

  1. Try using nkasts mine isn’t suitable for production its basically a debugger at this stage and will probably stay that way for the foreseeable future not even gonna pick it back up till a new version of assimp.net is released.

Suggestion.

GitHub - tainicom/Aether.Extras: MonoGame Content Importers, Shaders, etc download the whole project and try loading your model.

There might be a couple others model animation loaders around that you can use you would have to search for them.

I also recommend using the Aether.Extras project. Once I figured out how to add it to my project properly, it worked very smoothly by comparison.

When I tried to use the skinned sample, I found comments in the code about how scaling wasn’t supported. I managed to get my animations to play in MonoGame, but I had scaled a portion of my model and the scaled part caused it to distort the animation and my model became warped.