Jump to content

Invoking and Tweaking Animations


Recommended Posts

Right then folks. This is how I import an animation into Blender, tinker with it and then re-export it either as an overwrite or into a vacant slot in ani2.

 

Again, please skip the stuff that you already know.

 

If anything isn't clear please tell me. I might not know I've left something out.

 

If you think I'm doing it plain wrong please tell me - I'm on the learning curve too (it's like trying to ski up a ski jump). I do it this way because it seems to work, but that doesn't mean there isn't a better way, there almost always is.

 

So:

 

3.1 First off I import the meshes that I want to animate. The animation is bound to the skeleton, not the meshes as such (though the mesh will hold general information like what bits (vertices) move with which bones). You're not going to re-export the meshes, or indeed the skeleton. But you need a skeleton to hold the animation, and the meshes to see what you're doing.

 

You only need to import the body parts that are going to be actively involved. Here, I'm going for a kneeling oral animation and just about everything is going to be needed.

 

A character is made of several meshes, so you import them one at a time as I imported the lower body above.

 

Here I start with the feet.

 

 

I delete the bones that come with each part of the mesh as I import it. Don't move any bits of the mesh, as the import facility will bring them all neatly into the right place for joining together - well at least the standard parts.

 

 

It may be a good idea to import the head before importing the upperbody, as the upperbody mesh can hide head bones and it saves faffing around trying to find them.

 

As I import I decide what parts need a special texture, as opposed to the default. For instance if the animation involved vaginal or anal sex I'd want the appropriate lowerbody texture as the effects appear quite different depending on the texture. You want to apply the textures before joining the meshes together.

 

 

In this case I think I'll have the head textured in a probably futile attempt to get the mouth in approximately the right position.

 

 

 

TBC...

 

 

 

 

 

 

 

 

Link to comment

CONT...

 

In addition to the standard mesh, for this animation, I think I'll import the bunny ears. Mainly to give my PC something to hang onto...

well no, actually just to make sure I don't accidently pass any body parts through them, (Hands for instance), when she's bobbing her head.

 

 

 

Note a couple of things. The ears have no bones, so nothing to delete there, and unlike the other bits they've turned up in the wrong place.

 

Well, they're actually in the right XY location, but they need to be shifted up to the head. GZ them up until you see black dots appear on the scalp, then drag down to hide the dots. That's where I think they should go.

 

 

 

That'll do, so I select all the body parts (not the camera or lamp) and press CTRL-J to join the meshes.

 

 

 

One last thing with this mesh. Although part of one mesh object now, the Ears aren't part of any vertex group, so when we bring in a skeleton and start moving, the ears are going to stay where they are, hanging in space. If they were physically attached to another part by an edge the mesh would distort horribly. The logical place to put them, I think, is to group them with the Head vertex group

 

3.2 TAB your mesh into Edit mode. Press A to deselect all vertices.

3.3 Drag up the button window and hit the editing box (or press F9).

3.4 In the Links and Materials menu box (far left) browse and select Bip01 Head

3.5 Press Select. The head vertices should now be glowing yellow.

 

 

TBC...

 

Link to comment

CONT...

 

3.6 Select all the ear vertices. The quickest way, I think, is to BOX select. Make sure that you can see occluded geometry (the shadowed cube second in from the right on the 3D window footer) or are in wireframe (Z toggles it). In the 3D window, above and to the left of the ears, press B. Crossed lines appear, LMB and that gives you the top left corner of a selection box. Drag down and right to enclose the ear vertices which are then selected when you take your finger off the button.

 

3.7 press NumPad 4 or 6 a few times to rotate the mesh and make sure that you've got them all

 

3.8 press ASSIGN on the links&materials menu box

3.9 press DESELECT and SELECT a couple of times to convince yourself that all the vertices are now part of the group.

 

We're not changing anything in Oblivion here, this is just a practical thing to let you see what's going on while working in Blender, the altered mesh isn't going back this time.

 

TBC...

 

*********************

 

In the best trad of DIY shows, here's one I did earlier, just to keep your interest alive while I write up and screenshot the next bit - here's a couple of bits from the "alpha" un-release, basically animation x06 re-jigged so that Bunny wasn't either kneeling in mid-air, or giving him an "earjob". By happenstance the animation kicked in while my PC was was backed up against a bed, so it looks as though he's sitting down while Bunny gives him a seeing too.

 

post-15081-13597871028112_thumb.gif

 

post-15081-13597871028562_thumb.jpg

 

Link to comment

...CONT

 

4.1 Hit TAB in the 3D window to return to Object mode. Now we import the animation. Make sure nothing in the 3d window is selected and import your skeleton.nif as before, but when you come to the NifTools window, as well as the selecting the "import skeleton only", select "import animation" and in the keyframe file section browse through to the .kf file you want to edit, I'm using 06_DefMotionx1.kf

 

The standard convention is that Def files are the "female" and Off files are the "male" actors. The animations are played by lovers in the order 1,2,3,0 with 1..3 building up to the climax 0.

 

 

 

and hit OK.

 

 

 

You see a pink skeleton adopting the pose of one of the frames of the animation you have chosen.

 

4.2 Hit A to deselect the skeleton (it should go black). Now select the mesh (pink outline for selected) and then SHIFT-select the skeleton, so both are pink, but you chose the skeleton last.

 

4.3 Press CTRL-P to parent the mesh to the armature (skeleton).

 

 

 

Blender will ask if you want to create vertex groups. We're not doing anything with them this time, so select "don't create groups"

 

 

 

And you should now see your mesh wrapped around the skeleton in the pose. In the header of the button window is a frame counter. If you play with this you can see the animation stepping through frames.

 

If you press ALT-A the animation should loop through, and you stop it with a RMB click.

 

Next, giving Bunny something to play with.

 

TBC...

Link to comment

CONT...

 

If you go to the ini file for this animation, 06_Motion.ini, and look for Chinupo -

 

(Translators aside: chinpo ちんぽ (or チンポ) is nihon for cock if you ever need to string search for it, but is often politely censored to ち〇ぽ = chi*po = c*ck which really screws up automatic translators, and now g00gle has stopped giving you the phonetics life has become even harder....sigh. If any translators need help, by the way, I've been fighting my way through nihon idioms and slang for a bit now and understand some (but not all by any means) of the gibberish automatic translators put out.)

 

You'll see this

 

 

which translates as

 

 

i.e the animation maker recommends using a horizontal cock.

 

So I import a horizontal cock mesh ASHArdware1.nif (I assume the AS stands for the great Alien Slof) which is in meshes/clothes/as/ in my layout. Remember to uncheck the skeleton and animation in the Niftools window, it's just "extra nodes" you want.

 

 

Then as with Bunny's dummy I create a dummy mesh by importing the rest of the male parts, and joining them. (Strictly speaking I don't think it's necessary to join these meshes, but I find it less distracting if I can't see all the seams.)

 

 

 

 

TBC...

Link to comment

...CONT

 

up 'til now I've been in the modelling layout, but before I import the Off animation I want to check a few things with the Def animation I've imported, and I may as well check them in the animation layout.

I pull down and select layout 1-Animation

 

 

 

That brings up something like this

 

 

First I sort out the view in the middle window. Z toggles me out of wireframe back into solid. View-view properties-solid tex, as previously, gives me my textures in solid mode, and Numpad3 or CTRL+Numpad3 gives me a side on view.

 

I use the Action Editor to organise what bones are key in each frame of the animation, so I turn the Right window into an Action Editor.

 

 

Now the bit that I wanted to look at just now is the script that contains the NiTextKeyExtraData TextKeys, so I widen the outliner window by LMBing the window border and dragging it right and turn the left window into a text editor like this

 

 

 

TBC...

 

Link to comment

...CONT

 

In the Text window hit the browse list and choose "anim"

 

 

If you can't see any text mousewheel scroll up to reveal the script, and widen the window so you can see it all.

 

 

 

1/start

1/end

1/Enum: Face happy 30 0.1 0.75 0.1/Enum: Face BigAah 100 0.1 0.75 0.1

28/Enum: Face happy 30 0.1 0.2 0.1/Enum: Face Blinkleft 100 0 0.4 0/Enum: Face Blinkright 100 0 0.4 0

35/Enum: Face happy 30 0.1 0.75 0.1/Enum: Face BigAah 100 0.1 0.75 0.1

61/Enum: Face happy 30 0.1 0.2 0.1/Enum: Face Blinkleft 100 0 0.4 0/Enum: Face Blinkright 100 0 0.4 0

75/Enum: Face happy 30 0.1 0.75 0.1/Enum: Face BigAah 100 0.1 0.75 0.1

106/Enum: Face happy 30 0.1 0.6 0.1/Enum: Face Blinkleft 100 0 0.6 0/Enum: Face Blinkright 100 0 0.6 0

116/Enum: Face happy 30 0.1 0.75 0.1/Enum: Face BigAah 100 0.1 0.75 0.1

151/Enum: Face happy 30 0 0.4 0/Enum: Face Blinkleft 100 0 0.4 0/Enum: Face Blinkright 100 0 0.4 0

 

is what I see when I load 06_DefMotionx1.kf and there are a couple of suprises.

 

I refer a lot to cs.elderscrolls.com/constwiki/index.php/Facial_expressions_in_animations when I'm looking at this script, and heartily recommend other folk give it at least a once over, because this correlates almost exactly to what you see in NifSkope.

 

I'm going to assume that most people don't play with Nifskope much, so skip over the bits you know.

 

double-click on the .kf to open it in NifSkope. I see something like this, but it may vary depending on how you've got your views set. Note that I've got two major tabs, block list, and details. I'm in Block List.

 

 

 

So, in the Block List expand out the NiControllerSequence by hitting the little plus sign, and now you see all the blocks in the tree depending from NiControllerSequence.

 

 

 

TBC...

 

Link to comment

...CONT

 

Scroll to the bottom and see NiTextKeyExtraData. Almost all the other blocks are fairly anonymous NiTransformInterpolators and you have to go through the rigmarole of finding which one your action/bone/bit is managed by, but this one is a) uniquely named B) usually the last one in the list.

 

 

Select it and hit the Block Details tab.

You should see something like this. If it hasn't taken you directly to the right line, scroll down 'til you see the 160 block and expand it

 

 

What we're interested in is the Text Keys, so expand them out.

 

 

First off I noticed that this animation has no length, you see in the blender script that it starts and ends in frame one. This is technically known in the trade a "still", not an animation.

 

However, the animation runs fine despite this - or appears to, has anyone noticed strange behaviour soon after a blowjob? - so the extra data must be overidden elsewhere.

 

Having said that, I'm going to give my version of the animation an end frame, which NifTools will turn back into a time float when I export.

 

Second thing I noticed was that the times for events didn't match up exactly with frames,

 

In the first animation text key you see that in Frame 1 the young "lady" (or rabbit) looks moderately happy and opens wide.

 

BLENDER

1/Enum: Face happy 30 0.1 0.75 0.1/Enum: Face BigAah 100 0.1 0.75 0.1

 

NIFSKOPE

0.000

Enum: Face happy 30 0.1 0.75 0.1 Enum: Face BigAah 100 0.1 0.75 0.1

 

means

 

1/ is the first frame of the anim, interpreting time zero

There are 30 frames in an oblivion second. Nifskope uses seconds, Blender uses frames.

 

ENUM:Face is obligatory

 

happy is the FaceGen label (if you didn't know, FaceGen is the off the shelf software B&thesda use for morphing faces)

30 means 30% up the slider from mildly amused to grinning manicly

0.1 means go from stone-faced to mellow in 3 frames (build up)

0.75 means hold the smile for 22.5 frames (?)

0.1 means lose it in 3 frames

 

Simultaneously, Make a big AAH face like for the doctor

open wide as possible in 3 frames, hold for 22.5 frames and lose it in 3 frames.

 

The resulting expression will be a combo of these two morphs.

 

That half frame is a bit odd, but remember, Blender isn't animating the face at all, and FaceGen just wants times, not frames. However, I think things might get out of synch, so I'll try to match frames with a time that factors with 30. And I think that I'll try to hold the expressions longer than 3/4 of a second, this is more like a happy goldfish than a blowjob.

 

 

First let's find a realistic end time for this animation.

 

TBC...

 

 

 

 

 

Link to comment

...CONT

 

In NifSkope, if we go to details of the NiControllerSequence we see

 

 

 

The time given for the animation is 5.6333. If we multiply that by 30 we come up just shy of 169,

 

If we go to the Action Editor window in the animation layout and scroll it to the last frame (press the MiddleMousebutton and drag) we can confirm that the last frame is 170.

 

 

 

 

 

The discrepancy is fine because due to a fencepost sort of thing the real frame count is really offset by one from what you'd expect so an animation running exactly 1 second should be given frames 1..31, and a 2 second animation should have a final frame of 61.

 

(Koniption explains in his tut on Morph Animations at ww.silgrad.com that it's down to blender starting at 1 rather than 0 thus you need to stick an extra 1 on the end.)

 

The original animator didn't seem to bother with whole numbers and it doesn't seem to matter, but I think it makes life easier.

 

However, I don't want to make more work than necessary so I'll stick with around the same length. 5.5 seconds is 165+1 = 166 frames. That shouldn't cause too many problems.

 

I'll copy the last frame (170) and paste it at (166), then delete 170.

 

In the Action Editor press A to deselect everything

 

 

 

If the green line isn't on frame 170, RMB on frame 170 and press CTRL-K to select all the keys in that frame.

 

In the grey column with the bone names press A to make sure all are selected (white)

 

press the button with the black arrow pointing down into an orange layer (paste to buffer). If you can't see that button collapse your pull down menus, by pressing the little black right arrow. If you still can't see it widen your window.

 

 

 

 

TBC...

 

Link to comment

...CONT

 

Go to the "current frame" in the footer of the timeline window, which is reduced to a narrow strip below the action editor and display windows, and set it to 166. Click somewhere neutral.

 

 

 

The green line moves to 166. Press the button with the arrow pointing up from the orange layer (paste from buffer) and the the pose that was happening at 170 is now happening at 166.

 

 

 

press A to deselect all the keys, select frame 170 again and press CTRL+K to select the keys on that frame. Press letter x in the action editor window and erase them.

 

 

 

 

Fine, now the last frame is 166 we should mark it as the last animation frame in the timeline and in the script window

 

 

 

Select all the text in the script window and copy it (CTRL_C works) to a notepad or something. I'll get round to sorting the facial animation later. Before I export I'll paste it back into the script window and edit it.

 

The reason I've been looking at this now is that I want to import the Off animation, and with only one anim file I'm fairly sure it'll just overwrite the Def script window with its own script, and being a lazy bugger I'd rather let Blender do most of the work, and not have to mess around in NifSkope more than absolutely necessary.

 

 

TBC...

 

 

Link to comment

...CONT

 

Ok, back to the Modelling layout.

 

With nothing selected let's import a skeleton for our male dummy, and attach a 06_OffMotionx1.kf to it. (skeleton, animation and .kf attachment only.)

 

When it appears parent the mesh to it, no vertex groups (select the mesh, then the armature).

 

 

 

We now have the two actors on the stage, but not in position.

 

1. Rescale the rabbit.

The bunny dummy is too big. The rabbit is scaled at 68% and the reason for bespoking this animation is to compensate for that.

a) ALT_H to unhide the bunny dummy armature.

B) select only the bunny dummy mesh and armature

c) press S .68

d) LMB click to confirm

 

Don't be alarmed if during the process the mesh vanishes when you press the .

 

Hide the armatures, and you should now see something like this.

 

 

One of the actors is going to have to move, in this case its probably easier to move the bunny dummy so select mesh and armature and press RZ 180 and LMB to confirm, then GY the dummy backward into approximately the right position.

 

 

 

Note that all this scaling, and moving is being done in Object mode. We aren't touching the bones at this point, just getting the dummies into position so that they more or less interact in the right way.

 

Now back to the animation layout.

 

 

 

As predicted, the script window is overwritten by the import. It looks as if the male figure stays stoicly impassive during the initial phase of operations.

 

Change the end to 166 there and in the Timeline window.

 

press run in the timeline to see the animation as is.

 

The jerkiness of the Off animation is because for some reason the original animator has the Off animation run way past the end line of the def animation, and a cardinal rule of looped animation is that the last frame (professionally the last frame + 1) should match the first I suspect some cut and paste error but there may be a reason, maybe the two animations were designed to go out of synch and rejoin after set number of iterations ?

 

TBC...

 

 

 

 

 

Link to comment

CONT...

 

Please note that this thread isn't about telling you how to make one specific animation, but tries to explain a load of technical stuff by example in the context of creating a new(ish) animation. It's definitely not a how to animate tutorial, but as that's what we're about we have to create one, and hopefully in the process show how easy it is to make something that looks half way decent with very little effort once you've worked out the process. (note the word "hopefully")

 

So we want to create the first frame. We've inherited the basic posture and moves from the animation we imported a copy of, but here's where we junk most of that and get creative.

 

The obvious problem is connecting the meshes in the relevant fashion, we have situation

 

 

 

and want to get to a situation like this

 

 

 

 

We need to straighten the bunny dummy's legs and straddle the dummy dummy's legs to bring the hand and mouth in range of the target.

 

Starting with the bunny dummy the bones that we want to manipulate in pose mode are the thighs, the calves, and the pelvis chiefly, and maybe nudge the feet into better alignment.

 

Hopefully these snapshots will give an idea.

 

 

 

 

The thighs rotate from the hip so straightening them out pushes the knees underground. Rotate the calves to a right angle with the thighs and you've more or less got the shape, but on a slope and too low down.

 

Here the pelvis bone is your man. Utterly useless for pelvic thrusting, it effectively lets you use the whole mesh as one, so you can rotate the mesh into the upright and raise it to the level you want.

 

TBC...

 

 

Link to comment

 

 

Here the pelvis bone is your man. Utterly useless for pelvic thrusting' date=' it effectively lets you use the whole mesh as one, so you can rotate the mesh into the upright and raise it to the level you want.

 

TBC...

 

 

[/quote']

 

Just sayin', you should be able to do some pelvic thrusting by moving the pelvis bone (grab/rotate) and then moving the thigh and spine bones back to where they were. For example, grab the pelvis bone on the x axis and use a value like 0.2, then select the thigh and spine bones and move them on the x axis for a value of -0.2. Or move the aforementioned by -0.1 and their child bones by -0.1. I think this should work.

Link to comment

@GrimReaper

 

Cheers, I see what you mean, pull the whole body back or up with the pelvis bone, bend the body < shape using the pelvis as a pivot point, (and maybe straighten legs a bit to tweak any toe sliding), so it looks as if only the pelvis region has moved. Copy original a few frames later and you've got a good thrust going on. Nicely straightforward.

 

And can I add that it's a real relief to know that someone out there is reading this stuff!

Link to comment

...CONT

 

When you're happy with the first frame pose for the bunny dummy you want to anchor it in the frame (or any accidental CTRL_Z will undo all your patient work).

 

 

 

So, make sure the green line in the action editor is on frame 1 and in the display window select all the bunny bones.

Press I to bring up the insert menu and press "LocRot". This fixes the location and rotation of all the selected bones into Frame 1

 

 

 

You'll see that a whole set of bones that you're not going to use has appeared in the bonelist of the Action Editor window, but they're not selected.

 

NifTools requires that all the bones in a given armature are keyed in the first and last frame of an animation whether they do anything or not. On export they'll just be given a priority of 26 and otherwise ignored but Oblivion gets gnarly if they aren't there. So select A to select all those extra bones

 

 

 

I tend to press I and LocRot here for good measure, though technically they are already keyed.

 

 

Now, with everything selected and the keys in the first frame only selected (orange) (which they should be but check and if there are any extras select them away or press A deselect all and CTRL_K in frame 1 to select only that) CopyToBuffer (arrow into orange layer button). Go to the last frame (quick way is to hit go to last frame doublearrowbar button on the "player" controls of the Timeline window) and press PasteFromBuffer.

 

 

 

The first frame is now copied to the last, so we can make a proper loop animation, and all the bones are keyed in frame 1 and frame 166 as they should be.

 

TBC...

Link to comment

...CONT

 

Select Object mode and select the bunnydummy (BunD) mesh and armature.

 

GY it forward a bit so that when the dummydummy (DumD) is lower the hand and mouth are where we want them.

 

 

 

We've now got an idea of how much the chap's got to drop to position his chap as it were.

 

ALT-H to unhide the DumDs armature, select BunD's armature and H hide it.

 

Select DumD's armature and go into pose mode.

 

Numpad1 into rear view.

 

Select and rotate the thighs outward.

Select each foot and rotate it flat.

Select the pelvis and bring him down to earth.

 

 

 

Rotate the view (numpad4 and 6 or just numpad3 into side view) and note that our lad is now being given a nosejob. That's one I've not come across myself in my vast experience, rhinolatio maybe ? or is that sucking noses ?

 

 

 

We want to be a smidgin lower, so go into side view (numpad3)

and play with rotating thighs, calves, feet, and spine and moving up and down with pelvis, until you're happy that everything lines up so that in game it is easy to dock meshes using 1-2-3-4-9-0 keys.

Rotate your view around with the Numpad4 and 6 keys to check nothing looks too odd, and make it easier to select bones.

 

BunD's hand position needs tweaked a fraction, but first we'll capture

this position in frame 1 before we lose it. Press A to select all the bones and I for the insert menu.

 

 

 

TBC...

 

 

 

Link to comment

CONT...

 

Like with the BunD frame1 we want to copy that into the last frame.

The original Off06 goes up to 240 frames - 70 frames past the Def06 and they are both on frequency 1 - so moving at the same rate. I don't know why that is, but, as I said 06 works.

 

Anyway, this is a new(ish) animation that is going to be saved in its own slot and I prefer to synchronise the action, so my Off animation is going to last 5.5 secs too.

 

So I copy Frame1 to Frame166 and while I'm there I delete all the extra keys that go beyond 166, I've heard that Oblivion doesn't like these loose ends, but who knows. Like I said 06 and other pretty ragged animations seem to work just fine.

 

Let's get to back to BunD.

 

Run the animation a few times to get a feeling for the speed that it's going and the general action. If anyone's following this step by step - see that tail swinging, neat if your models got a tail, I'll leave that in.

 

Now let's get the new stance applied throughout the animation.

 

First I prune out the unwanted Pelvis keys. Select them all between first and last and x to erase them. Then I run the animation to see the effect

 

 

 

 

 

 

As you can see the BunD height is ok throughout, now I need to do the same for thighs and calves, and then do the same for the DumD keyframes, taking out the unnecessary frames for pelvis, thighs, calves and feet.

 

All done and now what you essentially have when you run the animation is the peck and recoil action of the original 06x1, but adapted for a shorter partner kneeling up while the fellow straddles a bit.

 

Here's a vastly speeded up gif taken from a few frames

 

 

 

 

I could do a lot more with it, more hand action for a start, but this is an example of the process so I'll do that later. Time to export, but first to tidy up those scripts and edit the facial expressions.

 

TBC...

 

 

 

 

 

 

 

Link to comment

Quick Note I've added this to my download post above, but if you've already read past it I thought I'd best put it here.

 

**** PLEASE NOTE ****

If a mesh has actually got some vertices in a vertex group, then the skeleton it uses has to have a bone with that name.

 

E.g. if you use a mesh with "bip01 vaginalips.r" vertex group and there are vertices assigned to that group then there has to be a bone called "bip01 vaginalips.r" in the skeleton or you will get textures zooming off.

 

The SkeletonBeast I was using doesn't have these bones so Argonians and Khajiits would suffer distortion, and any other skeletons that just have a "pussy" bone would distort there too.

 

I hadn't realised that my beasts didn't have the same bone convention as my skeleton.nif until I started in with an Argonian bandit of easy virtue and things suddenly got very strange.....

 

I've now turned to Growlf's TotalControllableUniversal Skeleton, that uses vagina and buttocks the way the good lord intended both for man and beast. EDIT: (ten minutes later) veeerry complicated, come back MCS all is forgiven. EDIT: 16/10 This week I am mainly using the SkeletonForLoversMotion brand of MCS....

 

 

Link to comment

...CONT

 

Sorry for slight delay. One T.Pr@chett put out a new book yesterday and that confused my priorites. (I use the @ because I don't want every google for pr@chett to point at this thread).

 

Ahem, where were we. Oh yes. Let's paste the Def06 script back into the script window.

 

You see that there are 4 big ahhs followed by a blink. For now I'm going to leave that as is, and just edit the times.

 

Here's 7 sec .avi clip of the animation as it plays in blender. Much better than a gif, thanks to HyperC@m2 (freeware, for @ read a). The animation should cover roughly the same ground in 5.5 secs in game.

 

 

 

Step through the animation. It starts with the def in mouth to tip contact, the mouth engulfs the tip and doesn't disengage until frame 21

 

 

 

so our mouth opening should reflect that. Let's say there are 21 frames. The build up (opening) and fadeout (closing) are 0.1 second, 30 frames to a second, so 3 frames each, 6 frames. That leaves 15 frames of mouth open or .5 of a second. The script as it is has .75.

I'll change that.

 

I'll leave the blinking as is.

 

Stepping through again I see that the next time the mouth is in the same position as frame1 is frame 40.

 

The script says frame 35 so I'll change that, and the length of engagement is shorter, as she disengages on frame 54/55 (take your pick).

 

I think I'm going to give her more mouth closing time here, (as I think the original animation with its mouth snapping open and shut reminds me too much of feeding goldfish), so I'll increase the decay to .2 or 6 frames.

 

Keeping the 3 frame build up, as the mouth stretches over the tip, giving .4 of a second (12 frames) engagement takes us to 55, and then the 6 frames of mouth closing as she takes her head back, coinciding with that blink at 61.

 

She comes in again a 75/76, the script has 75 that's ok, disengaging at 96, this is like the first sequence, so I'll just amend the hold pose length to .5 and increase the closure by that fraction.

 

She comes back on 120. The script has 116, now I'll assume a little anticipatory mouth opening here, and keep it 116, extending the opening time to .2 (6 frames) which takes us to 122. She disengages about 135, let's go for 12 frames of engagement (.4) and again 6 frames to close the mouth (.2)

 

And that's it, She moves toward the tip again, brushing it in 165/6, but the anim for that is covered by the first text keys.

 

Of course, this will probably look naff in game and need reworking again, but a) I hope this shows how easy it is, and B) Once you've got a solid idea of the action, it's straightforward to make little changes to the values in NifSkope.

 

TBC...

 

 

Link to comment

...CONT

 

Now to export the animations and see what they look like in game.

 

I check my ani2 folder and see that I'm not using 97, so these will be saved as 97_DefMotionx1.kf and 97_OffMotionx1.kf.

 

I copy the existing 06 .kfs and rename the the copies 97. I go to ini and copy the 06 ini file, and rename the copy 97_Motion.ini.

 

This way I can run the animation in game to check it, overwriting each piece of the original 06 as I go.

 

In Blender I select ONLY THE SKELETON of the BunD and file-export-nifs etc.

 

In the file browser window that appears I navigate to my ani2 directory and type in 97_DefMotionx1.kf and hit export nif/kf

 

In the NifTools window I select the export .kf only option.

 

 

 

Now I wait for what seems a long time, but is only two or three minutes.

 

When it's finished and my models reappear on the display window, I go to the .kf and doubleclick to open it in NifSkope.

 

 

 

 

In the "details" tab I expand the NiControllerSequence and see that the block name has been taken from the export string. I know that this should be "specialidle" here by looking at the 06 files, so I edit it to "specialidle". DoubleClick next to NiBlock and when you change this it updates the other field automatically.

 

Having the wrong name here can lead to the phenomena of the two actors standing staring at each other while sound effects suggest they are quite actively engaged.

 

Further down the NiControllerSequence I see that the cycle type is "cycle clamp" (which just means do it once only), so I pull down the options arrows next to that and choose "cycle loop".

 

Save, it will always ask if you really want to save over an existing file, say yes.

 

Repeat the process for the Off animation -

There is no script for the Off animation so, in the text editor window of the animation layout delete all but the "start" and "end" lines.

In object mode select only the DumD skeleton, export it and change these two fields in NifSkope. Save it.

 

And that folks is it for the first of the four animations. I now have the basis of an animation that though designed for one NPC, will work with any character of the same size.

 

Once you've got the hang of it it takes about half an hour from scratch to save, though that depends how long you want to spend getting the animation just right. My style is to make a quick roughout, and then refine it bit by bit over several versions, someone else might spend their time getting it just right in one sitting.

 

post-15081-13597871087548_thumb.jpg

 

post-15081-13597871088501_thumb.jpg

 

The two things I want to describe next are how to add the extra bone animation for spreadable vaginas etc, and how you can call whatever xLovers animation you want in your dialogue or script whenever you want it. I've touched on the latter above in POST #3, but some screenshots might make it plainer.

 

So first off I'm going to have Bunny finger herself with her left hand while she's giving a blowjob, and her bunnyhole will flex and open under her touch.

 

TBC...

 

 

Link to comment

Very nicely done indeed. A few too many screenshots for my taste (I know some people want a screenshot for everything so I understand. (A picture is worth a thousand words, but the wrong picture, none at all I always say!))

 

One thing that would be useful is a discussion of the pros and cons of different skeletons. The vanilla ones are hopeless, but there are quite a few different 'max compat' versions floating around and they aren't all the same.

 

Maybe I'll manage the time to work up the skill to do the 'male Estrus animations' Nessa and I have thought about.

(are you all scared yet?)

Link to comment

Too bad you couldn't rework ALL (ah haha ....) the lovers animations to be compatible with the x117 sized races.

 

I don't think they're as short as your bunny-character, but shorter than the normal models. Some animations look fine, while others are terribly off-position (for x117).

 

Very nice on your work here, though!

Link to comment

@Symon Cheers. You're probably right, some of the screenies are almost certainly redundant, but I'd rather insert a pic with a red box or bit of text than risk confusing folk with a wall of text, (hmm, I do that too, maybe I need mooore screenshots!).

 

I'm still learning about skeletons myself. I'd keenly read anything anyone else has to say.

 

err...good luck with the male estrus.... [swallows nervously, moves away with back to wall...]

 

no, seriously, please put a walkthrough on LL as you do it.

 

 

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use