Jump to content

Yiffy Age of Skyrim


Recommended Posts

Posted

Here's my version of the XPMSE patch. I was hoping to eventually combine this with an SKSE plugin to do some IK magic and move the toes back, but I wasn't able to make any progress there.

Well, I'd say this looks pretty good. The anim distortion seems to be minimal or non-existant, as you said, and while the stance is not 100% anatomically correct or feasible, it still manages to pull of some of the digitigrade look without having to alter the leg position too much.

 

It may not be final, and I want to see what Nightro and BadDog come up with, but in the meantime I may use this one instead. I will have to do some more extensive testing first, though, and see if it does indeed not affect poses and anims, or at least not to a noticeable degree. Then, it's a keeper for now  :shy:.

Posted

Does anybody out there really understand skeletons and nif files? 

 

I've been trying a bunch of different things, none of which are really working, for reasons I don't understand. But the latest is to take a regular planti foot in nifskope and move the bones until it looks like a reasonable digi foot: 

 

post-441330-0-76744600-1493950260_thumb.jpg

 

So I figure that looks pretty good and  I can import it into blender and, since the bone positions relative to the mesh positions are the same as vanilla, if I make my new mesh exactly match this mesh at the seam it will connect up to the body and be warped properly into digi position by the skeleton. Even if this isn't exactly the position the skeleton has, since they're both digi it will be close and the skeleton won't be warping the foot mesh by much.

 

So great theory. In practice, the import moves the bones back to their vanilla positions. 

 

Where the hell is it getting those positions from? What is the relationship between the skeleton nodes and the mesh? It's clearly not what I thought.


Does anybody out there really understand skeletons and nif files? 

 

I've been trying a bunch of different things, none of which are really working, for reasons I don't understand. But the latest is to take a regular planti foot in nifskope and move the bones until it looks like a reasonable digi foot: 

 

post-441330-0-76744600-1493950260_thumb.jpg

 

So I figure that looks pretty good and  I can import it into blender and, since the bone positions relative to the mesh positions are the same as vanilla, if I make my new mesh exactly match this mesh at the seam it will connect up to the body and be warped properly into digi position by the skeleton. Even if this isn't exactly the position the skeleton has, since they're both digi it will be close and the skeleton won't be warping the foot mesh by much.

 

So great theory. In practice, the import moves the bones back to their vanilla positions. 

 

Where the hell is it getting those positions from? What is the relationship between the skeleton nodes and the mesh? It's clearly not what I thought.

Posted

Okie dokie, it took me all freaking day but here's what I've got and here's what I haven't got.

 

post-441330-0-31174900-1494110461_thumb.jpgpost-441330-0-27318600-1494110460_thumb.jpgpost-441330-0-70581100-1494110459_thumb.jpg

 

I've got a reasonable-poly mesh for the feet with a high-res normal built from the high-res mesh. Note the details like the knuckles and tendons in the claws and the dorsal ridge on the foot fin. It's made from a mesh created in digitigrade position, so you get a reasonable break at the foot pad. The mesh is linked to a skeleton in digitigrade position with the ankle seam positioned to match the ankle seam of the body mesh. So far so good.

 

What I haven't got: There's like a 1 mm gap at the ankle between foot and body, don't know why. That's probably fixable just by fudging the foot up a bit.

 

The MSN doesn't match from foot to body at the ankle. I may be able to blend them, but I don't really know what I'm doing here-- the bones in the foot nif aren't in the same position as the bones in the body nif and the calf is at a different angle, so I'd expect the MSN to have different colors. But then I'd expect this MSN to work, and it's not a match.

 

Also this mesh doesn't compress down to plantigrade position nicely. I did go through the process and created a mesh that looks okay in planti and also stretches not-too-badly in digi, but frankly I'd just go with separate meshes and skeletons in an override mod if you want to switch back and forth.

 

BTW, the issue with getting the bones in the right position was fixed by: 1. Move the bones to digitigrade position in nifskope, dragging the mesh along with; 2. import the nif into blender 2.49 turning OFF the options to "send bones to bind position" but turning ON the option to "Apply skin deformation". 3. Export from blender to another nif. 4. Load that nif, turning ON options to send bones to bind position and turning OFF apply skin deformation. 5. Export that nif. 

 

That creates a nif that can be used to load skeletons onto a mesh in digitigrade position, and loading the mesh from that nif shows where the cuff has to be. I have no idea what the "Bind position" of a bone is and I never found it looking through the nif file, but apparently it exists and it matters. 

 

 

Posted

Okie dokie, it took me all freaking day but here's what I've got and here's what I haven't got.

 

attachicon.gifShark Feet 1.jpgattachicon.gifShark Feet 2.jpgattachicon.gifShark Feet 3.jpg

 

I've got a reasonable-poly mesh for the feet with a high-res normal built from the high-res mesh. Note the details like the knuckles and tendons in the claws and the dorsal ridge on the foot fin. It's made from a mesh created in digitigrade position, so you get a reasonable break at the foot pad. The mesh is linked to a skeleton in digitigrade position with the ankle seam positioned to match the ankle seam of the body mesh. So far so good.

 

What I haven't got: There's like a 1 mm gap at the ankle between foot and body, don't know why. That's probably fixable just by fudging the foot up a bit.

 

The MSN doesn't match from foot to body at the ankle. I may be able to blend them, but I don't really know what I'm doing here-- the bones in the foot nif aren't in the same position as the bones in the body nif and the calf is at a different angle, so I'd expect the MSN to have different colors. But then I'd expect this MSN to work, and it's not a match.

 

Also this mesh doesn't compress down to plantigrade position nicely. I did go through the process and created a mesh that looks okay in planti and also stretches not-too-badly in digi, but frankly I'd just go with separate meshes and skeletons in an override mod if you want to switch back and forth.

 

BTW, the issue with getting the bones in the right position was fixed by: 1. Move the bones to digitigrade position in nifskope, dragging the mesh along with; 2. import the nif into blender 2.49 turning OFF the options to "send bones to bind position" but turning ON the option to "Apply skin deformation". 3. Export from blender to another nif. 4. Load that nif, turning ON options to send bones to bind position and turning OFF apply skin deformation. 5. Export that nif. 

 

That creates a nif that can be used to load skeletons onto a mesh in digitigrade position, and loading the mesh from that nif shows where the cuff has to be. I have no idea what the "Bind position" of a bone is and I never found it looking through the nif file, but apparently it exists and it matters. 

Unless your still making edits, you can go ahead and send me the OBJ of the foot and body in it's in game position when you are done and I can match the foot seems perfectly. You can zoom in a lot in Zbrush. Also, you can send me your plantigrade version and I can add detail from there.

 

I'm pretty much going to end up rebuilding all of the normal maps in the future by having all the Sharkmer body parts in zbrush at high poly for good transition. I'll likely extend the ridge part of the fin further up the leg and make the foot pad area thicker, especially at the back foot area. Plus use the high poly body to build new armor around. But this will be somewhere in June.

 

BTW, is the color difference caused by the normal maps or just something you through on? I do like it though. I do see some weird black wrinkles though. Maybe something I should have smoothed out.

Posted

Wrinkles where the foot pad meets the shank of the foot were there already... thought they were intentional. 

 

I don't think the seam is because the mesh is off--blender has a snap-to feature I used for this. I think there's something about the way I'm warping bones that doesn't quite work. Or else the weights are off--I set them, then smoothed them and although the ones at the seam shouldn't have changed, maybe they did. 

 

The color should be an exact match... though now that you mention it I haven't checked that. I'll see. I just took a patch of leg color and maybe it's not a right match.

 

Here's the obj file for the low-res version so you can see what I did.

FootLowRes.7z

Posted

Wrinkles where the foot pad meets the shank of the foot were there already... thought they were intentional. 

 

I don't think the seam is because the mesh is off--blender has a snap-to feature I used for this.

 

Here's the obj file for the low-res version so you can see what I did.

No, not that area. Look at the first picture. There are two odd shadow dashes on the outer side of the feet that look stretched out and indented.

 

Can you tell me what that snap feature is called so I can look up the Zbrush equivalent? I tried searching a number of times before with different terms. I've just been doing it manually.

 

In order for me to fix the seems, I need to have the modified position of the body too which has the legs bent to fit. The seams could be correct though and is likely a normal map issue. I'll have to see for myself.

 

EDIT: Okay, you sent me something weird.

  6f795ef845f570ac597e8f2d6934a637.png

 

 

Can you send me them to me each in their own separate OBJ or each with their own polygroup for easy separation? An OBJ doesn't work the same way as a project file and Is unusable as is. The seams are fine so I guess it's the normal maps, but I'd like all here accept for the high poly one. I'll just re-detail from scratch with all the seams matched up in the future.

Posted

Here's my version of the XPMSE patch. I was hoping to eventually combine this with an SKSE plugin to do some IK magic and move the toes back, but I wasn't able to make any progress there.

Do you have any in-game pics of what it looks like? Also, does this file only apply to Yiffy Age.

Posted

Heh, apparently the obj export dumped everything in my blender file, not just the selected mesh. Explains why xNormal wouldn't make the normal maps on this. I'll send you the real file tomorrow.

Posted

 

Here's my version of the XPMSE patch. I was hoping to eventually combine this with an SKSE plugin to do some IK magic and move the toes back, but I wasn't able to make any progress there.

Do you have any in-game pics of what it looks like? Also, does this file only apply to Yiffy Age.

 

 

I think it would only apply to this mod yes because the skeleton paths are different for the races.

 

enb2017_05_0704_50_50uvuad.png

 

I also made a version with the same proportions that is full digitigrade. Unfortunately it still has the same issues of floating feet / deformation, so I've been sticking with this. This + a SKSE plugin to dynamically move the toe back on the foot (similar to how the game moves the feet to match uneven surfaces) would be perfect, but alas.

 

Posted

 

 

 

 

 

I think it would only apply to this mod yes because the skeleton paths are different for the races.

 

 

enb2017_05_0704_50_50uvuad.png

 

 

I also made a version with the same proportions that is full digitigrade. Unfortunately it still has the same issues of floating feet / deformation, so I've been sticking with this. This + a SKSE plugin to dynamically move the toe back on the foot (similar to how the game moves the feet to match uneven surfaces) would be perfect, but alas.

 

Looks good. The angle or bend between this and Bad Dogs would be great. I would personal like the heel to tilt more, but guessing it might require a new skeleton as stated before.

 

EDIT: Have you guys tried shortening the shin and just leaving the feet stretched to achieve a better angle and prevent too much bend at the back? Or is there a rotation limit at the toes preventing you from angling the rest or back of the feet with a more frontward upwards angle?

 

EDIT2: Here is a digitigrade model I plan to use as an example for a "Khajiit Body Overhaul" update. It's basically just legs I cut off from a leopard model and made human height. I positioned it and adjusted the height with that of the Skyrim body.

 

I'm not sure if you adjusted the knee height too, but this can be used as a good example and see if you can get anything close. Hopefully you can have meshes inside when editing the skeleton and see if you can get anything close. Or one of you can send me a body and khajiit digi feet already in the digi position and I'll mimic the anatomy of this one, upload it, then see if you can match the skeleton that way.

 

EDIT3: Okay, it didn't export to the coordinates I had to copy and manually input to where it was after changing the position. It positioned it close but no where near exact. You will have to move it again in Blender or something. Don't know what's wrong with that export setting, but I guess it causes problems. Fixed! I just need to leave that also. The export coordinates stay the same in the export settings even after moving the position. Strange. I've been copying the coordinates from the Geometry>Position, but doesn't keep the coordinates I manually impute.

 

Here is a picture. 

 aadae73d21a872de382f6af507c82305.png

 

Digitigrade Anatomy Example.rar

Posted

We're limited every which way.

 

To fit a reasonable-length beast foot into the space between hip and ground either you have to bend the leg more--giving a crouching stance--or you have to reduce the length of thigh and calf.

 

If you try to reduce the length just by moving the next bone up, you're fighting the mesh weights. They're set up to put most of the action in the joint, so the bones act rigid. But the result is that the joint collapses without shortening the limb over its length when you move the next bone up.

 

You can scale the bone, which does shorten it, but makes it smaller all around. Then you get the spindly-leg look.

 

You can adjust the nude bodies and all the armor, but that's a massive amount of work. If you could do it with a nif script that would be cool but I can't think how to do that. (Locate every vertex below the level of the pelvis and move it straight up by an amount proportional to the distance from the pelvis? And then it probably wouldn't work anyway.)

 

You can move the whole body up, perhaps, by changing the location of the root node. I think that's what the high heels mod does. Does anyone know why we shouldn't do that? I think it messes up all the animations because the body is still higher than expected when sitting or doing, uh, other activities.

 

This might be okay if we could do the SKSE thing to change it back under certain conditions (crouching, sitting, others). I know NIOverride (or NiImmerse, can't tell them apart) can move bones in game but I've never been able to find any documentation on how to use them. Such documentation as I can find just talks about changing textures. Help here would be awesome.

 

The current skeleton is a compromise. I would like it to be less of a crouch, and I like the way the more vertical cannon bone looks in your model. If anyone has any ideas for how to improve the skeleton, I'm open to them. 

 

 

Posted

Well, I don't have any NifSkope know how. I guess whoever want to can mess with it. The best I can do is try putting a lot of effort into finishing my own bodies in June for UE4 and finish up modding stuff for Skyrim this month. By the end of June I might have learned and finished a skeleton. I have the necessary files saved up for making custom skeletons for Skyrim and see if I can copy the bottom half of the skeleton to the XPMSE one or from scratch. Then upload it without new animations and make some later.

Posted

I can use your paws as a starting point and fit them to skeletons various ways. Mostly I want to keep the shape and detail you put in. And don't forget about the big-cat heads! I've started on the cheetah body--I have some awesome skins to work with.

 

I'm still interested in playing with animations. If it's just the crouch animations and all the races are digitigrade, I don't think it can be hard to just move those animations down a notch. 

 

Here's a reference I found. My preference would be for about like F, which is close to your model.

 

 

 

 

858e3cadf60786fda048760b06deeeea.jpg

 

 

Posted

Was gonna get to that . I am taking a break from the Sharkmers for now. I'll continue the Sharkmers maybe some time after the 20th because it's gonna be a lot of work. I am currently looking into a 3D application called "Wings" because of a tool called a "Untriangulate" for something I need to fix on one of my models. I assume Blaze69 sent you the leopard heads in a PM? I think those are my final.

 

I recently finished a high poly Khajiit tail and edited the low poly ones and gave them to Blaze69. He seems really busy though. I included some texture sets/normal that likely wont be usable for Skyrim though. They were baked at 4096, anti aliasing at 4x4, and exported at PNG 16 bit. The mesh is at 380.000.

 

 

5e47d0d431d43f585a1adaff694fdd15.png

90471b4ca55675b1e4554cc7614f9924.png

 

 

 

I'd probably say It's somewhere in between, close to D. Or just D with a thinner metatarsus. Maybe because F looks like a dog. Not sue what that person was going with simplification though. Half just look like different animals and G looks like a pig.

Posted

First time posting, I apologise if I get things wrong.

 

I installed the mod and rearranged some things in my mod order, and all of the altered races have the designed head, but their bodies are still human with varying shades of gross hues.

 

Anyone know what the problem is? Is it just meshes or a mod order problem? I can't say for certain.

 

I should add that Khajiits and other additional races of the other types have their bodies completely correct, it's only the humanoid races (Nord, imperial, reguard etc) have humanoid bodies, with skin and not fur. They seem to have the paw mesh, but it's badly clipping. I do have a fair few mods installed so it might require a fresh install, though that'd be cumbersome.

Posted

Yeah, as Bad Dog mentions the fundamental issues are:

1. Animations are built for a human skeleton. This means that significant deviations from this will result in distortion or floating (as we see now).

2. Replacing the leg mesh would produce the best results aesthetically, but again, would require every single piece of torso armor in the game to have a replacement.

 

2 is feasible, but also would make armor / clothing mods largely incompatible until someone updates those meshes. Furthermore, the animations would still produce some funky results if you move the heel too far away from the canonical heel, etc. Though what you have seems to solve this problem by simply replacing the heel with the ball of the foot, but this has the effect of making the heel fixed - it wouldn't ever bend.

 

Though now I'm thinking of ideas for simplifying a conversion process that I think are doable. You could take the existing skeleton, transform the nodes to roughly match the expected leg shape, then use this skeleton to transform the meshes. You'd still need to do some manual cleanup, and fix the weight painting to match the base mesh, but I think it would be doable.

 

Re: bone manipulation via ni override - I had been playing with this while experimenting with immersive first person camera. It's not actually that difficult to do if you can work out the math and local / world space conversions. But unless I find a way to hook into Skyrim's native IK solver, I'd have to write my own. Or I suppose you could just try it based on current status, but I feel there are way too many scenarios to try and account for.

Posted

@Nightro, yeah, I have the leopard head thx. Looks good.

 

@Dinmy, load order problem. Put YA last, post your load order, use MO. Also post pics, the crazy colors sound like fun. I think you're getting beast fur colors on human bodies.

Posted

@Bad Dog: I placed them last and it's half-working? The SOS Schlongs (Which I preferred to keep human) are like a cut-out and are still skinned like the vanilla race, and they're also missing thier shins. progress, though!

Posted

SOS schlongs aren't textured for these races. The khajiit and Vaalsark/Imperial should be okay, but the other races have too different a base color for it to look good.

 

Missing shins suggests a problem with feet or skeleton, I'm guessing skeleton. If you're using MO, make sure YA is last on both sides.

Posted

My modding laptop has decided to do its thing where it refuses to boot up, so I had time for a little research.

 

One of the High Heels mods (actually, a fix to the mod) uses NiOverride to adjust the base position so that characters sit and swim properly. It seems to work by detecting when the character stands or swims and adjusting the "NPC" node (which is a root node of the skeleton in the nif file) down, then resetting it when the actor leaves that state. Checking in the papyrus docs there is an isSneaking call and there are animation events for sneaking. So it seems to me we can write a script that drops the actor a few inches when sneaking.

 

I still don't really know how the NiOverride calls work, though. There's the usual magic effect that has to be applied to everything in sight to run the script using a cloak spell. Removing the high heels repositioning seems to be done just by setting its transform to 0. Transforms maybe get names? And "internal" is the base position in the nif file?  And the repositioning is done by removing the named transform? It's weird, but that seems to be the way it works.

 

I'll try this out if my machine heals itself.

 

Edit: And maybe we could use this to raise the whole actor and give more room to the foot. But then I think we have to catch all the animation events where it would matter. 

Posted

YiffyAgeDiversityPatch.esp lists DIVERSITY.esp as a requirement, but the actual mod uses DIVERSE SKYRIM.esp

 

Yuck, it's been updated. Use the 2.4 version. I'll update, but it will require re-facegenning the world.

Posted (edited)

My modding laptop has decided to do its thing where it refuses to boot up, so I had time for a little research.

 

One of the High Heels mods (actually, a fix to the mod) uses NiOverride to adjust the base position so that characters sit and swim properly. It seems to work by detecting when the character stands or swims and adjusting the "NPC" node (which is a root node of the skeleton in the nif file) down, then resetting it when the actor leaves that state. Checking in the papyrus docs there is an isSneaking call and there are animation events for sneaking. So it seems to me we can write a script that drops the actor a few inches when sneaking.

 

I still don't really know how the NiOverride calls work, though. There's the usual magic effect that has to be applied to everything in sight to run the script using a cloak spell. Removing the high heels repositioning seems to be done just by setting its transform to 0. Transforms maybe get names? And "internal" is the base position in the nif file?  And the repositioning is done by removing the named transform? It's weird, but that seems to be the way it works.

 

I'll try this out if my machine heals itself.

 

Edit: And maybe we could use this to raise the whole actor and give more room to the foot. But then I think we have to catch all the animation events where it would matter. 

Okay, I've just been through a nightmare of a weekend, and I'm so exhausted I could be described as "barely above braindead". So I will go through all the progress in the thread sometime in the morning (nice progress on the shark feet, BTW). But since you are talking about NiOverride and its transforms, I can share the info I have.

 

NiOverride seems to have two ways of applying transforms: the first one is through scripts, as it seems you knew already, but I don't really know how to do so and the required commands and so on. The other way is inserting a NiStringExtraData with some specifc name and text in a NiTriShape of some mesh and then equipping that mesh. That's how NiOverride High Heels work: you add that entry to the heels mesh and specifiy the amount the Root node should be raised, and when the heels are equipped, the transform is applied and thus it looks like the heels are actually lifting the character.

 

What I think could be done would be to use that system to reduce or even remove the need for a custom skeleton for the digitigrade feet. You could create a digitigrade mesh that uses the default skeleton stance and weights or only modifies them slightly, and then achieves the digitigrade stance by going downwards below the "ground". You then add the required strings to the feet meshes, and any character should get lifted as soon as they are barefoot or otherwise load the digi feet meshes. As far as I know, the transforms are loaded as soon as a nif with the required string is loaded into the game, and it doesn't hit performance (or the hit is extremely minimal) due to NiOverride being a SKSE plugin and so.

 

That way, you would only have to remove the transform while the character sits or does something like that. Good news is, systems are already in place for that: the heels mod takes care of sitting and similar activities, and SL includes a built-in option to temporarily remove transforms during the anims so that everything aligns well.

 

Just as an example, this is exactly what Nuska's Hoof meshes do to achieve their looks without the need for modified skeletons or bodies.

 

Not completely sure this is fully feasible, but now that you brought it up, I think it's worth looking into. Just my two cents, though.

 

EDIT: Oh, and that part about the cheetah skins sure does sound great. Please do share some WIP pics once there is more progress if you don't mind. I would really like to see how it looks even if it will still be a long way off  :shy:.

 

EDIT 2: And back on topic, this is how it works: you have to add a NiStringExtraData to a NiTriShape (ideally the foot mesh, since there is only one) and set it up like this:

  • Name: SDTA
  • String data: [{"name":"NPC", "pos":[0, 0, 5.0]}]

Replace the 5.0 at the end with the required height, and that's it. In theory these transforms can also be used to change bone size rather than position, and they can also be apllied to any other bone that isn't the NPC Root one, but so far nobody seems to have used those, just the height change for the heels and some beast feet like the hooves mentioned above.

Edited by Blaze69
Posted

Cool. I saw stuff about armors while looking through the  NiOverride code... that's what that must have been about.

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...