Jump to content

Recommended Posts

One thing i've noticed with the new Blockhead Setbody, if you use the set body spell on a naked target, their body wont change until it is forced to update - bu equipping/unequipping clothing or an Update3D command.

 

Also, and I might be being dim here, is there a way to return a character to the base bodymesh? (i.e. remove any setbody/blockhead alterations).

Link to comment

One thing i've noticed with the new Blockhead Setbody, if you use the set body spell on a naked target, their body wont change until it is forced to update - bu equipping/unequipping clothing or an Update3D command.

 

Also, and I might be being dim here, is there a way to return a character to the base bodymesh? (i.e. remove any setbody/blockhead alterations).

 

The problem with NPC's is my mistake, or sort. I did hate doing update3D on anything, so I just put the cloth on and off, but NPCs need one frame to properly update their appearance unlike the player. I can either temporarily ignite a quest to wait a frame, or just use Update3D.

As to the animation and AI issues with Update3D command, it may or may not be noticeable depending on your frequency of setbody calls.  If you use AutoSetbody it may look annoying. If not, should be ok.

 

Here's the fix that uses Update3D, the quick and easy way.

SetBody_Blockhead_0.22a.7z

 

And as Wilco stated, you can reset the body using the same Setbody spells. There is a reset button.

Link to comment

One thing i've noticed with the new Blockhead Setbody, if you use the set body spell on a naked target, their body wont change until it is forced to update - bu equipping/unequipping clothing or an Update3D command.

 

Yep, there is no clean way to avoid that.

 

There is (currently) no way to change nif path of an active mesh (one currently visible) and have that change become visible.  

 

From a scripting perspective, there are only a few options.

 

One is to use Update3d.  Unfortunately, Update3d should, as far as I am concerned, *Never" be used.  It's just awful.  It makes the NPC disappear for a frame, resets any currently active NPC animations, resets elements of their AI package, and gets buggy and awful when applied to the Player.

 

The other option is to force the NPC to equip and then unequip an article of clothing.  While this works, it sort of defeats the purpose of Blockhead in the first place (the visual effect is actually worse than the 1.20 Setbody Reloaded framework).  For what it's worth, the Setbody Reloaded 1.20 framework currently works by forcing the NPC to equip articles of clothing that use nude body meshes.  This has the advantage of not needing any awkward swap frames (like the single naked frame you get when Break Armor swaps meshes).

 

If I ever get far enough ahead in my Blender tool development projects, I may pick this project up again.  If I do so, here's what I would probably do. Note, of course, that I am absolutely happy to hand ownership of this project over to Movomo (or convert to joint development) at any time.  As far as I am concerned, Movomo has done a fantastic job, and I owe a heartfelt thank you.

 

1. Convert the body type arrays from a series of array containing scripts to an ini based format that has one ini file for female body types, one for male, and two ini files for the setbody spell menu.

 

2. Replace the multitude of setbody nude bodies with a single generic nude body in the esp.

 

3. Whenever the setbody body change script is cast (whether by Autosetbody or the spell) do two things:

3.a. Swap the base character mesh using blockhead

3.b. Identify any *nude* body parts.  If any are found, use OBSE to change the mesh of the appropriate generic nude body clothing item(s).  Force the NPC to equip those items for a single frame and then unequip them.

 

4. Re-write the back-end code of Autosetbody to be less of a resource hog.  It's just awful in that regards at the moment.  I'd probably adapt some of my core NPC data management scripts from Break Armor.

 

5. *Maybe* If I get good enough at interracting with the nif library, write a stand-alone version of Seam Mender that includes an option to revert the HGEC waist seams to the standard configuration.  Use this on all of the HGEC compatible waist seams to eliminate the hole that shows up when someone combines a Setbody Reloaded HGEC style waist seam with a standard HGEC waist seam.

Link to comment

Currently, this blockhead version uses a temporary clothing item that has invisible mesh assigned.

 

Waiting one frame is not a big deal by its own. What I worry is that having an active quest that runs once every frame but mostly does nothing, is bad. I noticed keeping such thing active (for example, nothing but return command only) hits fps.

I'll try creating another quest that runs separately from the main init quest some day.

Link to comment

Waiting one frame is not a big deal by its own. What I worry is that having an active quest that runs once every frame but mostly does nothing, is bad. I noticed keeping such thing active (for example, nothing but return command only) hits fps.

 

That's odd.  It really shouldn't affect anything at all.  How much of a hit were you seeing, and was this a save that was already running a very large number of scripts (such as a mod that adds scripted tokens to every NPC, etc).

 

Oh well.  The joys of Oblivion modding.

Link to comment

I understand your weird feeling. when tested in the abandoned house in the warterfront, the fps drop was about 4~5 frame (using an empty quest script and the start/stopquest command) , from around 100 fps. I think it was because of several if checks...

 

A few of folks have reported performance improvement on the old machines as I recall. The only difference between the Reloaded and this blockhead version is whether it has a quest running or not..

Link to comment

There is a bit of an art to writing if statements in Oblivion scripting.  It's stupid, but here it is:

 

Write the if statements as if the Oblivion parser will perform every action that it comes across, regardless of whether or not it passes the if statement.  Because, apparently, Oblivion does exactly that.  This is one of the many reasons that Oblivion scripting drives me nuts (and why I am having a hard time taking a break from my Blender scripts to do some OBSE stuff).

 

So if you have something like this:

 

if some_test

 do some crazy thing

 check some arrays

 do a bunch more stuff

 eat a bunch of CPU cycles

else

 return

 

Apparently, Oblivion actually does everything that it is told to do (from a performance hit standpoint), it just doesn't actually make any changes to anything that fails an if check.  I still scratch my head and half refuse to believe it, but I have seen the performance hit difference in some of my scripts.

 

So, apparently, simply re-ordering the script would be much faster

 

if not some_test

 return

else

  do some crazy thing

 check some arrays

 do a bunch more stuff

 eat a bunch of CPU cycles

 

the basic idea is that the parser hits the first test and if some_test is false, it receives the command that tells it to exit the function.  That stops the parser in its tracks.  In the first example, the parser hist the first test and does exactly the same thing whether or not some_test is true or false.  Supposedly, the only difference is in whether or not the commands are actually applied.

 

Personally, it seems odd, but it does match my experience when testing the relative performance hits of different arrangements of if statements.

 

Note: I know, it's not even pseudocode.  Hopefully the concept is clear.

Link to comment
  • 2 weeks later...

In the AutoSetBody.ini is written that i can give special NPCs their individually body type. To do this i have do made a seperate ini file. 

my question now is how this ini file have to look like, and how i have to name it. 

I never done anything with ini files so my question sounds maybe a litte supid, sorry.

 

cheers ave.

Link to comment

That's some legacy code from the original version of Autosetbody.

 

I'll see if I can find a sample ini file. However, I believe that someone already posted a pre-configured ini file in this thread, somewhere.

I did a couple way back then;

http://www.loverslab.com/topic/13908-setbody-reloaded/?p=301375

 

Blockhead offers an alternative system, which I'm using at the moment (see the Blockhead documentation for how it works).

 

Quick summary:

 

Name your ini "ASB_<name of plugin>_<esp or esm>.ini", for instance, if you wish to allocate a body to a NPC in the core Oblivion game, you would call it "ASB_Oblivion_esm.ini".

 

For each NPC you allocate a body for, you add an entry like this:

 

; Setting body for Maeve the Buxom
; set aaaAutoSetBodyIni.npcBody to sv_Construct "185FE5,DMRABUMEGADM|DMRABMEGADMBBB"
; SetStage aaaAutoSetBodyIni 10
 
in this example, the "185FE5" is the formID of the NPC you wish to affect, "DMRABUMEGADM|DMRABMEGADMBBB" are SetBody body part codes.
 
I hope this helped.
Link to comment

Setbody Blockhead Beta 0.25

 

http://www.loverslab.com/topic/13908-setbody-reloaded/?p=491779

 

* A very subtle performance improvement upon initialize

- this will not print any console spam when you load a new save file

- this will not update the appearance of the actors that are not around you.

- For the actors who aren't near the player, re-assigning process will slowly be done.

* Additionally, I think I have corrected one hand/foot mismatch.. I don't remember what it was. But I'm pretty sure I have fixed something.

 

This update makes Setbody actually take longer to get initialized. It's for AutoSetbody. If the save file has 1000 actors in charge of setbody, you definitely don't want to see all the console messages, etc.

Link to comment

Hello, I wanna ask: Can we create custom Setbody.esp for the body that is not in the list?

I worked a mod from Monster Hunter series with the upperbody & hands separated not on the wrist, but in the upperarm.

So I think I need to create setbody mod for that kind of body type.

Right now I only replace the body mesh I don't use.

 

Thanks.

Link to comment

Yes...that's why I replace the previous HGEC B upper & L lower with edited HGEC B upper & L lower.

I called it Khezu body type & it's a bit differentt with HGEC. So I'm trying to create custom setbody.

 

O yes, I know the Khezu armor of yours. i downloaded it. & I included the Halo with yellow color in my Elysium mod.

Thanks for your work.

 

Link to comment

@gerra6: O yes, thanks. I'm still not familiar with adapting armor using lattice.

I remember I ever read some tutorials in cs.elderscrolls.wiki if I'm correct.

But that's a long time agooooooooo in a galaxy far far away when I'm still a newbie with Blender.

Now when I'm a lil bit familiar with Blender, that site is no more. Same with Helfeti's tutorials I think. *sad

So much to learn, so little time. But soon I will take a look to your forum & try to use your work.

I focused adapt armor/clothing to DMRA & Fankaizhi Manga. Sometimes HGEC.

Link to comment

The idea behind the lattice generator is that you run it and it generates a re-usable lattice that will convert one body into another body.  The latest Beta includes a UV Map search feature that matches up regions of the meshes using the UV Map (texture map) information.  This eliminates most of the hard work involved in getting the lattice generator to produce quality lattices when you're working with meshes that use the same UV maps.

 

Once you've made that lattice, I included another tool that will apply the lattices to any currently selected meshes.  Like armor, clothing, etc.

 

So let me know if you'd like to try it out...I'll send you a link to the beta.

 

Depending on how many bug reports I get between now and then, I plan on releasing it publicly on Wednesday next week (subject to change if I hear of any new bugs).

 

Now...I should mention...one of the big requests people have had for a very long time is to add a 'setclothing' module for Setbody Reloaded.  Now, I'm not saying I'll ever actually do it...I'm mostly focused on Blender scripts and creating stand-alone nif editing tools at the moment (hoping to start testing a stand-alone seam mender soon).

 

But if I get the itch...well, hopefully the lattice generator will encourage folks to make lots of clothing conversions.

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