m3addon: Exporter and importer for the m3 file format (m3 is the model format of Starcraft 2) #31916

Closed
opened 2012-06-24 22:55:43 +02:00 by Florian Köberle · 13 comments

Blender: 2.69
Category: Import Export
Python: 3.2
Homepage: https://github.com/flo/m3addon/

%%%The addon allows to import and export m3 model files. M3 is the file format used by Starcraft 2.

The m3 file format does not only contain mesh and materail data, but also meta data like, Lights, Particle Systems, Projections, Forces, Rigid Bodies and many more. Since for example materials do not match Blender materials perfectly, the addon used a lot of custom collections to represent them, which can be edited via new panels in the Scene Properties Tab.

In order to simplify the editing of the meta data which has something like an "impact area", the addon uses bones with custom shapes in order to outline for example the spawn area of m3 particle systems.

Files of the m3addon:

  • init.py: Defines all the UI and custom properties
  • m3.py: Blender independent library for loading and saving m3 files.
  • structure.xml: An XML file which describes the m3 file format. Used by m3.py
  • m3import.py: Provides a method for importing m3 files into Blender
  • m3export.py: Provides a method for expriting m3 friles from Blender
  • shared.py: Place for code shared by init.py, m3import.py and m3export.py
  • calculateTangents.py: Contains logic for calculating the tangents.
  • README.md: Description of the m3addon with a feature list

Utility scripts contained in the m3addon:

  • m3ToXml.py: Script to convert m3 to xml.
  • xmlToM3.py: Script to convert xml files (in the format of m3ToXml.py) to the m3 file format
  • transferAnimations.py: Merges the animations of one m3/m3a file into another m3 file.
  • transferAnimationIds.py: Makes a m3a (contains animations for m3 files) compatible with an m3 file based on bone names.
  • listOffsets.py: Lists the calcualted offsets of an m3 data structure defined in structures.xml
**Blender**: 2.69 **Category**: Import Export **Python**: 3.2 **Homepage**: https://github.com/flo/m3addon/ %%%The addon allows to import and export m3 model files. M3 is the file format used by Starcraft 2. The m3 file format does not only contain mesh and materail data, but also meta data like, Lights, Particle Systems, Projections, Forces, Rigid Bodies and many more. Since for example materials do not match Blender materials perfectly, the addon used a lot of custom collections to represent them, which can be edited via new panels in the Scene Properties Tab. In order to simplify the editing of the meta data which has something like an "impact area", the addon uses bones with custom shapes in order to outline for example the spawn area of m3 particle systems. Files of the m3addon: - __init__.py: Defines all the UI and custom properties - m3.py: Blender independent library for loading and saving m3 files. - structure.xml: An XML file which describes the m3 file format. Used by m3.py - m3import.py: Provides a method for importing m3 files into Blender - m3export.py: Provides a method for expriting m3 friles from Blender - shared.py: Place for code shared by __init__.py, m3import.py and m3export.py - calculateTangents.py: Contains logic for calculating the tangents. - README.md: Description of the m3addon with a feature list Utility scripts contained in the m3addon: - m3ToXml.py: Script to convert m3 to xml. - xmlToM3.py: Script to convert xml files (in the format of m3ToXml.py) to the m3 file format - transferAnimations.py: Merges the animations of one m3/m3a file into another m3 file. - transferAnimationIds.py: Makes a m3a (contains animations for m3 files) compatible with an m3 file based on bone names. - listOffsets.py: Lists the calcualted offsets of an m3 data structure defined in structures.xml

Changed status to: 'Open'

Changed status to: 'Open'

%%%Uploaded the current version to this tracker.

The major improvements compared to the previous version are:

  • Import and export of m3 lights, forces, rigid bodies and model boundings
  • Rough shape visualization of lights, physic systems, hit tests, rigid bodies and forces
  • Import and export of animations that animate only a part of the model while another animation runs.%%%
%%%Uploaded the current version to this tracker. The major improvements compared to the previous version are: * Import and export of m3 lights, forces, rigid bodies and model boundings * Rough shape visualization of lights, physic systems, hit tests, rigid bodies and forces * Import and export of animations that animate only a part of the model while another animation runs.%%%

I would like to upload a version which is compatible with 2.69 and has a ton of new features and bug fixes but I can't find a upload button.

Also the description is outdated. The newest version of the m3addon no longer generate the m3.py file. Instead the new m3.py file parses the structure.xml file in order to figure out how to import and export m3 files.

I would like to upload a version which is compatible with 2.69 and has a ton of new features and bug fixes but I can't find a upload button. Also the description is outdated. The newest version of the m3addon no longer generate the m3.py file. Instead the new m3.py file parses the structure.xml file in order to figure out how to import and export m3 files.
Member

Added subscribers: @Sergey, @brecht, @dmcgrath

Added subscribers: @Sergey, @brecht, @dmcgrath
Member

As mentioned on IRC, you can just change the "Action" drop down box here to "Upload File" to attach another file to the report.

As for editing the tasks, I don't know why you are not allowed to edit your own descriptions, but @brecht or @Sergey may know?

As mentioned on IRC, you can just change the "Action" drop down box here to "Upload File" to attach another file to the report. As for editing the tasks, I don't know why you are not allowed to edit your own descriptions, but @brecht or @Sergey may know?

Uploaded the current version of the m3addon which is compatible with Blender 2.69.

Uploaded the current version of the m3addon which is compatible with Blender 2.69.

We should automatically allow authors to edit their descriptions but we need to do some coding for that, for now I've given you some extra permissions so you can edit the description.

We should automatically allow authors to edit their descriptions but we need to do some coding for that, for now I've given you some extra permissions so you can edit the description.

Also, upload can be done using drag & drop into the text field (there's a little upload button in the header that tells you this but it's not so obvious).

Also, upload can be done using drag & drop into the text field (there's a little upload button in the header that tells you this but it's not so obvious).

Thanks for the permissions brecht, I updated the description.

Thanks for the permissions brecht, I updated the description.
Member

Removed subscriber: @dmcgrath

Removed subscriber: @dmcgrath
Member

Added subscriber: @BrendonMurphy

Added subscriber: @BrendonMurphy
Member

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Brendon Murphy self-assigned this 2015-09-14 11:54:04 +02:00
Member

Archiving, op over 3 years old, no activity 2 years.
@florian-5, I noticed your git page does well, better to keep distributing & maintaining in your page.
Thanks for submission.

Archiving, op over 3 years old, no activity 2 years. @florian-5, I noticed your git page does well, better to keep distributing & maintaining in your page. Thanks for submission.
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#31916
No description provided.