As tool we will use the open source software Blender together with my m3addon.
For installation instruction please have a look at the readme file of my m3addon. If you want to make a tutorial on how to install my m3addon feel free to contact me.
To use the attached m3a file you need to import in your map and save. Then go to the Model-Tab of the Data Editor and search for "Marine".
At the right select the imported file in the "Animations (Required)" field. That's all! Marines will now wave from time to time with their hands.
To make the m3a file I did the following:
I imported the marine model into Blender 2.62 with my m3addon
I deleted all animations except the stand animation (using the M3 Animations panel of the scene tab from the properties editor)
I deleted all middle keyframes for the 3 bones of the left marine arm
I went to a frame, posed the marine arm and created rotation key frames with "i"
I used box selection and copy and paste in the graph editor to clone a few poses to other frames.
I deleted all materials, meshes, and attachment points to make the exported model smaller. They don't get used anyway!
I exported the file as m3 file with the extension m3a
It is possible to create particles with my m3addon. There is a "M3 Particle Systems Panel" in the scene tab of the properties editor:
A lot of properties of the particle system can be configured, but you can't preview the particles it in Blender yet. It offers however a possiblity to export a model with one click. It takes me about 4 seconds to get the model from Blender into the Starcraft 2 Previewer.
Ribbons aren't supported yet, but you can make a lot of particle effects already:
Particle systems with different kinds of emission areas (Sphere, Cuboid, Cylinder, Point)
Particles with different kinds of emission rate, speed, angle and spread.
Particle systems with particles with animated color, speed, size
Particle systems with random color, speed, size, lifetime,
Particle systems that create particles that don't follow the emitter (trailing particles)
Particle systems with an animated emission location, rotation and scale (via bone animation)
Particle system with animated particle images (e.g. the image shows 16 variantes of the same particle at different states, which will then be played as animation)
Particles that get slowed down or are under the effect of positive or negative gravity
More stuff, which I forgot, or don't know yet in detail for what the configuration parameters are good for.
@DrSuperEvil:
There is so much more stuff I want to add to the addon, but since I am no longer a student my free time is pretty much limited. So I have to decide between making a nice long tutorial or working on the m3addon. I hope that an user will make a better tutorial then I made. Also for learning purposes you could also simply import a marine, zergling or whatever.
By the way: The addon can now import and export attachment volumes. They can be used to mark where attack missiles can hit a model. E.g. That way you can make missiles hit the legs and head of a collosi instead of the empty center between the legs.
The point of this tutorial is not to provide the readers with a coin model, but to show them how to make models with Blender for Starcraft 2.
It is already possible to add attachment points by using the "M3 Attachment Points" panel in the scene tab.
To animate an attachment point you need currently to add a bone with the same name.
Attachment volumes aren't supported yet.
I haven't investigated in how to make turrents, but making a model with team colors is simple.
By default it uses the alpha channel of the model as team color. You can adjust that setting
in the "M3 Materials" panel of the scene.
I haven't added support for m3a files yet. Currently the exporter calculates new animation ids for the attributes.
It should however be possible to store a (blender object name, blender property path, m3 animation id) tripple when importing a model in oder to keep the animation ids the same when exporting. Maybe that's all needed to implemented the export of m3a files.
If you can't find the download button, then click here to download the newest version.
The m3addon folder with the souce needs to be placed in the addons folder
of the current Blender version. For Blender 2.69 this location is on
Windows XP at:
C:\Documents and Settings\%username%\Application Data\Blender Foundation\Blender\2.69\scripts\addons
What you want to do is called reverse engeneering. You could use that terms for a google search. I didn't need to reverse engeneer the m3 model format, since other people did that already. Credits for figuring out the m3 format go to the people I mention in the structures.xml file.
For questions about how to make a blender addon I suggest you search and ask in a blender related forum.
I first started writing the m3 library and noticed that I would be better of generating them from a XML file. Then I started the importer, which I later used to verify the exporter.
I fixed the 90 degree rotation bug. The big file size comes from some missing optimizations. The current implementation exports rotation, scale and location data of bones for all animations for all frames. Key frames don't get exported as they defined by the user since the m3 format supports only linear interpolations. By generating a key frame at each frame it's possible to simulate other curves. A possible opimization for the future would be to omit all key frames which can be calculated by linear interpolation. That should reduce the file size drasticly. Since this optimization is another source for wrong animations I don't want to implement them right now.
I am not sure what you mean with that animation duplicates. But the collosi has per default a lot of walk animations.
Thanks for your bug report. The roll value of the edit bones got calculated wrongly in some corner cases. I fixed the calculation and pushed the changes to my public repository.
Are you sure you used the most current version of the script? I fixed a edit bone import bug recently and for me it loads fine!
I suggest that you create a github account. For logged in users the m3addon repository at github will show two buttons: "Watch" and "Fork".
With "Watch" you can get yourself informed about changes to the repository. If you are interested in helping me making the script you can click "Fork" to create a copy of my m3addon at github. You can then publish your changes (e.g. your structure.xml modifications) to that copy and send me a so called "Pull Request".
Trough that pull request I will know that you have changes for me and then I can integrate your changes into my version.
To load the collosi you have to specify in the structures.xml file the unknown sections.
guessedBytesPerEntry tells you how big the structure propably is.To fix the error about the unknown section RIB_ you could add the following structure:
You can insert the structure anywhere in the list of structures. I tried to order them in a way that structures are defined first before they are referenced by another structure.
When there are no more unknown structures the addon will complain:
Exception: Field MODLV23.ribData can be marked as a reference pointing to RIB_V6
To fix that you have to go to the definition of the structure MODL in version 23 and add a refTo attribute to the field "ribData":
By the way: The addon can export now static meshes. The mesh export functionallity is very basic right now: To export a mesh there must be exactly 1 mesh made out of triangles. That mesh also must have exactly 1 UV layer. Additionally there must be at least one animation and material.
The scripts contain a lot of validation code. The interesting line of your log is the exception message:
SEQSV1.unknown1 has value 1 instead of the expected value int(-1)
So you found a model where the unknown1 field of a SEQS version 1 structure has not the value -1 but 1.
It fails because in the structures.xml file is specified that this particual field is expected to be -1:
The question of course is: what is so special about that animation sequence (SEQS speciefies one animation sequence) that
it has unknown set to 1 instead of -1.
Btw. the script has been written for python 3, it could be that causes trouble too.
With "Rescan" you let the UI search for new changes on your local disk since you started the program/refreshed last. So this option is not what you want.
In git you can download changes other people made without applying them.
In git terms you "fetch" the changes. I think it's possible trough the menu "Remote/Fetch from"Afterwards you can see the branch with my changes in the history. Just click the top of it and select "reset master branch to here". The top entry is currently "Removed a todo line that is done.". It will trow then all your changes away and give you the chosen state.
Alternatively you can "pull" changes too. Which means that you download and apply changes in one step.
To not lose any of your work by resetting I recommend you to google for more information about how git (gui) works once you get it running.
0
@zorbotron: Go
Thanks for the positive feedback! I created an video tutorial on how to make this animation with Blender:
http://www.sc2mapster.com/forums/resources/tutorials/36502-blender-how-to-create-an-animation-m3a-for-an-existing/
0.951332560834299
In this tutorial you will learn how to make an m3a file with an animation for an existing model.
As tool we will use the open source software Blender together with my m3addon. For installation instruction please have a look at the readme file of my m3addon. If you want to make a tutorial on how to install my m3addon feel free to contact me.
To use the created animation simply add it to a model in the Data Editor:
It is also possible to add animations to models in the previwer via the "Add File" menu:
To be able to import m3a files you need to change the file filter in the "Add File" dialog:
Crainy animated the story mode marine with m3a animations. You can see it in his video:
0
As a test for my m3addon I made a new Stand animation for the marine. It waves with his hand as shown in this video:
http://www.sc2mapster.com/media/attachments/27/6/NewMarineStandAnimation.ogv
To use the attached m3a file you need to import in your map and save. Then go to the Model-Tab of the Data Editor and search for "Marine". At the right select the imported file in the "Animations (Required)" field. That's all! Marines will now wave from time to time with their hands.
To make the m3a file I did the following:
0
@DaFunk86: Go
It is possible to create particles with my m3addon. There is a "M3 Particle Systems Panel" in the scene tab of the properties editor:
A lot of properties of the particle system can be configured, but you can't preview the particles it in Blender yet. It offers however a possiblity to export a model with one click. It takes me about 4 seconds to get the model from Blender into the Starcraft 2 Previewer.
Ribbons aren't supported yet, but you can make a lot of particle effects already:
@DrSuperEvil:
There is so much more stuff I want to add to the addon, but since I am no longer a student my free time is pretty much limited. So I have to decide between making a nice long tutorial or working on the m3addon. I hope that an user will make a better tutorial then I made. Also for learning purposes you could also simply import a marine, zergling or whatever.
By the way: The addon can now import and export attachment volumes. They can be used to mark where attack missiles can hit a model. E.g. That way you can make missiles hit the legs and head of a collosi instead of the empty center between the legs.
0
@chaos2night: Go
I just added an animation compression algorithm to my m3addon. Exported models should be much smaller now.
0
@DrSuperEvil: Go
The point of this tutorial is not to provide the readers with a coin model, but to show them how to make models with Blender for Starcraft 2.
It is already possible to add attachment points by using the "M3 Attachment Points" panel in the scene tab.
To animate an attachment point you need currently to add a bone with the same name.
Attachment volumes aren't supported yet.
I haven't investigated in how to make turrents, but making a model with team colors is simple.
By default it uses the alpha channel of the model as team color. You can adjust that setting
in the "M3 Materials" panel of the scene.
I haven't added support for m3a files yet. Currently the exporter calculates new animation ids for the attributes.
It should however be possible to store a (blender object name, blender property path, m3 animation id) tripple when importing a model in oder to keep the animation ids the same when exporting. Maybe that's all needed to implemented the export of m3a files.
0
In this tutorial I will explain all the steps to create an animated coin model for Starcraft 2 with Blender 2.69.
Installation
Blender is open source and can be downloaded free: http://www.blender.org/download/get-blender/
Starcraft 2 uses m3 as model format. I wrote a Blender addon which allows you to import and export m3 model files with Blender 2.69:
https://github.com/flo/m3addon/
If you can't find the download button, then click here to download the newest version.
The m3addon folder with the souce needs to be placed in the addons folder of the current Blender version. For Blender 2.69 this location is on Windows XP at:
and on Windows 7 at:
It can be that you need to create some folders if they aren't there yet.
Once the source is in place start Blender. The addon isn't active by default but needs to be enabled. To do so we need a "User Preferences"-editor.
Preparing Blender
Creating the static mesh
Assigning the mesh to a bone
Animating the model
Making the model selectable
0
@chaos2night: Go
What you want to do is called reverse engeneering. You could use that terms for a google search. I didn't need to reverse engeneer the m3 model format, since other people did that already. Credits for figuring out the m3 format go to the people I mention in the structures.xml file.
For questions about how to make a blender addon I suggest you search and ask in a blender related forum.
0
@chaos2night: Go
I first started writing the m3 library and noticed that I would be better of generating them from a XML file. Then I started the importer, which I later used to verify the exporter.
0
@chaos2night: Go
I fixed the 90 degree rotation bug. The big file size comes from some missing optimizations. The current implementation exports rotation, scale and location data of bones for all animations for all frames. Key frames don't get exported as they defined by the user since the m3 format supports only linear interpolations. By generating a key frame at each frame it's possible to simulate other curves. A possible opimization for the future would be to omit all key frames which can be calculated by linear interpolation. That should reduce the file size drasticly. Since this optimization is another source for wrong animations I don't want to implement them right now.
I am not sure what you mean with that animation duplicates. But the collosi has per default a lot of walk animations.
0
@chaos2night: Go
Thanks for your bug report. The roll value of the edit bones got calculated wrongly in some corner cases. I fixed the calculation and pushed the changes to my public repository.
0
@chaos2night: Go
Are you sure you used the most current version of the script? I fixed a edit bone import bug recently and for me it loads fine!
I suggest that you create a github account. For logged in users the m3addon repository at github will show two buttons: "Watch" and "Fork".
With "Watch" you can get yourself informed about changes to the repository. If you are interested in helping me making the script you can click "Fork" to create a copy of my m3addon at github. You can then publish your changes (e.g. your structure.xml modifications) to that copy and send me a so called "Pull Request".
Trough that pull request I will know that you have changes for me and then I can integrate your changes into my version.
0
@chaos2night: Go
To load the collosi you have to specify in the structures.xml file the unknown sections.
guessedBytesPerEntry tells you how big the structure propably is.To fix the error about the unknown section RIB_ you could add the following structure:
You can insert the structure anywhere in the list of structures. I tried to order them in a way that structures are defined first before they are referenced by another structure.
When there are no more unknown structures the addon will complain:
Exception: Field MODLV23.ribData can be marked as a reference pointing to RIB_V6
To fix that you have to go to the definition of the structure MODL in version 23 and add a refTo attribute to the field "ribData":
By the way: The addon can export now static meshes. The mesh export functionallity is very basic right now: To export a mesh there must be exactly 1 mesh made out of triangles. That mesh also must have exactly 1 UV layer. Additionally there must be at least one animation and material.
0
@JackRCDF: Go
The scripts contain a lot of validation code. The interesting line of your log is the exception message:
SEQSV1.unknown1 has value 1 instead of the expected value int(-1)
So you found a model where the unknown1 field of a SEQS version 1 structure has not the value -1 but 1.
It fails because in the structures.xml file is specified that this particual field is expected to be -1:
if you change "expeccted-value" to "default-value" the model should load(or another error should be shown:
The question of course is: what is so special about that animation sequence (SEQS speciefies one animation sequence) that
it has unknown set to 1 instead of -1.
Btw. the script has been written for python 3, it could be that causes trouble too.
0
@JackRCDF: Go
With "Rescan" you let the UI search for new changes on your local disk since you started the program/refreshed last. So this option is not what you want.
In git you can download changes other people made without applying them. In git terms you "fetch" the changes. I think it's possible trough the menu "Remote/Fetch from"Afterwards you can see the branch with my changes in the history. Just click the top of it and select "reset master branch to here". The top entry is currently "Removed a todo line that is done.". It will trow then all your changes away and give you the chosen state.
Alternatively you can "pull" changes too. Which means that you download and apply changes in one step.
To not lose any of your work by resetting I recommend you to google for more information about how git (gui) works once you get it running.