Ecstasy Motion
September 08, 2010, 09:20:02 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Site transferred and updated.
 
  Home   Forum   Help Contact Search Gallery Login Register  
* *

User

Welcome, Guest. Please login or register.
Did you miss your activation email?
September 08, 2010, 09:20:02 PM

Login with username, password and session length
Pages: [1]
  Print  
Author Topic: Ecstasy Dev Blog #6: Another New Gui, Partial-Body Ragdoll, Sequence Actions +  (Read 759 times)
Chris
Administrator
Full Member
*****
Offline Offline

Posts: 48


View Profile
« on: February 08, 2010, 04:10:18 PM »

DEV BLOG #6 - Another New Gui, Partial-Body Ragdoll, Sequence Actions and Scene Events!

(Note: Due to a temporary problem with YouTube, a number of videos on this page had to be uploaded to Vimeo, and we lack a method for embedding Vimeo vids directly, with the result that this blog appears incredibly wordy with almost no images!  For a more graphically friendly version, check it out at Garage Games: http://www.torquepowered.com/community/blogs/view/19299)

----------------------------

So, it's been a couple of months since the last dev blog, and we have a lot of news to share with you!  This was a big, bad set of changes to do all in one bite, but from now on I should be able to keep the updates coming more frequently.

News Item #1:  There is a new release of Ecstasy Motion available for download!  If you have already purchased Ecstasy Motion, you'll want to open your launcher and hit Update.  If you haven't bought it yet and are still waiting to see if it's worth the money, we're thinking this release might just be the one that tips the scales for you!

So, what's in it?  First, check out this video by Jon, and then I'll explain things in more detail.  (Credit for the dragon goes to Magnus Blikstad and Prairie Games, for releasing their free Minions of Mirth MMOKit resource - thanks, guys!!)

<a href="http://www.youtube.com/watch?v=sgF9-m1A37c" target="_blank">http://www.youtube.com/watch?v=sgF9-m1A37c</a>

1) New GUI

   We are now running Ecstasy Motion in a modified version of the old Torque mission editor - so anything you're used to doing there, like clicking on a scene object, moving or rotating it using the axis gizmos, checking it out in the inspector, etc. - you can now do in Ecstasy Motion.  You can select your highlighted actor for the Ecstasy GUIs by just left clicking on it in the editor.  You can multiselect actors.  You can drop new actors and props into the scene directly from the Library tab, you can copy and paste them with Control C and Control V, and you can delete them by pressing "delete".  Overall, things are just much, much easier to use and faster to learn, because the interface feels more like a "regular program" now.


2) Partial Body Ragdoll

   Most of what you saw in the video above was creative use of Ecstasy's new Partial Body Ragdoll feature.  Previously, there were only two modes of animation in Ecstasy Motion.  You could be fully 100% kinematic, in which case the body was entirely animated by the sequence you were playing, and the physics had no effect on it (although this body could affect other objects in the physics scene, just not be affected by them.)  Or, you could make a body go 100% ragdoll and be entirely subject to the physics simulation, but have no animation.

   Now, you can turn off animation and turn on physics for any bodypart, any time you want!  This ability can give you vast new powers to make natural, physics-generated animations on parts of a model that you might want to just hang and bounce, like the tail, wings, or possibly the neck and head of something like a dragon.

(Sorry about the rest of these videos, YouTube starting taking exception to my codecs, apparently, and I had to upload them to Vimeo, but we don't have a Vimeo embed option here on this site yet...)

http://vimeo.com/9192450 -- Soldier kicked in face.

3) Sequence Actions

   Another new feature that is designed to work in conjunction with partial-body ragdoll is motor-drive "Sequence Actions".  These enable you to blow away the separation between ragdoll forces and kinematic animation, in that they play animations as a set of motor forces on the physics joints!  This works for a whole body or an subset of bodyparts.  The bodyparts playing a sequence action end up making approximately the same motions as they would with a kinematic animation, but with active collision and joint "bounciness" coming from the physics simulation.  With certain actions this can provide a level of realism that would be very hard to achieve in a traditional, non-physics-based animating environment.  (Be warned, however - this system is still in its infancy and I had problems with the PhysX D6 joint "slerp drive" implementation, with the result that motor targets are sometimes wrong on certain rotations - but most sequences seem to work fine.  Give it a try!!)

http://vimeo.com/9191995 -- Soldier running in place, kicked in face.

In the above video, watch the soldier as he is kicked over.  His arms and legs continue to cycle as they would if he was still running, but they do it as he is falling down.  The same technique could easily be applied to motions like arms flailing as an actor flies into the air due to an explosion - the possibilities are limitless.

4) Scene Events

    In previous versions of Ecstasy, physics events, like impulse forces, torque, etc., used to be stored by animation sequence, as special keyframe types.  That didn't work very well, so now they are tracked as separate objects called "Scene Events", which are sorted by time from the beginning of the whole scene and affect the character the same way no matter what animation he may be doing at the time they occur.  This change has revolutionized the whole interface and made physics events much easier to apply and test.

    Each scene event has an XYZ value (to store the force or rotation or whatever data the event needs), an action or function name, a start time and duration, an actor ID, a node ID, and an event type, as well as a link to a "cause" event if this event was created as a direct result of another scene event.

    A scene event can represent anything from application of an impulse force to a particular bodypart, to starting an animation on an actor or making it go ragdoll, to calling a custom user script function at a certain time.  (More on that in a minute.)  There are three general types of Scene Event:  "Impulse", which has no duration and applies the value instantaneously;  "Duration", which applies the value over time; and "Interpolation", which linearly interpolates the value over time from this event to the next event of the same type and node.

    For each of these general types, there can be many specific types of action, e.g. "set local force", "set global force", "set local torque", "set motor target", and so on.  Many of the most useful types, like Local / Global Force, have buttons on the Events Tab (formerly the Physics Tab) of the Tools Window, but you can add any type of event by selecting the actor you want to involve, selecting the node you want to affect, selecting the type of event, entering the start time, duration, and XYZ value for the event, and then clicking "Add" at the top of the Events Tab.

    Since many of these event types make sense as any one of the three major types, I have reused the buttons and made the type distinction dependent on three checkboxes - Impulse, Duration, and Interpolation - on the Events Tab.  Since many of the event types are also useful immediately in realtime as well in scheduled scenes, I have added the ability to uncheck all three of these boxes.  When nothing is checked, the event happens right now.

http://vimeo.com/9188024  --  Dragon walking and flapping.

5) Script Events

   Since even _that_ much flexibility wasn't enough for me, I took it a step further and added the "action" field.  This gives you the ability to write your own script functions, and then call them at the time of an action, with the correct XYZ value for the action sent to the function as an argument.  The action field also works in realtime, so you can exec Torque Script of any sort right there in your GUI if you so choose.  (Saving the trouble of opening the console, for those experience Torque hands out there.)

6) Selection Groups and Scene Recording

   Previously scene recording in Ecstasy affected all actors in the mission.  With this release, only the selected actors are included, so you can work on parts of the scene without everybody always having to be involved.

7) Save Project

   And, last but certainly not least... you can now save your work!  All of it, easily, with one menu option.  I hooked this up to the "Save Project" function under the File Menu, and what it actually does is saves the mission, with all your actors and props (rigid bodies) saved into the mission group.  It then saves out all scene events, all sequences loaded on each shape, and all keyframes you have added to modify the loaded sequences.  Sorry it took so long to get around to this one!

If you're still thinking about buying the program, we recommend that you stop thinking and get to it!  It won't be that long before the price goes up, and if you buy now you will forever be one of our cherished "Early Adopter" customers, who helped us get this thing off the ground!  If you like the direction you see us going here, then go pick it up!

PS - For those customers who are primarily interested in getting their own characters into Ecstasy Motion, I apologize for the delay in making that step easier.  We have uploaded an improved version of the Retargeting plugin, but there are still some major gaps in that process that we are part of the way toward fixing but have not finished fixing yet.  The above changes all had to be done in one sweep in order to get any of them working, so making this version work as it is had to take top priority... but we will now be able to refocus on some of the other hanging issues like node retargeting, as well as FBX and Collada support, to make import of artwork much easier.  Stay tuned for updates!

« Last Edit: February 08, 2010, 04:25:01 PM by Chris » Logged
Pages: [1]
  Print  
 
Jump to:  

Recent

Stats

Members
  • Total Members: 1371
  • Latest: hello
Stats
  • Total Posts: 273
  • Total Topics: 78
  • Online Today: 4
  • Online Ever: 41
  • (August 26, 2010, 05:43:21 AM)
Users Online
Users: 0
Guests: 1
Total: 1
TinyPortal v1.0 beta 3 © Bloc
Powered by MySQL Powered by PHP ? 2009, BrokeAss Games LLC  
Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC
Valid XHTML 1.0! Valid CSS!