Making Animated Accordion Pleats

Post » Tue May 17, 2011 3:30 am

I'm working on an interactive forge where, to repair a legendary sword, you need to pump the bellows until the coals are near white hot. Some of this I've done (the animated bellows and the sound effects). Some of this I think I know how to do (the animated textures that show the glowing coals growing brighter as the bellows pumps air through them). And at least one part, the pleats along the side of the bellows, I have no clue how to do.

I'm willing to learn whatever I need to, but for the pleats, I don't know where to start. Do I need soft bodies, or constraints, both, or something entirely different? For a real bellows, I would expect there would be wires along the periphery of the pleats, with the cloth/leather between constrained to remain attached to the wires and move with them.

Any suggestions as to where to start would be welcome.
User avatar
Alex Vincent
 
Posts: 3514
Joined: Thu Jun 28, 2007 9:31 pm

Post » Tue May 17, 2011 1:24 am

First thing that hits my mind is NiGeomMorpherController. It is mainly used for bows. You can inspect its capabilities in nifs from Animatied Flag resource as well. And Ghogiel's Necronomicon has some nice fancy moves too ;] And while Blender has full support for bows morphing*, I do not see a reason why it shouldn't work for other objects.

* morphing in Blender is handled by Shape Keys.
User avatar
Bethany Watkin
 
Posts: 3445
Joined: Sun Jul 23, 2006 4:13 pm

Post » Tue May 17, 2011 1:45 am

Second that. I used morphs for an Accordion model (not for Oblivion) and they're the perfect fit for that kind of motion. Morphs are linear interpolations between vertex positions, as opposed to rotations you'd get with bones, but work well for limited movements like a bellows, where the difference between straight-line movement and following a curve is minimal. One morph covers the entire movement of the object, as you're just modeling the bellows in start and end positions, and everything in between is proportional. The pleats expand equally without any effort on your part.
User avatar
Adrian Powers
 
Posts: 3368
Joined: Fri Oct 26, 2007 4:44 pm

Post » Tue May 17, 2011 1:56 am

morph 3rd'd. I suppose you could do could do virtually the same end result with bones, but I don't really see many benefits.
User avatar
Amiee Kent
 
Posts: 3447
Joined: Thu Jun 15, 2006 2:25 pm

Post » Tue May 17, 2011 7:41 am

I would go with Bones as you will get the correct rotational axis on the http://www.megaupload.com/?d=NKPV949O, this took me all of 60 seconds to import set up the scene and do the skinning and export it to a working.nif -> took me longer to find the original oblivion bellows then to animate them.

Not sure about how far Blenders NifTools exporter has progresses but last time I checked it was incapable of exporting Morph Anim Data into KF form and the Max exporter just ignores it or exports it as Transform data which does not help much only the CivIV exporter was capable of getting this data into KF form correctly -> which may or may not be an issue depending on if you have Max 6-8 available, although adding a simple morph data to a managered sequence is not difficult either way but if you are using the Oblivion Bellows you need to do it for all of the bellows pieces of which there are 6 and I think 3 or 4 would need the morphing anim.
User avatar
Lynette Wilson
 
Posts: 3424
Joined: Fri Jul 14, 2006 4:20 pm

Post » Mon May 16, 2011 11:44 pm

Ah, very true. I forgot that bellows has more than one part... though In fact you don't have to do this in Blender for each part alone, as you may join them temporary together and morph that as one object. And Blender correctly will divide parts and their morphs on export. But those will be as NiGeomMorpherController blocks attached directly to Ninode branches of each part. And will be as looping anims. So there's also all that work needed with setting up NiControllerManger in Nifskope to "gather" all morphs under one Forward sequence. Well, while not the hardest thing to do it's still far more time consuming than solution with bones that Saiden posted.
User avatar
Flash
 
Posts: 3541
Joined: Fri Oct 13, 2006 3:24 pm

Post » Tue May 17, 2011 12:28 am

I've made progress and thank you all for your suggestions. I started with shape keys before Saiden's post. I found Blender's implementation of relative shape keys straightforward and intuitive (absolute shape keys much less so). Although I now have complete animated pleats, I'm continuing to experiment to better understand the current state of exporting morphs from Blender.

I found using the Blender Nif Scripts 1 3.13, I could export the NiGeoMorpherController and the NiMorphData, but not the NiFloatInterpolator and NiFloatData blocks that hold the keyframe data for each shape key. However, it was possible to take an existing .nif with a NiGeoMorpherController, substitute the new morph and mesh data and add the NiFloatInterpolator and NiFloatData in Nifskope. That's what I did initially, and although it took a fair amount of tweaking, it does work correctly and reliably.

I then remembered that I had a later version of the NifScripts (2.5.5) on my laptop. These scripts will actually export all the data for a working morph, however they are a little bit flaky right now. If you export "Geometry Only", the morph controller and data are exported along with a NiFloatInterpolator block for each shape key, but no NiFloatData blocks, so there's no animation. If you export "Geometry + Animation", you get a working morph animation (at least in the NifSkope Render), but there's no NiControllerSequence so you can't invoke it from a script. If you save a "Animation Only" .kf and load it into a .nif created with Geometry + Animation, you get everything (plus a little extra you don't need). The file will have two sets of NiFloatInterpolator and NiFloatData blocks. Most of the time, I could delete the extraneous set, although several times the animation would stop working when I did, although nothing I could find referenced the extraneous set. There were several other things that seemed to not happen the same every time. This is most likely due to my ignorance and scripts that need a little more refining for this application. I do hope some of this information may be useful to others.

So, the short answer is, using the latest Blender Nif Scripts (2.5.5), you can export working shape key morph sequences. Just export a .nif using the "Geometry + Animation" option, then export a .kf using the "Animation Only" Option. Open the .nif and use the spell to import the .kf. If you don't want to do a little experimentation and tweaking, just leave the extra NiFloatInterpolator and NiFloatData blocks alone. They don't take up much space and don't seem to do any harm. You can set the name of the NiControllerSequence either by setting "Anim Seq Name" in the export dialog or by just changing the name in NifSkope. Remember that only certain names can be used for the sequence controller name, see: http://cs.elderscrolls.com/constwiki/index.php/AnimGroups. One of the better tutorials for creating shape keys and setting them up using the Action Editor in Blender is: http://www.scribd.com/doc/10078385/Essential-Blender-08-Shape-Keys-Tutorial.
User avatar
suzan
 
Posts: 3329
Joined: Mon Jul 17, 2006 5:32 pm

Post » Tue May 17, 2011 7:18 am

@ Vince Bly -

I have just now posted a tutorial that uses a second method for making morph animations for Oblivion, using Blender:

http://www.silgrad.com/wbb2/thread.php?threadid=12571

The method I found, allows more freedom, and is more error-proof ; here are the pros and cons I could think of with this second method:

Pros:

*** Allows for use of “Sculpt Mode”, for easier modeling of organic shapes.

*** You don't have to worry about accidentally deleting one or more “shape keys” under the Blender “Shapes” tab, therefore having to start all over again with making the morphs' pose(s) from scratch.

*** You can change your mind later and alter a posed section on a mesh to be different, without having to redo all of the mesh's posed sections all over again (Example: you don't have to alter your mouth's pose, but can alter those flaring nostrils, without having to remake the mouth pose).

*** You have side-by-side visual references next to the original mesh, that each pertain to a different morph pose.

*** The second method is more like how 3DS Max does morphs, so it's more user friendly for users of such program, whom also happen to use Blender.

*** And maybe more....

Cons:

*** I honestly can't think of any right now, except for extraneous shapekeys that are often created in using this method, but they easy and quick to clean up.
----------------------------------

I linked back to this forum thread in my tutorial, for "Credits" reasons, and so people could read what you personally found out about Blender morphs and also see the tutorial you linked to.

Koniption
User avatar
Anthony Santillan
 
Posts: 3461
Joined: Sun Jul 01, 2007 6:42 am

Post » Tue May 17, 2011 9:16 am

Yeah!!! Woohoo, this is great info. Thank you all so much. And for the links as well, all have been saved for later perusal. :P
User avatar
Floor Punch
 
Posts: 3568
Joined: Tue May 29, 2007 7:18 am


Return to IV - Oblivion