IrrAssimp Issues

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
dart_theg
Posts: 22
Joined: Sun Dec 29, 2024 3:13 am

IrrAssimp Issues

Post by dart_theg »

I'm trying to allow the use of Assimp + IrrAssimp so I can use .fbx animations, but replacing my mesh loading with IrrAssimp's flips .obj models horizontally and mangles the .mtl order. It also does not even load the .fbx files properly and .x files are invisible. Is there a comprehensive setup for these two because I've seen other forums posts and they do not mention these issues.

Irrlicht loading a .obj (room) and .x (Class-D)
Image

Using IrrAssimp on the same scene:
Image
(Also you can see it mangled the Class-D character, the little black specs at the bottom of the image)

Any help would be appreciated! I can use .x fine but I much prefer the range of options Assimp provides.
n00bc0de
Posts: 85
Joined: Tue Oct 04, 2022 1:21 am

Re: IrrAssimp Issues

Post by n00bc0de »

I could be wrong but I don't think anybody is currently maintaining IrrAssimp so you might need to fork it and make the changes you want. From looking at the image you provided I can probably guess that Assimp might be having issues with either materials with multiple textures or scene nodes that are using multiple materials.

Have you tried manually setting the texture levels of your material?
dart_theg
Posts: 22
Joined: Sun Dec 29, 2024 3:13 am

Re: IrrAssimp Issues

Post by dart_theg »

No, I've been directly setting the material. I'm not too sure if this is good practice however.
n00bc0de
Posts: 85
Joined: Tue Oct 04, 2022 1:21 am

Re: IrrAssimp Issues

Post by n00bc0de »

dart_theg wrote: Mon Jan 13, 2025 5:09 pm No, I've been directly setting the material. I'm not too sure if this is good practice however.
If this scene is using one material, then your texture levels are getting swapped somehow. If its using multiple materials then you are setting the wrong texture on each material. Both are an easy fix. You can access the material on your node by doing node->getMaterial() and then calling setTexture() or just doing node->getMaterial() = your_custom_material.
Post Reply