c4d awd2 exporter

Software: Away3D 4.x

80prozent, Sr. Member
Posted: 25 July 2011 03:42 PM   Total Posts: 430


i have some questions about awd2-format:

- any news about a c4d awd2-exporter plugin ?

- is the awd2-format still under development ?

- is the awd2-format capeable of storeing blendshapes/morphtargets ?


sorry…i hope my actionscript is better than my english…


Richard Olsson, Administrator
Posted: 25 July 2011 07:21 PM   Total Posts: 1192   [ # 1 ]

No plans for a C4D exporter right now. There was a contributor offering to help with this, but as I haven’t spoken to him in quite a while I can’t promise that it will happen until later in the year, or even early next year.

The AWD2 format is still in development, but it’s approaching final 2.0 version rapidly. From there it will most likely evolve rather quickly through the first couple of dot-releases, 2.1 and 2.2 during the last months of this year and first half of next. With that said, people are already using it so it does work. It’s just not yet guaranteed not to change, which means that your models might still break with an update to the format. The main feature that is planned for 2.0 but still missing is shading support in materials, and I’m working on that as we speak.

AWD 2.0 will not support morph target animation. Expect it in 2.1 or 2.2. The initial 2.0 version does however support skeletal animation and UV animation.


George Profenza, Newbie
Posted: 25 July 2011 09:09 PM   Total Posts: 3   [ # 2 ]


I am the lousy contributor Richard mentioned. With Richard’s help I managed to put together a basic script that exports geometry(v.basic demos here: http://www.disturbmedia.com/wiki/How_to_get_started_with_the_Molehill_API_and_Away3D_40.html#Examples). Unfortunately I got caught up with work and MA applications/portfolio preparations and had to pause my work on the C4D exporter. My apologies. I wish I had more time for the exporter. I can’t promise an exact date, but I will try to keep up with the AWD2 format.

Regarding morph target animation, I’ve managed to export morphs from C4D R11.5 and recreate them in Blender 2.49. The API changed slightly in C4D, but the core is the same.

Hopefully by the time morph target animation is part of AWD 2.x my exporter script will be ready.


Richard Olsson, Administrator
Posted: 25 July 2011 09:13 PM   Total Posts: 1192   [ # 3 ]

I just want to clarify that I never meant to imply that George was a bad contributor. On the contrary I do not want to take the work of any of your contributors for granted, which is why I didn’t want to promise anything without first talking to George.

If you desperately need morph target animation in AWD2 and can’t wait until it’s supported, you could animate each target as it’s own mesh, and after parsing in Away3D use the parsed geometries to set up the morph animation manually.


80prozent, Sr. Member
Posted: 26 July 2011 11:10 AM   Total Posts: 430   [ # 4 ]

thanx for the infos.

i can wait for blendshape to be implemented in awd2.1 or later, but there are a lot of other c4d specific things i also would like to import over to away. (for example xpresso-connections, modifier and cloner objects)

ive started to write some phyton script myself, that lets me export c4d objects into a xml-file, but since i got to focus on my daytimejob (not 3d-related) i am only making slow progress.

@george: are you planning on building a c4d-awd2 importer too? i would really love to be able to export a rigged-model to away3d, create some animation-data in actionscript and export it with new animationdata back to c4d to use it in high-qualitiy renderings.




sorry…i hope my actionscript is better than my english…


Fab4ce, Jr. Member
Posted: 29 July 2011 07:25 AM   Total Posts: 44   [ # 5 ]

Here´s another guy observing the development of AWD2 for C4D. I thought it is for sure that there will be an exporter on final release 4.0?!? For me it would be enough to have a stable export format that does support skeletal animation and UV animation….aaah..even without animation. (The obj and dae export for 3.x were really crappy)
Looking forward to just have an export directly from C4D.


George Profenza, Newbie
Posted: 31 July 2011 12:22 PM   Total Posts: 3   [ # 6 ]

Regarding xpresso-connections/modifiers/cloner objects I am not sure if/when/how that will integrate with awd. It depends on how you map those parameters to Away3D existing objects.
Getting modifiers/clonder objects should be fairly straight forward as you need to walk up the hierarchy of your object using GetUp().
Here’s a basic example that returns the count for a Cloner object applied to the currently selected object in C4D:

import c4d
from c4d import 
mod op.GetUp() 
mod.GetName() == 'Cloner'):   
mod[c4d.ID_MG_MOTIONGENERATOR_MODE] == 1):    print mod[c4d.MG_LINEAR_COUNT]
if(mod[c4d.ID_MG_MOTIONGENERATOR_MODE] == 2):    print mod[c4d.MG_RADIAL_COUNT]
if(mod[c4d.ID_MG_MOTIONGENERATOR_MODE] == 3):    print mod[c4d.MG_GRID_RESOLUTION] 

You’ll probably need to loop through different nested objects depending on your setup, but it shouldn’t be too difficult.
I’m afraid I haven’t used XPresso from Python in C4D (though I’ve spotted c4d.modules.graphview.XPressoTag which I imagine is the starting point)

As I mentioned earlier I’m not doing great with spare time lately, but hopefully I could help here and there when I have a chance.

I haven’t thought about an c4d-awd importer yet, though it would be nice. Need to get the basics out of the door first, then carry on.

Sorry, but I can’t give you exact details when the exporter would be ready. I’m hoping it won’t be too long.


80prozent, Sr. Member
Posted: 31 July 2011 01:09 PM   Total Posts: 430   [ # 7 ]

@george: thank for infos. i decided to do some further work on my own exporter.
what i got this far is export of textured objects, including material selections and morphtargets

i couldnt figure out how to read the points of a morph-target in c4d (seems not to be supported by py4d), so to be exported, a morph-target needs to be stored as a mesh, placed as a children of the mesh it should affect and needs to be named with the ending “_shape”.

the next things i am going to implement:

point selections
skeleton animation
cloner object (like you said it should be straight forward)
modifiers (hope they going to be supported by away3d one time)
userdata (main focus on float/int - sliders controlling a value)
xpresso (constrain objects positions/rotation to another object)

this far i didnt care about file-size at all. I just read the c4d-Objects and store the data into xml. this is my first python-script, so its a lot easier for me to reorganize/compress the data in as3 and export again.


sorry…i hope my actionscript is better than my english…


George Profenza, Newbie
Posted: 31 July 2011 02:27 PM   Total Posts: 3   [ # 8 ]

I remember having some issues with morph targets and had to go for a hacky solution:
-store animate mode and change it to true if it’s not already
-for each track:
  - store the original curve value
  - set the curve value to 1.0
  - update the interface
  - store/cache the vertices for that pose
  - restore the previously saved original curve value
  - loop through the keys and get their values
-restore animate mode when finished

In short, for each morph: store the slider values, set it to 1, get the vertices, restore slider value and continue fetching the timeline/track values.

This worked for basic setups.
Later I ran into situations where I had a fairly complex hierarchy, each member having transformations applied, so I ended up getting a clone of the object I needed without adding it to the view (GetClone(0)) and setting the transformation matrix on that( copy.SetMg(original.GetMg()) ) which, transform wise, collapsed the whole hierarchy and allowed me to store the values I needed.



80prozent, Sr. Member
Posted: 31 July 2011 05:41 PM   Total Posts: 430   [ # 9 ]

@george: i understand the solution for getting the morph targets, but since i really just started with python, i think i am going to stick with my dirty “store morph in mesh”-method. I will give it a try after i have finished implementing stuff like cameras and lights.
Today i managed to export weight-data, cubes, spheres and splines.

i got to do some other stuff right now, but i am trying to get a rough c4d to away3d solution for rigged objects asap.


sorry…i hope my actionscript is better than my english…


Fab4ce, Jr. Member
Posted: 01 August 2011 09:43 AM   Total Posts: 44   [ # 10 ]

Which way would you guys recommend exporting a mesh with texture at current state, right now?

I mean, did you try any pipeline like C4D -> Maya -> AWD2 -> Away3D ?

The DAE format is not supported right now and with the OBJ from C4D i have no luck… mesh is there but texture doesn´t appear in Away 4.x.


80prozent, Sr. Member
Posted: 01 August 2011 02:59 PM   Total Posts: 430   [ # 11 ]

when the first examples of away3d 4 were released, i could export a textured mesh from c4d as obj, but with the latest source, it throughs errors.

i think going from c4d to maya (maybe via fbx) and than to obj should work.

i do not have 3dsmax or maya, so i cant tell you for shure.

if you are using c4d r11 you could try exporting via “Riptide Pro Plugin”.

hope that helps


sorry…i hope my actionscript is better than my english…


80prozent, Sr. Member
Posted: 13 August 2011 04:16 PM   Total Posts: 430   [ # 12 ]

a quick update on my c4d to xml to away3d stuff:

i managed to export and import in away3d:

- scene hirarchy (no double names allowed)
- primitives (sphere,cube,plane,cube,cylinder)
- lights (only point lights for now)
- cameras (only standart camera for now)
- standart-materials:
    - texture shader (color, intensity, texure-path)
    - normal shader (texture-path)
    - other shaders will follow
- meshes:
    - meshes are triangulated before export
    - vertex,index and uv buffer exported ready to use for away3d
    - split mesh in submeshes by polygon-selection that restrict texture tags
    - skeleton data (joint hirachy)
    - weightsbuffer and jointindexbuffer ready to use for away3d

still applying the skeletonanimation to the mesh is not working for me…

by copying some of georges c4d-collada-export-script i managed to export morphshapes too.

working on the morphtag export i realized how powerfull c4ds morphtag is. it stores point, position, rotation, scaling, uv, parameter and mapping (weight-maps and vertex-maps) state of an object and even its whole child-hirarchy.
even things like primitives, cameras and lights can have morphtags that controlls their parameters.

i definitly will give it a go, but exporting morphtags that control a whole hirachy of meshes (that possible could have their own morphtags too) is quite a task….

hope i can show some results soon…




sorry…i hope my actionscript is better than my english…


Fab4ce, Jr. Member
Posted: 11 November 2011 10:51 AM   Total Posts: 44   [ # 13 ]

3 months later any news about the c4d awd2-exporter plugin ?

Can i try the “c4d to xml to away3d stuff” ?


80prozent, Sr. Member
Posted: 11 November 2011 05:52 PM   Total Posts: 430   [ # 14 ]


of course you can test my c4d-away3d-bridge.

i will not be able to upload it before sunday (wont see my pc till then).

if i havent uploadet it on sunday evening please remined me again.



sorry…i hope my actionscript is better than my english…


Fab4ce, Jr. Member
Posted: 14 November 2011 04:35 PM   Total Posts: 44   [ # 15 ]

reminder smile



Away3D Forum

Member Login