User talk:Bobbysoon/Animation Discussion

From OniGalore
Jump to navigation Jump to search

Working on a workflow for animation. Made a dependencies and xml browser to help me get with the program It doesn't even use idle, does it? It's always running, right? So for starters I should work on anims from the run set? --Bobbysoon 19:41, 6 September 2009 (UTC)

I think we need these animations:
-Idle - simple Iron Demon standing
-Turn left / Turn right - simple Iron Demon standing, but during this animation he rotates around his axis a bit left/right. Maybe you can give him a slight movement of legs to make it look better.
-Run forward left leg / Run forward right leg - these two will be alternating to make Iron Demon run forward. His "run" should look similar to Mutant Muro's movement ( slow and heavy ), but ID should move more robotic - like.
-Run backward left leg / Run backward right leg - just reversed versions of aforementioned, used for backpedaling
-Runstart forward / Runstart backward - transition animation, starts from idle, moves one leg a bit forward so it can smoothly transit to either left leg or right leg run animation. You can choose which one, that does not matter.
-Runstop forward / backward - opposite of those two above.
I guess that should be enough for the beginning. Later we can add more. --Loser 20:29, 6 September 2009 (UTC)

bobbysoon, I watched your animation on YouTube as linked to above. Looks like you got the mechanics down perfectly. Now, help a confused guy out. Is that intended to be a walk or a run? And what did you mean about the model kneeling? --Iritscen 02:24, 9 September 2009 (UTC)

That's walking. Here's a side view, starting with kneeling and standing full height at the end. --Bobbysoon 04:29, 9 September 2009 (UTC)
Okay... so, dumb question time: why is he "kneeling"? --Iritscen 14:53, 9 September 2009 (UTC)
Cause that's it's no-anim using default pose. That's how the model was that I got, and I defaulted node rotations before attaching the mesh to them. --Bobbysoon 16:53, 9 September 2009 (UTC)
Hmm, see, here's part of why I'm so confused: the ID does not seem to have lower legs; rather the upper legs connect to the feet with a rotating joint. Hence, I don't know what kneeling means because I don't consider the ID as having knees. Do you mean that the old ID stood up straighter than the new ID, i.e., the upper body was angled back more with respect to the feet? --Iritscen 18:20, 9 September 2009 (UTC)
It's about .375 units taller standing up. The way it's legs fold, it's 'knees' are reversed, like a bird's. I'll try to make another TRBS, standing as default pose --Bobbysoon 20:27, 9 September 2009 (UTC)
Bebuggeredly with the 3ds exports, crash after crash. Blasted ColladaMAX. I'm yet to isolate what it's blathering about.
I've read it said that animations are rotation only - yet, it's appearant in the oni2 trailer, that the ID has a bobbing pelvis - or that it's using an alternate node set that simulates a bouncing center of gravity. I have observed that deleting the pelvis's animation keys allows OniSplit to progress to report errors about a calf, rather than the pelvis (something about -z rotation). I'm sorry I didn't take better notes. Between 3ds, colladaMAX, OniSplit, and life in general, I'm getting rather frayed. Point being, this might take a while --Bobbysoon 06:38, 10 September 2009 (UTC)
Animations are rotation only...except for the pelvis. :p The pelvis can translate as much as it likes. Gumby 13:07, 10 September 2009 (UTC)
I know the feeling, believe me. Eventually it seems like nothing works and you don't remember what you did when it was closest to working. Notes are in fact important for keeping track of what you try, but you already know that. Just don't feel that you have to solve these problems on your own. If you paste in some specific errors from OniSplit, for instance, Neo might be able to help you (might have to post your animated model too). We're getting into the least-proven area of modding now, so we'll just have to slog through in small steps together. --Iritscen 13:27, 10 September 2009 (UTC)
You don't have to struggle alone, post the collada files, so we can take a look. EdT
Thanks. Ok, [ 3 out of 4] - I accidentally overwrote stepa with a dae meant for trbs. nvm the filenames. Also, here's an [ XML Animation file (*.xaf)], if any of you guys can import that. 0-19:start, 20-39:step a, 40-59:step b, 60-80:stop --Bobbysoon 22:46, 10 September 2009 (UTC)
Neo (Creator of OniSplit) has been notified about the problem, now we just wait until he looks at the dae files and figures out the problem. EdT
Bobby: Can you export the TRAMs as FBX files? Neo is having some issues with the Collada files, somehow, they don't look right. The body seems to move up. EdT

[ FBX variants.rar] Probably just need the one from the latest version (I think it's version variants), but had done them all last night anyhow. Exporting these never crashes 3ds - it'd be great if these could be accommodated by oniSplit. --Bobbysoon 23:02, 11 September 2009 (UTC)

These files are in the Collada format. Can you export the TRAMs so that there are in the .fbx format. Something like this: TRAMID_runstart.fbx EdT
Sorry about that - although I think the content is as it would be had I typed .fbx, or not appended an extension when exporting. I used 3ds's built in exporter for FileType: (*.fbx; *.dae). 2 plugins in one? Anyhow, here's [ ascii TRAMID_runstart.fbx] and [ not ascii TRAMID_runstart.fbx], and these are the options:
You forgot to include the animation in the fbx file. I noticed the Animation box was not selected. Also, can you include the native .3ds file of the walking animation? I think I can open it up in Cheetah3D. EdT
That would be one of my more special moments
fbx with animation: [ ascii] [ not ascii] [ 3ds]

colladaMAX crash figured out (fingers crossed). I cleared smoothing groups, applied fresh, textureless materials, exported to .3ds, imported it back, and was then able to export with colladaMAX to dae with animations, without crashing.
The -z error occured when the sample animation option was unchecked:
"Sample animation: Enables time-sampling the animated parameters, within the Start and End time interval. One sample is taken per time unit. If this option is disabled, ColladaMax will attempt to export the animated parameters as key-frames."
With it checked, OniSplit reports this:
Importing D:\Oni\Edition\install\packages\21100Iron_Demon\oni\level0_Final\dae\TRAMID_run1stepa.DAE
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Oni.Geometry.Dae.Reader.<>c__DisplayClass16.<ReadAnimationChannel>b__15(Node node)
at Oni.Geometry.Dae.Reader.<>c__DisplayClass1d`1.<BindId>b__1c()
at Oni.Geometry.Dae.Reader.ReadRoot()
at Oni.Geometry.Dae.Reader.ReadFile(String filePath)
at Oni.Totoro.AnimationDaeReader.Import(String filePath, String outputDirPath)
at Oni.Program.CreateGeneric(String[] args)
at Oni.Program.Main(String[] args)

animations, [ time interval] and [ key specific]

Thanks for the files, I'm trying to fix this. Some more notes:
-Some of the problems are caused by Z-up vs. Y-up. Converting geometry from Z-up to Y-up is easy but I seem to have problems converting animations (and Softimage seems to have the same problems)
-Another problem is that ColladaMAX exports a type of animation interpolation that OniSplit does not handle (TCB). I'll add support for that if I can figure out what TCB means. Until then the "sample animation" option is a good workaround (and keep in mind that you need 60fps, not 30 like in your fbx exporter screenshot).
Autodesk Reference: TCB Controllers
"TCB Controllers produce curve-based animation much like Bezier controllers. However, TCB controllers do not use tangent types or adjustable tangent handles. They use fields to adjust the Tension, Continuity, and Bias of the animation.
This controller works well as a Position controller in conjunction with the Motion panel > Trajectories display of an object. With sub-object keys turned on and the Key Info dialog for a key displayed (right-click and select Key Info on the selected key to display Key Info properties), you can change the parameters in the Key Info dialog and see the trajectory path change. This allows for very precise control of an object's trajectory with visual feedback.
Euler XYZ is now the default rotation controller in 3ds Max. The TCB Rotation controller was the default rotation controller for files created in versions 4 and earlier.
Tip: Euler XYZ behaves very differently than TCB rotations. Users upgrading from versions 4 or earlier might have difficulty adapting to the differences between these controllers. If you are used to working with TCB rotations, you can reassign it to be the default rotation controller. "
I had noticed that 3ds has 2 kinds of keys per rotation/position. One kind lists only position and rotation keys when I right-click a key, and it's rotation curves don't show in the curve editor, while the other lists x, y, and z for position & rotation. The former appears to be TCB. I'm not sure how I ended up with TCB, but I believe I converted them by "collapsing transforms", and so here's another dae: [ non-tcb walking animation .dae] --Bobbysoon 18:24, 12 September 2009 (UTC)

-Autodesk has a free "FBX Converter" that can be used to convert from .fbx to .dae (and back). It can also convert from .3ds to .fbx. See if that can be used as an alternative to ColladaMAX. Download here: FBX Converter
Unfortunately, the converted fbx->dae generates the same array bounds error. --Bobbysoon 19:11, 12 September 2009 (UTC)
I chatted with Neo earlier and that error has been fixed. But now he needs to work on the ZUP issue. EdT
Yes that one is fixed. I suggested the FBX Converter only as a workaround to ColladaMAX crashes. Couple of other things:
-I got it somewhat working by exporting uncompressed TRAMs instead of compressed ones.
-Those Collada files use "meter" as unit. Currently OniSplit ignores that so don't be surprised if the model looks very small when imported.
-The TRBSs might need to be reimported when a new version of OniSplit is out. The current one might have messed up the bone order.
-I'm curious if you ever tried to import an animation exported by OniSplit into Max and if it worked correctly.
Yeah, some are good, and some are buggy. --Bobbysoon 11:02, 13 September 2009 (UTC)
[ 3 glitchy anim imports. avi & key curve screenshots] --Bobbysoon 19:31, 13 September 2009 (UTC)

-I'd suggest that this animation discussion be moved to a different page. It's getting long and we've yet to see the end of it.
Thanks for your hard work, Neo. Re: moving to a different page, technically this entire page's contents belong at AE_talk:Iron Demon, but I was waiting until we were done talking before I moved it, so as not to disrupt anything. Anyway, moving all of this over there won't help the animation discussion being huge, so perhaps I should give this topic its own subpage. But I don't really think it's that big, yet, as long as you click on [edit] for this section only when editing. If you want, though, I will move it to a subpage now; otherwise I will wait until the section's gotten over, say, 20KB (it's just under 10KB now). --Iritscen 15:12, 12 September 2009 (UTC)
moved from User_talk:Bobbysoon --Bobbysoon 17:26, 12 September 2009 (UTC)

Does this look right? [ rendered TRAMper_time.oni] Neo

Yeah, thats right, that's the runstart I made. -- no, wait, it's not. Sorry, I accidentally lied. Another one of my more special moments
This is [ per time], rendered from 3ds. It should look like that.
--Bobbysoon 22:32, 17 September 2009 (UTC)

Can you tell me what kind of measure units you use in Max? The Collada file contains this:

   <unit meter="10" name="meter"/>

but this doesn't look right, it's like saying that a meter contains 10 meters!!! For the clip you saw yesterday I scaled the thing by 10 (for example the pelvis height in Collada was ~0.5 so it ends up as ~5 in Oni).


In 3ds's system unit setup, I got 1 unit == 10 meters. It worked for the TRBS..? perhaps it means meters*=10? I had been not importing the dae's units, because that way, with the 10 meter setup, konoko comes out 5'7". Importing with the dae's units, she's a more comfortable-to-work-with 170 generic units tall, but also she's 170 meters tall :p - meh, metrics. --Bobbysoon 18:31, 15 September 2009 (UTC)

Hey, here's another try: [ id2]. Are you still around? Neo

I'm still in. I've just been busy with work. Excellent, that looks 100% correct. Last I left off, I had trouble again with texture mis-matching. Confused node and/or texture ordering I think. Here's what I got so far for the ID: [ pix, dae, .onis]

OK, I'll give it a try. I'm slow these days, busy with work too... Neo

I have an idea for a different approach to animating the Iron Demon. I plan on modifying current TRAMs by xml to work with the Iron Demon. The first step is to align and rotate the parts from Bobbysoon's Iron Demon into the default animation state. This way I can use the current TRAMs and move around with the Iron Demon. Second step would be to find the correct settings to freeze the movements of certain bones and use the leg's animations. Third step would be to fine tune the leg's movement.

Hopefully, it will be as easy as it sounds! :-) EdT

Here is the Iron Demon walking: EdT
Nice, Ed! How you did it is beyond my ken, but this is a big step (pun!) in the right direction for the ID. Think about it: if you can make it fire while walking straight ahead you will officially have accomplished as much as Bungie West did :0) . Your next assignment is to link the footsteps to the actual ID walking sounds (seeing the ID walk with that hard-soled shoe sound is hilarious, though). It is possible to do that, right? --Iritscen 04:26, 2 December 2009 (UTC)
Maybe I'm too early to ask again but are there any news about our beloved mascot? --Paradox-01 13:01, 10 February 2010 (UTC)
I think EdT should post a movie of the last progress he made, because it's further along than where it was when we made those last edits above. --Iritscen 23:03, 10 February 2010 (UTC)
The Iron Demon is on hold, I was making the walking animation from scratch, but its not quite right. So when I get more experience in 3D animation, I will go back to it. Besides, the ID really needs the BGI level :P EdT