I do have a small question... What does that xml file (as update is concerned) now really do? I still can't seem to open up a lot of files I previously couldn't.
Without going highly technical you could think of this file as a map of M3 format. Which purpose is to describe how to turn the binary data behind it, to meaningfull a structure of nodes/elements. Where each node describes different part of the model. What in the end allows it to import/export data to modelling programs, as long as they follow the structure described.
Even though this schema file is ambiguous, as in it could be used by other software, currently only m3addon does it.
Due to complexity of the format, there's still a lot of quirks regarding it unkown/undocumented. Not to mention, it has been evolving through the years since the release (and still is). Each release has been versioned, and brought new features which affected how the binary data is distributed along it.
There's simply no full coverage. The reason why certain models can't be imported, or are imported improperly is because model contains something, that hasn't been documented and included in the schema. Or there are bugs within the code translating already loaded data, into Blender environment.
M3Addon actually attempts to load data in quite a strict mode. And often times, once it encounters something contrary to the schema, it will cease the process and output error. While other importers made for M3 have more speculative import process implemented I believe. And rather skip some unknown chunks of data, and attempt to load relevant sectors in usual manner. What always gives you something - even if incorrect. Other times, they crash hard :)
Anyway, quite often import errors occuring in m3addon can be resolved by just filling missing gaps within the scheme file. Of course that requires some understanding of how is it all connected. Author of the plugin actually documented some of the common problems, and how can they be resolved.
In this particular case, the problem was relatively easy to resolve - even with all things said above, my understanding of m3 format, modelling stuff, and general graphic rendering subjects is quite poor, really. Anyway, the cause of the error was a result of the strict behavior in method responsible of loading mesh vertices. There was one flag not covered by the schema file. And this flag turned out to to be relevant in this case, to get the model right.
Unfortunately author doesn't actively work on the plugin anymore, and no one else competent stepped in to provide furher support for Blender. Partly because there is more focus given into 3ds Max, what's not suprising.
Anyway, while my knowledge on this field is poor as I said, if you want badly some model imported into blender, and it results in error, I guess I could give it it a look.
hmm.. for such a small question, I probably put up too long answer, haha
This actually does help! This does provide some more understanding in the entire matter. In a similar way as you perhaps, I do know how to use the tools in Blender, but as for the code that goes behind it.. I'm utterly lost. Not a programmer at heart or anything so.
Well, reason why I asked is that for some Tal'Darim units and structures and most of the post Nova-Covert-Ops related models they no longer can be imported (at least the ones I tried.) At first I believed the updated xml file accounted for something of these "new generation" stuff that it could be handled but I was wrong there XD.
On the help you offered, I'll be sure to look you up should I come in dire need of it. Thanks man!
Hallo, thank you dear person for reading my plead for help!
Im getting errors when importing SpaceDockEngineSmall.m3 into blender.
I'm using Cascview, Blender 2.79 and M3AddonMaster
https://imgur.com/a/E3m0p
The model in question stores vertices in a format currently unsupported by m3addon.
However, I did investiagate it further and was able come up with a fix.
Fix was sufficient to successfully to import and export back model to m3.
Here is updated: structures.xml (schema file that plugin uses for a reference)
You just have to replace it with the one currently exisiting in m3addon folder.
(I'll later submit the patch to plugin maintainer.)
Previously known as: SomeoneTookMyNameTT
I do have a small question... What does that xml file (as update is concerned) now really do? I still can't seem to open up a lot of files I previously couldn't.
So what is it good for?
Custom Campaign Initiative
Without going highly technical you could think of this file as a map of M3 format. Which purpose is to describe how to turn the binary data behind it, to meaningfull a structure of nodes/elements. Where each node describes different part of the model. What in the end allows it to import/export data to modelling programs, as long as they follow the structure described.
Even though this schema file is ambiguous, as in it could be used by other software, currently only m3addon does it.
Due to complexity of the format, there's still a lot of quirks regarding it unkown/undocumented. Not to mention, it has been evolving through the years since the release (and still is). Each release has been versioned, and brought new features which affected how the binary data is distributed along it.
There's simply no full coverage. The reason why certain models can't be imported, or are imported improperly is because model contains something, that hasn't been documented and included in the schema. Or there are bugs within the code translating already loaded data, into Blender environment.
M3Addon actually attempts to load data in quite a strict mode. And often times, once it encounters something contrary to the schema, it will cease the process and output error.
While other importers made for M3 have more speculative import process implemented I believe. And rather skip some unknown chunks of data, and attempt to load relevant sectors in usual manner. What always gives you something - even if incorrect. Other times, they crash hard :)
Anyway, quite often import errors occuring in m3addon can be resolved by just filling missing gaps within the scheme file. Of course that requires some understanding of how is it all connected. Author of the plugin actually documented some of the common problems, and how can they be resolved.
In this particular case, the problem was relatively easy to resolve - even with all things said above, my understanding of m3 format, modelling stuff, and general graphic rendering subjects is quite poor, really. Anyway, the cause of the error was a result of the strict behavior in method responsible of loading mesh vertices. There was one flag not covered by the schema file. And this flag turned out to to be relevant in this case, to get the model right.
This was it: https://github.com/flo/m3addon/pull/38/commits/8f4ff44ee995dabeff83d41655627be02c3aaa42
Unfortunately author doesn't actively work on the plugin anymore, and no one else competent stepped in to provide furher support for Blender. Partly because there is more focus given into 3ds Max, what's not suprising.
Anyway, while my knowledge on this field is poor as I said, if you want badly some model imported into blender, and it results in error, I guess I could give it it a look.
hmm.. for such a small question, I probably put up too long answer, haha
Previously known as: SomeoneTookMyNameTT
In reply to Talv_:
At first I believed the updated xml file accounted for something of these "new generation" stuff that it could be handled but I was wrong there XD.
On the help you offered, I'll be sure to look you up should I come in dire need of it.
Thanks man!
Custom Campaign Initiative
I'm actually encountering an error too:
TypeError: bpy_struct: item.attr = val: enum "4" not found in ('0', '1', '2', '3
')
location: <unknown location>:-1
location: <unknown location>:-1
It seems to happen when I recently extract an .m3 file and then try to import it in Blender.
Uhm, that error doesn't tell a lot - is it a full message you've got? There should be stack trace. (Maybe in console view).
bpy_struct is like a superclass thing in terms of Blender API for addons.
Previously known as: SomeoneTookMyNameTT