Use Away3D for a non-interactive, machinima-like 3d application?

Software: Away3D 4.x

yannischris, Newbie
Posted: 16 January 2012 05:22 PM   Total Posts: 4

Hi all,
I am currently a CS PhD student and my research is on knowledge engineering and particularly on modelling film direction knowledge.

For the purpose of conducting some experiments, I have been searching the web to find a high-level, open-source 3D engine/API, preferably for Java but any other suggestion would be useful, with fair documentation/tutorials and an active community, that will enable me to easily generate some basic “film scene” examples programmatically, without having to go in the deeps of 3D programming. And this has to be done through code, rather than in some 3D platform like 3DMax or Blender.

For example I may need to generate a room, then place some objects (e.g. furniture, everyday-objects) and some human characters in it, and then create basic animations for the characters (e.g walk, sit on a chair or lie on a bed, bend, make simple gestures such as wave, point, hug or grab an object, etc). I will also need to move the characters around, so I need to be able to create motion paths (straight or curved) for translating the characters and the camera in space along these paths, or define the position/orientation of objects frame-by-frame by providing pre-calculated values for translation/rotation for each frame. And all these need to be done programmatically, i.e. through code. Finally, regarding animation, I need to load meshes of 3d models (in some format) together with their animations, and then activate/deactivate the animations through code. And also I may need to activate more than one animations simultaneously (e.g. walking cycle and waving hand simultaneously).

I have spent a lot of time checking out a large number of 3d/game engines and the truth is I have got quite confused… I don’t have any experience in 3D programming and for that reason I need the API to be as high-level and easy-to-understand as possible. Note that I don’t care about audio, networking or high rendering quality. Also I don’t want this to be interactive at all (as opposed to games). I just need to generate a rendered clip through code, according to a number of specific directives.

I came across Away3D and it sounds really promising! But I am wondering whether Away3D would be the optimal solution for what I need to do.

I will very much appreciate any opinion/tip/hint!

   

Avatar
theMightyAtom, Sr. Member
Posted: 17 January 2012 11:25 AM   Total Posts: 669   [ # 1 ]

OK, I’m making the assumption you want to make a kind of animated storyboard?
It’s a nice idea.

easily generate some basic “film scene” examples programmatically

I guess everything is relative, but it’s not going to be easy, no matter which platform you elect to use.
Setting up the scenes, in low detail, not a problem.
Having actual animated 3D figures in you mock up scenes will be extremely difficult and time consuming. I think this would be a good place to compromise if you want something usable in a reasonable timeframe. I would use “cardboard cuttouts” of your characters. They could be moved around to explain the scene, and even switched between body positions. This would present the mechanics of the scene (i.e. camera, actor, prop positions/movements) without trying to replicate the actual performance of the actors. You could annotate the scene (the same way you would make notes with a storyboard) as it runs, fulling in any important details, without having to constantly find/create appropriate animations.
( for example, as soon as the actor has to fall down the stairs, you’ve just made yourself 2 days of animation work!)

I would choose a black and white sketch aesthetic, and avoid using lights. You will never achieve anything like stage lighting in any case. Of course you could have symbols representing lights if you wanted to include lighting positions, but generally these need to be decided on set.

If you do need realistic moving characters, well then you’d best invest in a low-budget Mocap set-up. I’ve made a tutorial of how to get that data into Away3D.

I’d like to hear more about your idea. As a film maker turned 3D programmer it’s definatley very interesting. If you do choose Away I’d be glad to share some experience, support and perhaps some code.

Good Luck, and don’t forget to post your progress :O)

 

   

yannischris, Newbie
Posted: 18 January 2012 03:33 PM   Total Posts: 4   [ # 2 ]

Hello again and thanks for the quick and very helpful reply!
Yes you are absolutely right! What I want to do is a prototype application that generates animated sotryboards. But don’t imagine anything fancy.. I don’t care at all about detail in character modelling or animation. Just like you said, the goal is to demonstrate the basic mechanics of the scene (i.e. camera, actor, prop positions/movements). NOT including any actor performance in the result is actually an objective! wink.

Regarding character animation, I think that some chatacter movement is required (i.e. more than the “cardboard cutout” level), but I am only considering very basic stuff, i.e. walking around the scene, changing from one posture to another (e.g. from standing to sitting) and very basic gesturing (e.g. point, wave). And certainly I don’t care about character falling of stairs at that point! And you are also very right about the black’n'white aesthetic, that’s just I had in mind!
But in order to choose the right platform/engine, there is some prerequisites that I need to take into account, which fall into the following questions:

- Does the engine allow one to define the position/orientation of a 3d object “frame by frame”, by providing pre-calculated values for translation/rotation for each frame?

- Does the engine allow one to translate a 3d object along a pre-calculated motion path?

- Does the engine allow loading of animations together with the loading of a mesh (in one object or separately)? At what formats?

- Does the engine allow one to activate multiple animations simultaneously, given that those animations are loaded together with the mesh (e.g. walking cycle and moving hand at the same time)?

- Does the engine enable one to code in advance scheduled transformations (translation, roation), as well as schedule the activation/deactivation of animations of a 3D object for specific time intervals, in order to generate the desirable rendered clip?

Did you have any experience with other engines besides Away3D, so as to point me to the right direction, if you believe that Away3D maybe isn’t the optimal solution?

Thanks again for the help!

   

Avatar
theMightyAtom, Sr. Member
Posted: 19 January 2012 08:17 AM   Total Posts: 669   [ # 3 ]

AAARGGH! Wrote you a long detailed, itemised reply, but for some reason it timed out and disappeared into the ether. Quick summary, everything you describe it is achievable with Away3D 4, in combination with ActionScript, that is to say they are not necessarily features of Away3D per se, but are easily achievable through simple scripting. PathAnimator is available in Away, though I have no experience with it.

As for the best platform, it depends on the person who’s going to work with it, as well as the end user. If I was creating an animated storyboard I would just use MAX, where I have all the tools I could ever want. If you want to create off line and run online, Unity3D will get you far, but is not designed to make 3D editors. It is a WYSIWYG platform. If like me you’re more comfortable staring at code in an Eclipse type environment, download Flash Develop and you’re all set.

I have 14 years experience starting with 3D Studio in DOS, through VRML, X3D, and more recently Away3DLite, Unity3D and now Flash11/ Away3D 4.0
Strangely enough, X3D has a lot of tooling and features to support this kind of thing, as it made for making military simulations. Bitmanagement would be the place to see the state of that platform, haven’t touched it for years.

I have made software for dynamically creating property representations in 3D and furnishing them, so I know how to go about it in AS3. Admittedly I am biased towards ActionScript, as I know I can make anything I want, the way I want it on this platform. In Unity I get frustrated with the coding model and having to place things manually into the scene. (if anyone knows an OOP programmers workflow for Unity, let me know!)

Cheers!

   

yannischris, Newbie
Posted: 19 January 2012 12:11 PM   Total Posts: 4   [ # 4 ]

AAAAAARGHH!! Thanks anyway for taking the time to write a detailed reply (I usually write my posts in notepad first as I have also been a time-out victim grin!! But don’t worry, the short version is very helpful as well!

The problem with MAX, Unity or other such tools is that I have this restriction in my project, that everything has to be done through code. The objective is not to just create some animated storyboards, but to create an application, that will generate animated storyboards based on user input. So a WYSIWYG tool would be of no use in that sense.

So you say that all I want in order to start developing with Away3D, is the engine API plus the FlashDevelop platform, and I can start to code?

Another critical issue is that what I will do in Away3D has to be integrated with a java application (which will be the GUI for the user input, as I described above). Do you think that this is a good idea (i.e. to mix Away3d with a java app), or maybe I should go for a java engine, just to facilitate this integration issue?

So you said that the engine supports multiple animations to be activated simultaneously given that they are imported together with a model (e.g. walking cycle and moving hand at the same time)? But which formats are supported by Away3D for model/animation import?

Finally, and because it is the most critical question regarding the project (and because the long, detailed answer didn’t make it wink, I want to make sure that the following feature is supported by Away3D: The coding in advance of scheduled transformations as well as scheduled animations of a 3D object for specific time intervals, in order to generate the desirable rendered clip.
For example, let’s say I want to generate a rendered clip of 15 secs, in which a character model is sitting on a chair for the first 5 seconds, then stands up and translates in space for five seconds (which means that the walking cycle should also be activated for that five seconds) and then stops and turns his head to the left while waving for another 5 seconds). What I need to do is to be able to load the characters/anims and any other models needed (e.g. chair), and schedule these actions, so as to generate the rendered video through code. Is something like that possible?

Thanks again and sorry for repeating one or two questions!

   

Avatar
theMightyAtom, Sr. Member
Posted: 19 January 2012 01:43 PM   Total Posts: 669   [ # 5 ]

If you’re doing the interface in Java, then I would do the whole thing in Java to be honest, or possibly WebGL controlled by an applet.
At the same time Flash is just ideal for making that type of editor interface, lightweight, vector and in a good graphic quality.
(this thing gonna be browser based??)

3D animation formats in Away, at the moment you have MD5, which works but is a bit of a pain. Away has it’s own binary format for such things called AWD2. There is no plugin for MAX (and therefore I don’t use it), but if you use Maya or Blender you’re in luck.
As with most your specific requests, and now I’m talking the multi-animation and timer based triggering etc. They are not features of Away3D, but are things you can script for Away through the extensive API and a little ActionScript.

Though I’d be sad to see it all done in Java (mainly because I wouldn’t be able to help much), it does seem the most obvious choice for you as a programmer. You should check out Xj3D (http://www.web3d.org/x3d/xj3d/) I’ve seen large scale simulations written with it.

Good Luck! 

copy/pasted from my NOTEPAD wink

EDIT: OK, I’m showing my age now, and when I last considered Java…
The most recent version of Xj3D is from 2006 so I’m guessing someone came up with a better java library since then :O)

   

yannischris, Newbie
Posted: 21 January 2012 08:34 AM   Total Posts: 4   [ # 6 ]

Hello there,
Yes you are right; the right way seems to be to to id all in one language, although using Flash for the GUI seems a very tempting idea!
Anyway I will look at my options and decide where to go from here..
I should thank you for the very useful advice and, as I saw your interest in the work I am planning to do, I will keep you posted of any progress grin

Regards,

   

Avatar
theMightyAtom, Sr. Member
Posted: 21 January 2012 01:59 PM   Total Posts: 669   [ # 7 ]

Do that :O)

I’m ready and waiting if you see the (flash) light!

   
   

X

Away3D Forum

Member Login

Username

Password

Remember_me



X