Jump to content

Custom skeleton/Animations tutorial


prodlimen

Recommended Posts

Some years ago I remember to have seen a tutorial uploaded to the Nexus that show how to create custom skeletons/animations for your custom creatures/robots. Not sure if it was uploaded to Fallout 3 o Fallout New Vegas site in the nexus, but it had examples and images, looked pretty neat. Unfortunately I haven't been able to find it, either it's really well hidden or it dissapeared. Do any of you know where I can find it?. It was a very valuable piece of knowledge.

 

Thanks in advance! :thumbsup:

 

Prodlimen :ninja:

Link to comment
Share on other sites

Mindboggles used to have an animation tutorial but it no longer exists.

 

You might find these helpful:

http://wiki.tesnexus.com/index.php/Creating_character_animations

https://cs.elderscrolls.com/index.php?title=Blender/Custom_Creature

 

I have made character animations but I have never made a custom creature. It is something that I would like to learn how to do though. If you want to work together to figure it all out I'll be happy to write up a tutorial afterwards.

Link to comment
Share on other sites

As Madmongo stated pretty sure the tutorial you are talking about is Mindboggle's Bringing Life to the Mojave. I'm not sure if it is still on the nexus.


I've taken a try at making a walkthrough of my process for making a horse creature in New Vegas. You might find something of use in it. Be advised it is long, I probably repeat myself, and some info is probably not 100% accurate.


6/16/2020-6/18/2020

STARTING

Before starting this be aware that there is a lot of poor writing and grammar. A lot of the things that are done are probably not the best or most efficient. At the end of the day you should have a creature with custom movement that can move and attack. It will not have dismemberment, nor a ragdoll, be able to be set to essential properly(unless you don't mind it being functionally immortal), and it will still have a chance to randomly convulse. You will have to troubleshoot it like crazy to get it to work properly. I am sharing this so that folks can at least get an idea of how to get custom creatures to work using Blender. I know that there are people out there who have done much better work but there aren't all that many tutorials on the topic.


Just know that there are limitations and struggles before getting into it. (and I guess this guide is over 10 pages long and over 5000 words)


NIFSKOPE

..............................

Preparing skeleton in nifskope

..............................

I'm going to make a kind of walkthrough of making a custom horse creature. I'm going to use an existing open source mesh(modified and exported as nif), an existing heavily heavily modified skeleton from the chicken mod, and its kf animations as a base. I'm also going to make a copy of the skeleton and name is skeleton_chicken.nif


These files will all be exported to file location C:\dumb. I'm using Nifskope 1.1.3 and Blender 2.49b with nif tools.


You could follow along with your own mesh but it is important that you have it zeroed out 1,1,1 scale, 0,0,0 position, and 0,0,0 rotation. The scale is the only one I've seen cause issues in game but the others can make rigging more difficult. I'm going to assume you have a bit of understanding in using blender, at the very least camera controls and how to move/rotate objects/vertices. Note: I've never properly figured out how to set ragdolls or dismemberment. I will be covering the absolute minimum in terms of those.


Note if you are making a custom creature without a head still include a bone named Bip01 Head. If a creature doesn't have that bone and you try to talk them all sorts of weird things happen. You don't need to rig anything to the bone it just needs to exist in the skeleton, it is where the camera will point towards when you initiate dialogue.


Chicken only has 2 legs(thigh, calf, foot), a tail, a pelvis, a spine, and a neck/head. In new vegas terms it is a super stripped down skeleton. We need two more legs for the horse skeleton. Copy the bone(NiNode) Bip01 L Thigh by right clicking it, block, and press Copy Branch.



Paste it under the bone(NiNode) Bip01 Spine by right clicking Bip01 Spine, block, and press Paste Branch.



Do the same thing with Bip01 R Thigh.


Next we need to rename the leg bones to arm bones. Not that horses have arms. I guess.


Click the bone you want to rename, Bip01 L Thigh that is a child of Bip01 Spine, then in block details window click the Txt button next to "Bip01 L Thigh [6]"(or whatever the bones name is)



A new window will pop up with all the text files currently within the nif file in a list. Bip01 L Thigh, or whatever text value you selected, should be in at the bottom. Change it to Bip01 L Upperarm.



So we changed the name of the Bip01 L Thigh we copied and pasted to Bip01 L Upperarm

We are going to do the thing for:

Bip01 L Calf > Bip01 L Forearm

Bip01 L Foot > Bip01 L Hand


Bip01 R Thigh > Bip01 R Upperarm

Bip01 R Calf > Bip01 R Forearm

Bip01 R Foot > Bip01 R Hand


After all of the bones that were copy and pasted have been renamed, save the skeleton.nif


BLENDER

......................................

Preparing the mesh/skeleton in Blender

......................................

Our skeleton has all the bones it needs so we can import it into blender to "set" it with the mesh. Basically adjust the bones to fit the mesh so that it can move properly.


We are going to import our mesh THEN the skeleton. When doing anything to do with meshes and skeleton of thing it is important to that the skeleton that are rigging onto be the last thing that is imported. 1111


Click file, import, and then Netimmerse/Gamebyro (.nif & .kf & .egm)



Navigate to where your files are, all of mine are in C:\dumb, and select your mesh nif file, horse.nif. Then press Import Nif.



Next screen will pop up, click restore default settings, and you can tick off import animation. It shouldn't make any difference since the nif is static and has no animation data. Then click Ok at the bottom left.



The horse is imported. Now we're going to import the skeleton. Click file, import, and then Netimmerse/Gamebyro (.nif & .kf & .egm). Navigate to where your files are, all of mine are in C:\dumb, and select your skeleton nif file, skeleton.nif. Then press Import Nif.



Use the same settings as we did when importing the horse.nif, they shouldn't have changed. Now your skeleton should be imported. The only thing we are going to be working with right now is the skeleton and the mesh, so we can delete everything else.


Press a to select/deselect all. Holding down Shift right click the horse mesh and the skeleton to select them.



Press Ctrl i to invert selection. Then press Delete, a popup will show up, click Erase selected Objects.



Now we need to adjust the horse mesh to face the proper way. In New Vegas all the creatures have to face the way that the green arrow in blender, the y axis, is pointing, even though literally every other game I've modded had their stuff facing the other way and most other 3d mesh faces the other way.


Right click the horse mesh to select it. Then change the mode to edit mode by pressing the object mode button, on the bottom menu, and then press the edit mode button from the drop down menu.



Change the Pivot by clicking the little semi circle with a dot in the middle of it, next to the mode button, on the bottom menu from Median Point to 3D cursor.



Change the "3d form manipulator" to rotate by clicking the green circle on the bottom menu, or press ctrl alt r.



Click and hold the blue rotate control and when the mesh starts turning type 180. To rotate the mesh to face the opposite direction. (I'm also going to scale down the horse slightly. To do something like that press s and then input whatever value you want to scale it to. I'm going with 0.5.)



Now we are going to switch back to object mode, switch the pivot back to median point, and switch the manipulator mode back to translate(move).



Press a to select all. Shift right click the mesh THEN the skeleton. Press ctrl p. A popup window will come up asking make parent to. Select armature and then name groups.



The horse is now technically connected with the skeleton. Although none of the vertices are assigned to any bones. Now we are going to


BLENDER

..............................

Adjust the skeleton in Blender

..............................

Select the skeleton and go into edit mode. In this section I can't really offer much guidance. Its all a matter of getting the bones to about where they "should" be. I really just eyeball it most of the time and try to keep on mind what types of movements I want my creature to be able to do when I get to animating it.


A few important things to note with bones the position of the bottom little pink point is incredibly important, it is going to decide where your bone pivots, that is where it is going to bend. To top is is usually just the connection to the bone that is a "child" of the current bone. When moving bones you can move multiple bones, single bones, or either tip individually. When positioning thing like arms/legs it is usually easier to move them into their general position at the same time, if they are roughly symmetrical, and then make any minor changes needed.



Just as a simple example we'll set the location of the head and neck. Select the head and neck bone, and use the blue(z axis) and green(y axis) translation moving arrows to move the head and neck to around where they should be on the horse mesh (z should be 11 y should be 5)


(You can also change the draw type to wired make it easier to tell where the bones are inside the mesh, it is the little cube with four smaller cubes around it button on the bottom menu.)



Now select the bottom tip of the neck bone and adjust it be close to where we want the neck to bend. Now press a to deselect all, and press b to boarder select and drag the selection boarder over the head bone. This select the head bone and the top tip of the neck bone.



Now move the head bone, be sure that the bottom tip is about where you want the head to bend at.



That is it for the bone positioning of the head/neck. We could probably make some minor adjusts but we won't really know for sure if it needs it until we rig the mesh and see how it bends. To be best of my knowledge the tips of the bones dont need to touch and it fact some, like ones that have multiple children, don't. However when they are exported from blender the top tip will be connected to the bottom of the next bone in the chain. It shouldn't impact animations or anything like that though.


Now I'm going to go ahead and position the rest of the bones.



Also we want the tail move with the pelvis instead of the spine. So I'm set the tail to be a child of the pelvis. Select the tail bone. Pull up the below menu, which i usually have all the way down unless I'm using it. Under the Armature Bones section click to change the child of "Bip01 Spine" and select "Bip01 Pelvis".



BLENDER

..........................................

Rigging mesh on to the skeleton in Blender

..........................................

I know there are other, better, tutorials about this out there. I'm just going to cover the rigging the head and neck since that is tradition. We've already set the parent to armature. So now we just need to assign the vertices to the bones.


Go to object mode. Select the horse horse mesh, go to edit mode. Pull up the nether menu if you haven't already and make sure its panel is set to editing, the square with the four orangish vertices. Under the Link and Materials section make sure you have a Vertex Groups section, mine defaulted to having Bip01 Foot.R selected. If you don't have this section when you have your mesh selected then your mesh isn't properly linked with your skeleton.



Click the select button next the vertx group name, mine is Bip01 Foot.R, and click whichever Vertex group you want to assign, I'm going with Bip01 Neck.



Now select all the vertices that you want to assign to that group. You can either Shift click them all individually, you'll probably need to do this with some of them anyway, or you can boarder select them by press b and bordering over which vertices you want. Or you can use the, i really don't know what this tool is actually called, the coloring? tool by press b twice.


Once you have all the vertices selected that you want to assign click the assign button under the vertex group section. (make sure weight is set to 1, it should be by default but it could get changed under some circumstances)



From here we can go ahead and select all the vertices we want to assign to the head bone. We can use the Desel. button under the Vertex Groups section to deselect all vertices assigned to the Bip01 Neck. (be sure to not have vertices assigned to multiple bones it can cause some really bad bending)



Click the select button next the vertex group name, mine is Bip01 Neck, and click whichever Vertex group you want to assign, I'm going with Bip01 Head. Click the assign button under the vertex group section.


Now I'm going to test to see how the mesh bends. Go to object mode. Click the skeleton. Go to Pose Mode.



Now click the bone you want to test. Change the "3d form manipulator" to rotate by clicking the green circle on the bottom menu, or press ctrl alt r. Rotate it to see if it moves the way you need it to.


When you working with low poly meshes there is going to be a lot of compromises you have to make. I went into edit mode with the skeleton and adjusted the bottom point of the neck somewhat to get a better bend on the front of the neck. It's pretty much the same process as setting up the skeleton in the last section. It's just minor adjustment until you get movement that you can work with. (if your working with a skeleton that already has animations you can't edit the skeleton like this)


Usually i wouldn't do any of this sort of testing or skeleton adjustment until after the entire mesh had been rigged. Now I'm gonna go ahead and rig and adjust the rest of the mesh/skeleton.


Now we are going to assign the body part partitions, targetable s*** in VATS.

For the horse we'll only be assigning:

BP_HEAD

BP_TORSO


We are only going to cover the head as is tradition but the other body parts follow the same general idea. (when assigning body parts they are assigned by face, not by vertice.)


I should also have:

BP_LEFTLEG

BP_LEFTLEG2

BP_RIGHTLEG

BP_RIGHTLEG2

But since none of those partitions would have collision data since we only made collision data for the head and torso they wouldn't work right. BP_LEFTLEG2 and BP_RIGHTLEG2 are the back legs. (when assigning body parts they are assigned by face, not by vertice.)


In edit mode with the horse mesh selected switch to face select mode.



Select the faces you want to be apart of the "body part". Press the New button under the Vertex Groups section.



The vert group name will change to "Group" click group and rename it to whichever body part your working on, BP_HEAD, then press enter. Then press assign. (you only need to make each new group once)



Repeat this process for the remaining body parts. If you aren't happy with the mesh and skeleton and how it moves now is the time to adjust it.


BLENDER

...........................

Exporting mesh and skeleton

...........................

Now we are going to export the mesh, skeleton, and "test" skeleton.


First export the mesh. Go into object mode select the mesh and skeleton. Click file, export, then Netimmerse/Gamebyro (.nif & .kf & .egm). Navigate to where you want to export it. Select the default settings for Fallout 3. Select the Collision Option for creature. Set the mass to 10 (not sure if this has any impact). Set the shader option to skin. Toggle on Shadow Frustum. Click ok. (I'm not 100% on these settings but these are the ones that I know that can work) I'm going to name it horse.nif



If you have any vertices that aren't assigned to bones, or any faces that aren't assigned to body parts you will get an error and the export will fail. Blender will usually tell you which it is and even select them for you so you can fix it.



Now we're going to export the "test" skeleton. This is just so we can easily so how an animation is going to work with the mesh in nifskope. Its the same settings as exporting the mesh. The only difference is toggle off Flatten Skin. I'm going to name it skeleton_test.nif


Now we are going to export the skeleton.nif. In object mode select only the skeleton. Click file, export, then Netimmerse/Gamebyro (.nif & .kf & .egm). Navigate to where you want to export it. The export settings can all the same as the mesh export settings. The onyl differences need to be toggle off Flatten Skin, toggle off Export Dismember Body Parts and toggle on Use BSFadeNode Root. I'm going to name it skeleton.nif



NIFSKOPE

................................

Cleaning up the mesh in nifskope

................................

Open your mesh in nifskope, mine is horse.nif. Select the mesh, select BSShaderPPLightingProperty, and double click on the value of shader flags under block details to change it.



Turn off SF_Facegen.



Be sure to update your texture path if you haven't already under BSShaderPPLightingProperty, BSShaderTextureSet. Mine would be something like:

textures\horse\horse.dds



Next Right click your mesh, choose mesh, and select Update Tangent Space. (not sure if this has an impact on anything to be honest)



Save your mesh.


NIFSKOPE

....................................

Cleaning up the skeleton in nifskope

....................................

Open your skeleton.nif in nifskope. Mine came with the horse mesh, so I'm going to right click the mesh, select block, and remove branch. Now we are going to open skeleton_chicken.nif and add the things that are missing from our skeleton.nif by copying them over from skeleton_chicken.nif and pasting them into skeleton.nif.


In skeleton_chicken.nif right click BSX, select block, and copy branch.

In skeleton.nif right click Scene Root, select block, and paste branch.



You'll note that the block that was pasted over to skeleton.nif is probably not name BSX. We'll fix that the same way we renamed the copied bones in subsection 1 paragraph 2 word 5. Click the block. Under Block Details click the Txt button next to Scene Root [15].


A new window will pop up with all the text files currently within the nif file in a list. Scene Root, or whatever text value you selected, should be in at the bottom. Change it to BSX.



We are going to go through the same copy pasting and renaming process with BBX. After BBX is copied over and renamed you should notice a little red box near your skeleton. We are going to need to adjust the Center and the Dimensions of BBX so that box "properly" contains our skeleton/creature. (note the box needs to touch the ground)



Now we get to go over my least favorite part of this entire process. The part that I genuinely do not understand and will more likely then not cause a crash if not done correctly.


NIFSKOPE

...........................................................

Setting up the ragdoll and spheres of collision in nifskope

...........................................................

I know very little about this. The only thing that I know for sure is if you have less then two collision spheres your creature will inevitably cause a crash and the way that I set this up cause them to have major major MAJOR issues with their ragdoll. Which is why anything that I release using this method has knockdown turned off and explodes on death so that they don't use their ragdoll. For instance if I had one that was marked as essential and it "died" and then got back up it thereafter had the chance to phase into walls and kind of "blink" in and out of existence. All of that being said the only reason I am going over any of this is because it is necessary to make a creature even is if it isn't going to use it. Because I would absolutely love to skip over this section and not have to do any of these things every time I make a custom creature. It is genuinely a thousand terrible things. If anyone has any input on how to make this process less satanic and more functional I would extremely appreciative.


Right so getting into it. We are going for the absolute minimum required. That is two collision spheres and a constraint to connect. I recommend saving often there is no undo in Nifskope.


In skeleton_chicken.nif right click bnkBlendCollisionObject, select block, and copy branch.

In skeleton.nif right click Bip01 Pelvis, select block, and paste branch.



You will note that the bnkBlendCollisionObject we pasted over didn't even go where we pasted it because this whole process is an unholy demon and it should be sent back to hell where it belongs.


To fix this deformed and ugly crime for which Nifskope shows little pity, in skeleton.nif select Bip01 Pelvis. Under Block Details scroll down until you find Collision Object, double click its Value and change it to the number of the bnkBlendCollisionObject we just pasted in, in this case 60.



Now you should adjust the sphere that just appeared around pelvis bone. To do so click on the sphere, and then in Block details adjust the Radius, First Point, and Second Point until you get a shape that you are satisfied with.



We are going to do the exact same process with the bnkBlendCollisionObject that is a child of Bip01 Head in skeleton_chicken.nif.


The major difference with this one is that it contains bnkRagdollConstraint. If you kept all the bone names the same then you shouldn't have to do any work here. It should work it should just works. You just need to make sure that the bnkRigidBody's shape is set properly. They should match the numbers of your two bnkCapsuleShape's. Mine should be 24 and the other should be 12.



Save your skeleton.nif


BLENDER

..............

Animation Idle

..............

I know there are better New Vegas and general Blender tutorials out there that cover animation. I'd highly recommend looking those up. I'll go through a few examples involving heads and necks as is custom.


There are two main ways you can approach this. Importing the skeleton.nif with your placeholder animation. Or the cool way of importing your test_skeleton.nif which is way more prone to issues but allows you to see how the actual creature is going to move. So I'm going to do it the cool way which i really do not recommend.


Getting into it open up blender and switch it to animation mode?



It'll change the screen to have all these new windows that should supposedly help you with animation stuff. Half of them are useless. I usually switch the one on the right to be an Action Editor and push the rest out of the way. Also click the red record button and in the drop down menu that comes up click Add/Replace keys. Once you get the screen set up how you'd like I'd strongly recommend saving blender and name it something like "readyanimation". Just so you have the screen set the way you'd like it for animation.



Now Click file, import, and then Netimmerse/Gamebyro (.nif & .kf & .egm). Navigate to your skeleton.nif, I'm use the test skeleton. On the import page click the ... button next to Keyframe File.



Select the .kf file you want to work on, mtidle.kf, then press Select Keyframe File.



The Import Animation should have been toggled if for whatever reason it hasn't toggle it and press ok. Your skeleton with the animation applied to it should have imported. If you used a placeholder animation like i did you'll have a real abomination.


In the action editor window, with your mouse hovering over one of the bone name press a to select all, press delete, and then press erase selected in the pop up window.



So we've taken out the old animation data we can start on our own. To the best of my knowledge Mtidle and the movement kf (forward, fastforward) need, at absolute minimum Bip01 and Bip01NonAccum. You are also supposed to have animation data for any other bone that is going to move at some point in mtidle. The other animations only need to have data for bones that are actually moving.


Lets clean this guy up first. Select the skeleton, go into pose mode, press a twice to select all bones, press alt r, alt s, and alt g to cleear rotation, scale, and position.



You can then either select and move each individual bone, to give them keyframe data.


You could also Click the gold key button next to the record button. In the popup window I'd pick LocRot. That should give you location and rotation keyframe data for all currently selected keyframes. Note, I've had some weird issues with this one though, use it at your own risk.



MtIdle, and most animations in New Vegas, should loop. So lets copy the first frame and paste at where the last frame should be. According to the Timeline The Start frame is 1(it should always be that) and the last frame is 301(if you used a "dirty" vanilla skeleton you probably imported multiple conflicting animation datas and this value may not be correct, it is correct in this case though).


So in the Action Editor, where the little diamonds are(keys), make sure you are on frame one and press ctrl k to select all keys in the current frame. Press shift d to copy the current selection, move them to the left or right with the mouse, type in 300, and then press enter. (you need to use the keyboard to enter the value, you aren't supposed to have keys in between frames)



Now the absolute minimum is done. From here you'd make the actual animation. I mostly use the rotation tool for this, there are times for the movement tool but its not all that common. So since this is an idle animation I'm just going to have the thing move in a way that is reminiscent of breathing. To start lets move the current frame to 30.



Then we'll rotate the neck back by 5 degrees and the head forward by 5 degrees. Note that when you move/rotate a bone a new diamond should show up in the action editor.



We also made similar small changes to the pelvis(-0.2), spine(0.2), and tail(5). After we have all the bones we want moved for "breathing" we press ctrl k to select all bones in frame 40. Press shift d, and type in 40 to put the copied keys 40 frames ahead of the current frame. Then move the current frame to 70.


Now we will move all the bones in the opposite direction. Select all bones, click alt r to clear rotation. Rotate the neck(-3), the head(-3), pelvis(0.2), spine(-0.2), tail(-5).


After all that we have our rudimentary loop. Which only takes up 70 of the 301 frames so we'll copy it a few times make it take up the rest of the animation. Select all the keys that you want to copy,

Bip01 Head, Bip01 Neck, Bip01 Spine, Bip01 Pelvis, Bip01 Tail

in frames 1 - 70.

One way to do this is hold shift and right click all the frames you need. Or you can press b to get the boarder select tool to drag a boarder over the keys you want.



Either way with those keys selected press shift d, then type in 100. And then repeat that once. From here you can modify the positioning of the keys if you feel that some parts are moving too fast or too slowly. I would up replacing the horse moving its neck forward with the neck just going back to the neutral position.


Anyway when your done enter object mode, select the skeleton. Then click file, export, then Netimmerse/Gamebyro (.nif & .kf & .egm). Navigate to mtidle.kf. In the export settings I'm pretty sure the only thing that matter is that you set it to Export Animation Only(.kf).



BLENDER

..................

Animation movement

..................

New Vegas animation is weird. I mean it is really weird just comparing it to the way other games deal with it. For some weird reason a creature/NPC's movement is based on its animation. So when your making the movement animations: mtforward, mtfastforward you'll have to account for this.


We are going to go through the same process of importing the skeleton with the attached kf as we did with mtidle, except we are going to import mtforward. Clear the animation data the same way we did before.


Then when we get to the point where we are putting in the new keys and making sure the last frame has copied keys from the first frame we are going to select the Bip01 bone and move it with the green arrow(y axis) by 40. That will give the creature roughly the walking pace of a mole rat?



It is the same process with MtFastForward except I usually double the space forward so it would be 80 instead of 40.

That is the only difference on a technical level in animating movement animations for New Vegas. Note I find it super hard to try to animate something that is changing position every frame so I usually wait to add the Bip01 movement part until I'm done with the actual walk cycle. Note there is a really good, sort of, tutorial for a horse's walk cycle here:


and here



NIFSKOPE

........................

Cleaning up the .kf file

........................

Quick easy and to the point like smooth little babies.


Click NiControllerSequence, change the name of NiControllerSequence from mtidle to Idle. Change the cycletype from CYCLE_CLAMP to CYCLE_LOOP. Note the Start(0) and Stop(10) Time.

Names:

mtidle = Idle

mtforward = Forward

mtfastforward = FastForward

h2haim = Aim

h2hattackright = AttackRight

h2hequip = Equip

h2hunequip = Unequip


Cycletypes:

mtidle = CYCLE_LOOP

mtforward = CYCLE_LOOP

mtfastforward = CYCLE_LOOP

h2haim = CYCLE_LOOP

h2hattackright = CYCLE_CLAMP

h2hequip = CYCLE_CLAMP

h2hunequip = CYCLE_CLAMP


Stop Times:(this only applies to this animation set)

mtidle = 10

mtforward = 2.4

mtfastforward = 2.4

h2haim = 10

h2hattackright = 1.6333

h2hequip = 1

h2hunequip = 1


Click NiTextKeyExtraData. Under Block Details expand Text Keys. Check the First and last Text Keys. Make sure the first ones Time is the same as the noted start(0) time and that its value is start. Make sure the last ones Time is the same as the noted stop(10) time that its value is end.



Save your .kf file. (Specific to this animation set h2haim.kf will have the middle Text Key's value set to something like "Sound: ChickenSoundChicken1" I'd change that to "Enum: Idle". That will have the creature make an idle sound, if you have one set, about 4 seconds into its idle animation.


Now you can go ahead and test the animation with the skeleton_test.nif, if you made one. With either that or the skeleton.nif loaded press Spells, Animation, Attach .kf. This is a good way to make sure that something didn't go horribly wrong with the animation export process. Although its still not a guarantee that it'll work in game, at least you have an idea of how its going to look.


You should also adjust controlled block priority. For the mtidle and h2haim(which is basically i'm in combat idle). Priority could and should be set pretty low, 10 or below (pretty sure its set to 1 that is really really low). For the movement animations and the attack animation it should be set a fair bit higher, probably above 30.


To adjust priority click NiControllerSequence, under the Block Details expand the Controlled Blocks sections. From there you are expand each individual controlled block and adjust its priority. In this example Bip01 L Hand didn't have a priority set since it was a new bone we added so it defaulted to 26. We should change it to a much lower number



If you do not properly set priority, at least for your idle animations, then you will most likely notice that some animation, mainly movement ones, will kind of drag and not look quite right. If you've got an animation that seems to work right in blender, and testing, and the GECK, but it looks weird in game priority is one of the things that might be causing it.


With all that done move all your nifs and kfs from the folder you've been working on them in, mine would be C:\dumb to their place in the New Vegas directory, mine would be meshes\horse.


GECK

...................

Putting it together

...................

Alright the mesh should be working, the skeleton should be working, and the animations should be work. Time to see if they actually do in the GECK. This is pretty much going to be a run through of making a custom creature. If you want a more detailed guide those exist.


We are going to search for the Body Part Data named MoleRat and edit its details to match our skeleton. To the best of knowledge Body parts set in here need to have collision data set for them, one of those sphere things from the Satan worshiper section. So we're going to remove all but the torso and head and edit them to use the bones that have the collision things.



We're going to load up the FalloutNV.esm and search for the crmolerat to use as our base, why not the brahmin? because the molerat has a head.


We're going to rename the ID and the name to TheHorse. Switch on No Knockdowns because ragdolls are literally satan. Chane whichever other settings they shouldnt make a difference.


Also add destruction data that disables it, this is also where you can set whether or not it is targetable in VATs i usually make it untargetable.


Under model list switch the skeleton to your creature's skeleton. Mine would be horse\skeleton.nif. Select the Nif file, mine would be horse.nif.


Save your creature and be sure to tell it to create new form, you don't want to overwrite all molerats. From there you can drop the creature in the world and see if it works properly in game.


NEW VEGAS

.......................

Troubleshooting in game

.......................

Now that the creature seems to work in the geck we can finally test it in game and make any adjustments that are needed. For me personally I noticed that the horse would randomly engage its, or lack there of, ragdoll. That is its head would randomly fall on the ground.


Adjust the size of the BBX. I have no idea why but sometimes that seems to fix the issue.


That same issue, along with it randomly phasing in an out of existence is what happens when you try to have the creature set to essential and forget to toggle No Knockdowns. I noted the same thing happening when there was only one collision spheres set or no constraints, under those circumstances I also noted the game crashed at least twice (out of like 12 tests).



THAT IS IT


The creature is super stripped down and doesn't have all the proper functions but I've been able to make a few working creatures from the method. Are there are better ways? Probably. Do I know what they are? Not even remotely. I'm just hoping that people can use this guide as either a different perceptive or as an absolute starting guide to get their duct taped and hamfisted creature in the game.


The main issue that I know exists in this "guide" is setting up collision, dismemberment, and constraints. I simply do not understand them and am still trying to figure out how to get them working properly.


If anyone, anywhere, knows how to do any of this stuff better please let me know. I have been messing around with custom creatures in Fallout 3/New Vegas since 2014. It was only in the last few years that I've been able to make something that kind of works in game and doesn't crash like crazy.


If you need any clarification on anything don't hesitate to ask. I know I really rushed though some parts of it and didn't give much detail in others.

Edited by clanky4
Link to comment
Share on other sites

And *I* was going to suggest it go on the wiki as it's own tutorial. (I'm a wiki "hammer" and this looks like a "nail".) I'd be willing to draft the article from this post. Anyone can then edit/add/update as additional info becomes available. With permission, we could post the images on the Nexus and they would appear inline.

 

-Dubious-

Edited by dubiousintent
Link to comment
Share on other sites

Feel free to do whatever you want with the info/tutorial. I am currently proofreading it and trying to turn it into a pdf. When I put that out I'll also include the full res images. The website that I uploaded the images to really did a number on them. Most of the nifskope screenshots turned out fine, but the blender ones are really hard to read.

Edited by clanky4
Link to comment
Share on other sites

We could go both routes. For the wiki I would need to "markup" the text, so if you edit your post (or otherwise make the "text" version and images available to me as plaintext or HTML format. A PM is fine) I can do that for you. But "author's choice".

 

-Dubious-

Link to comment
Share on other sites

  • Recently Browsing   0 members

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