Giant Mecha Anim Overrides
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-03-2005 09:09
I did it!! I finally figured it out! Turns out that if you want a walk animation to have the character walking in midair (useful for giant mecha avs that are taller than the max normal av size), you need to hack the .bvh file. The bad news: you need a program to generate the .bvh files (like Poser), since the hacks must be done locally in a text editor.
I'll post a tutorial on how to do this hopefully later today. This kind of trick should be freely available to all, since it's freaking useful. Well, it is useful to mech-heads like me.
I apologize in advance for any macro-furries that this tutorial will give rise to. =P
Thanks are in order to Ulrika Zugzwang, whose anim tutorial website gave me the hint I needed to solve this puzzle after a month of trying! Also to Marcos Fonzarelli and especially Ardith Mifflin & Mark Codesmith whose prim-based armor / mecha are a source of inspiration and challenge, and for their kind words of encouragement!
Also, thanks to Francis Chung for the Franimation override thing that is open source. To honor your contribution, I'm releasing this technique free and openly as well.
Yeeha! YATTA!
Kage
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
Here's how to do it
02-03-2005 09:44
Okie doke. If you've spent any time trying to make animations for SL, you know that the animation you make in Poser must be exported as a .bvh file, then uploaded. The key feature of .bvh files that we are interested in is that they are nothing more than carefully formatted and marked up text files. So, beginning from the beginning, open up Poser and create a new animation (I'm most concerned with walk and run animations at the moment, so I'll use the Walk Designer to quickly generate a decent-looking walk anim). Make sure to use an SL default figure available from the download pages in the member's only section of secondlife.com. Remember that when you raise an SL av off the ground, the stride of the attachment legs lengthens, so you have to slow the gait down. An easy way to do this is to increase the number of frames from (default) 30 to, say, 90 for an av that is 150 inches off the ground. .bvh files, according to Ulrika's site, use units of inches, NOT meters like SL!! After you finish creating the walk anim, export it to .bvh: File-->export-->.bvh motion Close down Poser, then fire up your favorite text editor, like notepad, or whatever is normal for mac users. My favorite is NoteTab Lite. Open the .bvh file and you'll see something like the following: ========================================================= HIERARCHY ROOT hip { OFFSET 0.00 0.00 0.00 CHANNELS 6 Xposition Yposition Zposition Xrotation Zrotation Yrotation JOINT abdomen { OFFSET 0.000000 3.422050 0.000000 CHANNELS 3 Xrotation Zrotation Yrotation JOINT chest { OFFSET 0.000000 8.486693 -0.684411 CHANNELS 3 Xrotation Zrotation Yrotation JOINT neck { OFFSET 0.000000 10.266162 -0.273764 CHANNELS 3 Xrotation Zrotation Yrotation JOINT head { OFFSET 0.000000 3.148285 0.000000 CHANNELS 3 Xrotation Zrotation Yrotation End Site { OFFSET 0.000000 3.148289 0.000000 } } } ======================================================= And more. This part of the file is crucial to examine, since it defines the structure of the data further on in the file. A .bvh file is nothing more than a definition of how the body parts are connected to one another and their positions relative to one another. For example, look at the first lines: ======================================================= HIERARCHY ROOT hip { OFFSET 0.00 0.00 0.00 CHANNELS 6 Xposition Yposition Zposition Xrotation Zrotation Yrotation ======================================================= It is telling us that the body part from which all others is defined is the hips. Ulrika was right on when she talked about this in her animation tutorial, http://www.ulrikasheim.org/animation/Note also that the .bvh file defines six channels for the spatial location and orientation for the hips. It is important to note the order of these channels, since later on in the file, the data pertaining to each channel for each body part for each frame of animation is presented as an undifferentiated mess. In Ulrika's tutorial, we are taught that the first frame of any animation is used to normalize the position and rotation of the animated av. So what we want to do is scroll down in the .bvh file to the data for the first frame and tweak it as we wish. So we scroll past the definitions and markup part of the .bvh file, which ends at: ======================================================= } } } } } MOTION Frames: 120 Frame Time: 0.033333 ======================================================= Here we see that my sample animation was created with 120 frames and each frame has 0.033333 seconds between it and the next, which is important for defining the speed of the frames. After that follows a HUGE pile of floats (numbers with decimals), which are the position and rotation for every body part for every frame. It starts like this: ======================================================= -0.029519 40.402596 -0.284226 6.123123 -2.332308 -1.663335 1.263069 2.547482 -2.616684 5.023605 4.992219 -7.035384 0.034247 0.027598 -0.113720 -2.995461 -0.873520 8.965679 -16.770054 0.915371 -0.173465 -71.199951 -14.769668 9.623819 -71.771500 -0.095423 29.350222 -2.551268 -9.951835 -2.528368 -7.271367 1.346138 0.671154 64.087715 -14.448615 13.495526 55.654114 0.373149 17.266552 -6.439728 3.951267 -2.405789 34.977947 1.352770 -1.404338 23.902544 -4.873763 1.528210 34.551029 3.038354 -6.191009 -32.847607 2.898185 -7.112073 -1.737200 4.900643 -5.763632 26.170374 3.702702 -2.357134 ======================================================= That's all the data for the first frame of the animation. Recall above that we saw the structural definition of this data, so we know that the first six numbers in this set correspond to: Xposition Yposition Zposition Xrotation Zrotation Yrotation of the hips. It helps at this point to know that the coordinate system for Poser and .bvh files is different than in SL. Specifically, Z= forward/back, Y = up/down, X = left / right. SOOOOOO if we want to make a mech (or whatever) with hips elevated up to, say, roughly 5 meters (=180 inches), then we need to change the Y position of the hips on the first frame upward by 180 inches. We only need to do this for the first frame because, as stated above, the first frame normalizes the rest of the animation. So according to the structure defined above, we know that the second float in that long list above corresponds to the Y position of the hips in frame 1. Here's where the magic happens. (magic = geeky trick) We set the second number, 40.402596 to -180.000000. Why is the 180 negative? I dunno, but it works. We then save the file in the text editor, and upload it to SL. When uploading, set it to priority 4, loop, with zero ease in and out. And there you are. Note that to make this actually work, you gotta put it together with Francis Chung's excellent free and open animation overrider. Also, you gotta do the same process for the other normal animations, otherwise, you'll walk at 5m, and stand normally, which looks freaking weird.
|
Ardith Mifflin
Mecha Fiend
Join date: 5 Jun 2004
Posts: 1,416
|
02-03-2005 09:50
From: Kage Seraph I did it!! I finally figured it out! Turns out that if you want a walk animation to have the character walking in midair (useful for giant mecha avs that are taller than the max normal av size), you need to hack the .bvh file. The bad news: you need a program to generate the .bvh files (like Poser), since the hacks must be done locally in a text editor.
I'll post a tutorial on how to do this hopefully later today. This kind of trick should be freely available to all, since it's freaking useful. Well, it is useful to mech-heads like me.
I apologize in advance for any macro-furries that this tutorial will give rise to. =P
Thanks are in order to Ulrika Zugzwang, whose anim tutorial website gave me the hint I needed to solve this puzzle after a month of trying! Also to Marcos Fonzarelli and especially Ardith Mifflin & Mark Codesmith whose prim-based armor / mecha are a source of inspiration and challenge, and for their kind words of encouragement!
Also, thanks to Francis CHung for the Franimation override thing that is open source. To honor your contribution, I'm releasing this technique free and openly as well.
Yeeha! YATTA!
Kage It's good to hear that you're experimenting so much, but I'm afraid this technique is not entirely new. There are a lot of people who use this method already. Yadni Monde, for example, used vertical offset anis in order to elevate his Exo armor off the ground. It's a good solution, if you've got access to Poser or .BVH files. It allows you to produce animations which are completely customized for the mecha which you are building, and tends to produce a much cleaner effect than the hover height system which I used to use. The fact that it requires Poser, or access to pregenerated .BVH files, is really one of the biggest drawbacks to the method. Then again, the result is far superior to the various other methods which I've used or seen used, and is definitely deserving of the extra work involved. I didn't mean to rain on your parade, Kage. It's good that you figured it out, and it would definitely be an awesome thing for the community to have a well-written tutorial on the subject. A lot of people have probably never heard of the method, and go away frustrated over trying to produce oversized avatars. You should post some images of your mecha in the gallery, by the way. More people should have the opportunity to see your awesome work! On a related note, I'm going to post the source for the old animation and hover system that I used in the past. It's not as nice as the offset ani method which Kage is talking about, but it has the minor benefit of not requiring custom animations. The next time I'm in world, I'll get the (crudely written) code and post it here.
|
Ardith Mifflin
Mecha Fiend
Join date: 5 Jun 2004
Posts: 1,416
|
02-03-2005 09:53
And as quickly as that, you've posted the tutorial. Very well written, Kage.
You can accomplish the same thing, if you have access to Poser, by directly editing the vertical offset of the hips in frame 1 of your animation. As Kage said, a negative offset in the animation translates to a positive offset in SL. I find this to be a bit quicker than manually editing the .BVH file.
Edit: Slowing down the framrate to make the gait correlate to height is a very smart tip that I hadn't heard before. Thanks, Kage.
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-03-2005 10:00
From: Ardith Mifflin And as quickly as that, you've posted the tutorial. Very well written, Kage.
You can accomplish the same thing, if you have access to Poser, by directly editing the vertical offset of the hips in frame 1 of your animation. As Kage said, a negative offset in the animation translates to a positive offset in SL. I find this to be a bit quicker than manually editing the .BVH file.
/me goes to see if what she said is true. If so, Kage Seraph is a goon for having to hack the .bvh file to accomplish his goal. He also enjoys talking in the third person sometimes.
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-03-2005 10:04
Figured it out, I think(?). I'm using Poser 4 Artist (the el-cheapo release =) ), which doesn't seem to have several of the controls (like Y position) as far as I can tell that Ulrika (in her tutorial) and you descibe. As a result, I had to dig into .bvh. What version of Poser are you using, Ardith? Describe how to directly edit the hip height for poser newbs like me? =)
This technique should work universally for anyone who can generate .bvh files for upload, regardless of the program used.
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-03-2005 10:27
As an added note, the walk designer in poser makes walks that are a little jerky when the motion is amplified across 5 or so meters of added height. Manually smoothing the motion curves wil produce much more satisfactory results.
|
Psyra Extraordinaire
Corra Nacunda Chieftain
Join date: 24 Jul 2004
Posts: 1,533
|
02-03-2005 10:51
Can the lazybirds in the group just buy the anims off someone instead of faffing with Poser?  I am not the faffing type, for I am a "Technowimp" (Read: Afraid of screwing things up)  Well, mostly, because I don't know how to get the default anims out of SL and into Poser....  I don't want to add that much anyways, just 2 m, to be in proper scale. 
_____________________
E-Mail Psyra at psyralbakor_at_yahoo_dot_com, Visit my Webpage at www.psyra.ca  Visit me in-world at the Avaria sims, in Grendel's Children! ^^
|
Ardith Mifflin
Mecha Fiend
Join date: 5 Jun 2004
Posts: 1,416
|
02-03-2005 11:04
From: Kage Seraph Figured it out, I think(?). I'm using Poser 4 Artist (the el-cheapo release =) ), which doesn't seem to have several of the controls (like Y position) as far as I can tell that Ulrika (in her tutorial) and you descibe. As a result, I had to dig into .bvh. What version of Poser are you using, Ardith? Describe how to directly edit the hip height for poser newbs like me? =)
This technique should work universally for anyone who can generate .bvh files for upload, regardless of the program used. I believe I have Poser 5, but I'm not at home to verify this fact. When I want to edit the vertical offset of the hips, I just click on the hips of the figure and then type in the values on the y-axis of the little editing palette. Sorry I can't be more specific than that, without the program in front of me. From: Psyra Extraordinaire Can the lazybirds in the group just buy the anims off someone instead of faffing with Poser?
I am not the faffing type, for I am a "Technowimp" (Read: Afraid of screwing things up) Well, mostly, because I don't know how to get the default anims out of SL and into Poser....
I don't want to add that much anyways, just 2 m, to be in proper scale. I can handle simple poses and very crudely done walks, but otherwise I'm beholden to skilled Poser people to produce my more detailed custom anis. For example, I've got a bow-legged walk (to suit the legs of my mecha) I need made because the walk designer doesn't handle bow-leggedness and I'm too gimptastic to manually produce the animation. Unfortunately, I haven't found an animator who is free to do the work yet. If anyone wants a job producing some custom anis for my newest mecha, please drop me an IM.
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-03-2005 14:43
From: Psyra Extraordinaire Can the lazybirds in the group just buy the anims off someone instead of faffing with Poser?  I am not the faffing type, for I am a "Technowimp" (Read: Afraid of screwing things up)  Well, mostly, because I don't know how to get the default anims out of SL and into Poser....  I don't want to add that much anyways, just 2 m, to be in proper scale.  Once I get a set of smooth anims, I'll make them freely available for several heights, say, 1,2,3,5,8 m offsets. The trick is making smooth anims; adjusting the offset is trivially easy.
|
Zuzi Martinez
goth dachshund
Join date: 4 Sep 2004
Posts: 1,860
|
02-03-2005 18:24
thanks for the tips and tricks. those are very cool. i haven't tried any of this robot stuff but it seems like to me it might be easier to manually animate a giant robot walk instead of using the walk designer. that would save you from having to adjust and adjust the curves to get it smooth and nice and a robot walk would probably be much simpler and less complicated to manually animate than a human walk anyway. plus the walk designer would tend to make a sexy robot strut which you might not want hehe. From: someone I apologize in advance for any macro-furries that this tutorial will give rise to. =P hahaha you rule.
|
Ben Stravinsky
Second Life Resident
Join date: 7 Nov 2004
Posts: 149
|
No need my good man... No need =)
02-06-2005 01:18
Or......... ................... You can just IM Ben Stravinksy at LostDog Designs and he will make a mid air walk in seconds =)
Smile everybody.... its not raining!
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-06-2005 18:29
It was raining?
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-06-2005 18:32
awwww, the whole point was to make the process free and open so anyone could do it*. =P
*if he or she had Poser *if he or she were a masochist
|
Tikki Kerensky
Insane critter
Join date: 12 Aug 2004
Posts: 687
|
02-06-2005 20:47
From: Kage Seraph I apologize in advance for any macro-furries that this tutorial will give rise to. =P
Fortunately I only know of two in SL offhand. One looks just silly and the other (me) doesn't want to bother making something that big. 
_____________________
Pudding takes away the pain, the pain of not having pudding.
|
Francis Chung
This sentence no verb.
Join date: 22 Sep 2003
Posts: 918
|
02-10-2005 07:35
From: Kage Seraph /me goes to see if what she said is true. If so, Kage Seraph is a goon for having to hack the .bvh file to accomplish his goal. He also enjoys talking in the third person sometimes. LOL  Good show. I'd love to see your mecha some time. I'm glad to see people using the script as part of a greater creation now  Spider Mandala did this big hulking mecha power armor thingy a while back. I think he called his the Silverback. Very cool, big walking metal thing. I think he just dragged his hips up in Poser to make it go. I can't believe Poser Artist doesn't have X/Y/Z controls. Are you sure about this? I don't feel I can recommend Poser Artist to any SLers if this is true. It's so crucial for so many animation tasks.
_____________________
-- ~If you lived here, you would be home by now~
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-14-2005 14:35
From: Francis Chung LOL  Good show. (snip) I can't believe Poser Artist doesn't have X/Y/Z controls. Are you sure about this? I don't feel I can recommend Poser Artist to any SLers if this is true. It's so crucial for so many animation tasks. Poser Artist does have XYZ controls for the hips. I just got no results from them when I dragged the hips up, thus the hack the .bvh ordeal. Maybe I am a chronic ID10T error sufferer. Hey Francis, when is Wet Ikon going live? I've been staring at the coming soon sign from my place across the street for weeks now. Stop teasing us!
|
Spuds Milk
Registered User
Join date: 28 Sep 2004
Posts: 94
|
02-18-2005 23:21
probably a completly silly question from sombody that's only fought with poser for a few minutes, but couldn't most of the heigh problems be solved by making the base body-part be a foot? (left or right, whaterver they're really called) then you'd always know where the ground was, and an avitar's height wouldn't matter (as long as their feet are on the ground) ?
or would that make poser/ SL blow up?
|
Jesrad Seraph
Nonsense
Join date: 11 Dec 2004
Posts: 1,463
|
02-19-2005 00:28
Spuds, I think this would pose problems regarding rotations and torques applied to avatars, since these are typically done around the local <0,0,0>. Everyone would end up falling flat on their head at every move 
_____________________
Either Man can enjoy universal freedom, or Man cannot. If it is possible then everyone can act freely if they don't stop anyone else from doing same. If it is not possible, then conflict will arise anyway so punch those that try to stop you. In conclusion the only strategy that wins in all cases is that of doing what you want against all adversity, as long as you respect that right in others.
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-21-2005 00:26
hey all, I'm releasing the giant mecha walk and stand anims freely. IM me inworld and I'll drop you the anims in a preconfigured franimation kit. useful for avs 10-14 m tall or so.
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
02-22-2005 17:24
Note: using a hip y-coordinate of -50.000000 produces an offset of roughly 2 meters on a child-sized av. -100.000000 produces roughly a 3m offset.
|
Tombfyre Kraken
Registered User
Join date: 24 Feb 2005
Posts: 4
|
03-01-2005 20:41
Well I'm one of the happy crazies who'd love to see what this process could do when it comes to making giant critters and whatnot. I wonder how it would work out seeing as the average non-human character out there is just wearing objects over various key points of their body.
|
Kage Seraph
I Dig Giant Mecha
Join date: 3 Nov 2004
Posts: 513
|
03-05-2005 06:16
It is certainly doable to make nonhuman but humanoid figures, Tomb; the Marauder mecha I recently made has reversed knees (like a bird), for example. IM inword for a demo.
|
Artillo Fredericks
Friendly Orange Demon
Join date: 1 Jun 2004
Posts: 1,327
|
03-05-2005 21:10
Is there any way to do simple mass-study legs and attach them to your poser model, and relocate the joints at the new model coordinates? Such as making a model of the ankle, hip and arm joints (in Poser, or importing to Poser), and then pinning the joint geometrically in the exact spot it would need to be on your SL Avatar's attachments. Then re-export the BVH ehh? Dunno how that works, but hell it's a facinating subject! On a related note, I can appreciate everyone's drive to make our online lives just that much more meaningful, giving vision to our imaginations and shared experiences and passions (mecha and otherwise LOL :: smirks at the Furries :  And in the process making the technology better, then we really have something here, eh! What I would LOVE to see is the ability in SL for someone to input their avatar's joint positions in REAL-TIME by directly pulling them off of body sensors on the actual person (or model), then zipping it down the client and DIRECTLY manipulating your avatar  Kinda like taking motion-capture, but in realtime, translating and manipulating your avatar for you  Kage u will be seeing "Frenzy" again (or related subjects!), you and others have helped start a Meecha/Mega-revolution  let the stompin begin! Now maybe Cubey Terra will make a combat version of some Mech hehee Battlezone Cage Matches! Betting and contests! A giant Arena for Mech Combat! Weapons only, physics only, or no holds barred matches... single combat and team Vs team! .... :: shakes head to clear it :: ohh wait I've jsut described Unreal Tournament, Mechwarrior, and Half-Life 2??!?! Wake me when my neurocannular implant is complete and ONLINE, please! Phillip K. Dick eat your heart out! MUAHAHAHAHAHAAA!!! :: runs off stomping Linden-tree prims :: Peace & Happy Building! Artillo
_____________________
"I, for one, am thouroughly entertained by the mass freakout." - Nephilaine Protagonist --== www.artillodesign.com ==--
|
Psyra Extraordinaire
Corra Nacunda Chieftain
Join date: 24 Jul 2004
Posts: 1,533
|
03-07-2005 13:44
Ahhhh, 5m tall Phoenix completed. And scripted to make use of the new animations. And as a bonus, it can fly and sit without looking too weird. Though it has to swap between the "elevated stand" and "normal sit" as it sits, causing a temporary twitch when sitting down. :>
.... That and the legs having no idle animations when standing.... ah well... someday will fix that. :>
_____________________
E-Mail Psyra at psyralbakor_at_yahoo_dot_com, Visit my Webpage at www.psyra.ca  Visit me in-world at the Avaria sims, in Grendel's Children! ^^
|