Jump to content

Questions About Character Modding Technicalities (Body, Skeleton, Textures, Etc.)


0x2BE83D

Recommended Posts

Hello, I've peeked into the Skyrim modding community every once and a while, but I've never really been able to fully understand what's going on. I understand how to install a body, skeleton, SKSE, and HDT-PE with Mod Organizer, and have gotten a fully functional setup going several times in the past.

 

I've always been a technically minded person, and I hate "magic technology" where I don't have a basic understanding of what is making everything tick under the hood. I was wondering if someone could point me to a complete resource that explains how all these different components are related.

 

I have a basic understanding of 3D modeling and computer programming, so I'm not afraid of technical explanations. My current (likely flawed) understanding is the following:

  • A "skeleton" is the base of everything (perhaps synonymous with rig?) that controls how everything animates (in other words, movement) and where various equipment attaches to the model.
  • A "body" defines the actual model (shape) of your character, and controls how the various polygons of the model attach to the skeleton (not sure how "meshes" relate to this). The BodySlide utility essentially changes the size and shape of various regions of this body.
  • A "texture" is simply the actual graphics that are painted onto the surface of the body. My understanding is that most bodies, say CBBE, ship with a default texture.
  • SKSE is essentially a library/API that lets you interact with the game engine without having to load your own DLL's
  • HDT-PE is a SKSE plugin that enables applying in-game physics to arbitrary objects.
  • Different XML files for HDT-PE allow for enhancements to the simulation of female anatomy. What I'm not sure about here is if the XML files are tied to the skeleton or the body, as it appears they have to be custom tailored to one or the other.
  • I also have no idea how custom outfits fit into all of this.
  • Finally, I've seen instructions that say to install your body before you install your skeleton. This sort of breaks my understanding of everything, so if someone could explain the reasoning behind this that'd be great.

Again, if there is an existing resource that explains this all feel free to point me to it.

 

If such a resource does not exist, I would be interested in authoring one myself assuming I can get a decent grasp on all the components in play here. I can't be the only one interested in the technical internals of unrealistically proportioned jiggling digital breasts... right? Right?

 

I... probably don't have my priorities straight.

Link to comment

Hello.
Some people in the modding community are formally educated or otherwise professional game developers. Most people are like us tho, we are just learning how the game works bit by bit. Its fun to talk about how stuff works in the game. Even though i am  mistaking something. There are so much resources to help us learn about this stuff but you may find yourself wondering if the technology you are reading up on is applying to the specific game you are interested in because you lack the guidance of a mentor.

I think you are asking for alot of information. I will have to leave out explanations of some stuff. I want to answer you because there are some real experts on here and maybe they will help me when i say something wrong smile.png


1. Skeleton.nif is the device for driving animations of the actors in game. (same technique is also used for some animated objects.) Actor skeleton is having a skeleton root marking the position of this system in game.  

the other bones and nodes (camera, weapon) all are having a hierarchial relationship and bones point from parent to child in direction. (When you rotate the upper arm the entire hierarchy down to fingers are deformed as a single unit.)

these are all used for keyframed animation. The animation is using target keyframes that the skeleton will move itself to conform to. the inbetween positions are interpolated procedurally.

Skeleton.nif is also having a series of rigidbody capsules, collision meshes that give mass etc plus detect to the game when another collision mesh is encountered. The collision meshes are parented to the bones with pivots between each other and constraints are placed on the pivot rotations. This is for ragdoll animation that u get when the actor is killed or blasted by fus ro dah etc.

There is also most notably foot inverse kinematics (other ik effects used also) altering the results of your keyframed animation. Its like when you step and the foot collision hits a small obstacle and modifies the resulting transformation backwards along the bone hierarchy.

2&3.Actor Body is the skinned 3d asset. Ok so lets look at the 3d asset part, skin afterwards. 3d asset is the geometry of the meshes and the texture maps for them.

The flesh body part. Naked skyrim body is different than the other meshes in the game because different shaders are used on it. It notably is using a different type of normalmap, object space instead of tangent space. So the geometry data does not include the normals( a list of data showing the direction each polygon face, edge and vertexes are pointing). It has a subsurface scattering texture map also a higher quality specular map, but object space normalmaps are not able to adjust their effect for mesh deformation occuring when animated.

Clothing and armors and stuff is also effectively part of the actor body. these are having a tangent space normalmap so u gotta have normals data on em.

The texture of the geometry mesh is defined on a 2d asset. The 2d asset is mapped to the surface of 3d asset by what is called a UV map. Uv map is data included with the geometry data, normals, etc Specific to each mesh. It is showing how the 2d texture is cut and wrapped around to cover the surface of each polygon in the geometry mesh.

Geometry, bones, constraints, other named nodes, uv map, normals, vertex colors, animations, baked normal maps and other geometrically derived rendered maps, etc all can be created with a 3d art program such as blender. Most but not all of this stuff can be exported with existing tools. Workarounds must be learnt and used.
 
The texture of the asset includes notably a diffuse map(color), Specular map(reflective highlights), Normalmap(Alters angle of reflection for a given incident angle to create illusion of higher geometrical complexity). Asset can use additional texture maps depending on what shaders are used. Shaders can be procedural or use texture data input. You can create most of your textures with a program like gimp or photoshop, and they are saved as dds format with different compression types depending on the needs, particularly of the alpha channel. For example, most of non flesh body meshes have normalmaps that include a specular map in the alpha channel.

The skin of the geometry is needed for animated meshes that use a skeleton for bone deformation. the geometry of a mesh is created with a series of polygons, the polygons have a vertex at every corner and edges between vertices. when the vertices are moved, it changes the shape of the mesh. The vertices are assigned to vertex groups that are named with the same name of each bone on skeleton.nif when the bone is moved it moves each vertex in the particular vertex group. The process of assigning vertices to bone vertex groups is called weight painting. The stored lists of vertex groups and respective vertices are called skin data. In skyrim there is also specific named dismemberment partitions(SBP). These are vertex groups that correspond to biped slots in the game for applying armor and clothing, also for dismemberment effects in combat.

In Oblivion there was a new technology for elder scrolls called facegen.(havok physics was introduced also)   this is a morphing animation technique. You have a default position for the geometry, and compare it to an altered version of the same mesh. This was used to animate face expressions for lip moving dialogue plus allow the player to customize their face. It is used in skyrim also. The altered geometries are stored in .tri archives containing .obj mesh files each obj file has the original mesh, but the vertices are moved in some way to change the shape of the nose, mouth, etc. They are called morph targets. The obj files are compared to the default geometry to create a vertex group that can be moved from default to target position interpolated with a slider. Skyrim has a bodyweight slider that consists of 2 nifs, one low and other high bodyweight. The weight slider is used to adjust the morphing of the entire body.

Bodyslide is an excellent mod that allows you to use sliders that affect the body with many different morph targets at the same time. It also allows you to conformulate( this word refers to making a mesh with different vertices and vertex order alter its shape to accomodate a morphed mesh) armors and clothing. I guess this is done by creating a lattice to deform the new geometry.

So yeah, lots of deformation and animations with different methods going on.

4. SKSE is yeah. API but it allows u to load your own dll. I dont know all this stuff but enb d3d9.dll and skse plugin preloader dll is a couple of ones that dont work through skse. Skse plugins are compiled dlls that you have to install in skse plugins folder.

5&6. HDT physics extention. (Who is the chinese modder who made it?) This is really fun stuff. I always thought you couldnt have additional animations attached to skinned meshes but then smart people figured out ways to do this stuff.

The xpmse skeleton.nif includes extra bones for different things, among them is special bone chains that have a keyframed bone as an anchor and debris bones that are ragdoll animated (capsule rigidbodys parented to bones conected with pivots and having constraints applied.) There are vertex groups added to the geometry mesh corresponding to the bones, now the mesh will wiggle and move according to the physics simulation. HDT PE creates instances of the physics simulation that calculating animation and returned to the game.

 

I mentioned xpmse skeleton, but HDT physics can be added to other items like parts of armor and hair. These are not included in the xpmse so they must be created separately.

The xml files are generated by Havok Content tools PCXS tool that was freely available for nonprofit use back when havok was owned by intel. Microsoft came along and bought it, now it is not legally distributed publicly. I dont know more about this, but im gona eventually get around to making my own hdt animated loincloth cause loincloths look like ass when ur sneaking. The havok animated things must have custom collision meshes (capsule rigidbodys) with constraints and so far you must use 3dsmax to export those.

There seems to be other ways to attach animated skeletons to other skeletons. Anton0028 made this bracelet that has an elaborate animation and instead of being skinned to the wrist it has a nistringextradata parenting the scene root to the wrist bone. He also made a crown that is skinned to the head, it has animated textures. There is alot can be done with animated textures. He also released tools for making this stuff and exporting from blender.

7. Answered in 2&3

I should add: both body and armor/clothe nif files contains a list of bones. This is not a skeleton. Flat bone nodes (no hierarchy or direction) Marking name of bone and spatial positioning in bind position (t pose). Must be included in skinned nifs. HDT or other non keyframed skinned nifs will have actual skeleton included for applicable parts.

8. I dunno about that install order. I always install both body and skeleton. u know it doesnt matter when u install em both. The vanilla game has a body and a skeleton and everything the game needs, that stuff located in the bsa archives is overriden when you install replacements in loose folder structure.

Anyway thats kind of my quick and dirty take on that stuff so hope its a help. Hope i can learn something if the thread continues to grow.

Link to comment

*Snip*

Thanks a lot for your reply. I got a lot of stuff going on right now, but as soon as I have time I will be doing some Googling and will be asking some more questions.

 

Perhaps, collaboratively, we could work on writing this all down into a tome of modding knowledge. I've always had an odd enjoyment for technical writing.

Link to comment

I dont know how feasible it is to write a tome of modding knowlege. cause when u are on a project what u need to know is always a specific question specific to one game.

 

Then the game changes or the times change and the technology is new and stuff.

 

Also there are whole other realms of modding like all the programming and world building and everything.

 

But people write tutorials and make videos to answer the more specific stuff. I made a tutorial before also.

 

But i could be wrong about the tome thing. since i am more of a hands on learner its hard to imagine studying such a thing.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • 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