Jump to content

Recommended Posts

View File

A new version of this mod is available here.

 

 

 

Introducing for your modding pleasure, BodyMorph, by A.J. and myself.

 

This is a body modification library that allows body parts to be scaled, in realtime, for the player and for individual NPCs. You can think of it as a sort of "back end" that allows adjustment up and down of 16 (at present) bones. Note that as this is a beta/wip, not all bones yet have morphs, and some that do exist may not work correctly.

 

The interface is primarily UDF driven with very few functions required for basic support.

 

Of course, the full sourcecode is hosted here on git.loverslab.com and the wiki is already populated with enough documentation to get rolling.

 

INSTALLATION
Just use FOMM and let it overwrite what it needs to. This will, at most, be the skeleton -- A.J. has created us a new custom skeleton, with all the bones we believe we need, as well as a ton of new ones that this mod uses to achieve the actual bodypart scaling.

 

USAGE
Players will need a "bodymorph aware" mod for this to do anything for them, it's similar to sexout in that regard, though if they wish to experiment with it the console can be used to manipulate the NX variables on the player or any other actor.

 

Please see the first reply in the support thread, by A.J., for a demo plugin that can adjust the player scales -- and a fancy video!

 

Modders should see the wiki for more detailed documentations and a simple example.

 

CURRENT STATUS
- 13 bones (Breasts, ForeArms, Hands, Head, Neck, Neck1, Pelvis, Penis, Shoulders, Spine, Spine1, Spine2, UpperArms)
- 13 sizes per bone, from 0.70 to 1.30 in steps of 0.05.
- Large morphs, or many small morphs on one character, result in subtle height changes. We are working on thi

 

CREDIT
A.J. deserves all credit for this, as simple player-only morphing is something I and many others struggled with in FONV for a long time, and got nowhere. The skeleton and all the morphs are painstakingly created by A.J., I'm just the code monkey that wrote the ESP scripts, and an FNVEdit script to make my ESP authoring easier.


 

Share this post


Link to post

02/01/16 - A major update was made, which makes the plugin here deprecated. Check the new page here.

 

ARCHIVED POST

 

 

01/05 - Added an optional package named "Lowered Breasts". It must be unpacked after the normal installation of BodyMorph, and replace the existing files. It moves the breast slightly down and rotates slightly forward. This because on the normal morphs when you increase the breast size it tends to move forward, so these morphs try to compensate moving the breast down. HOWEVER - the result of operations like this can cause a distortion on the breast shape. It all depends by how the body was weighted. I tried on Type 3, I didn't like the result. I tried on Thaumx BnB body, the result was fine. I didn't try on Sexout Type 6M, but I remember how the breast was weighted, it should cause this slight distortion on the breast.

 

04/03 - Same as before, but re-packaged properly because I chosed a bad folder for mod managers.

 

02/03 - Update v15:

- Reduced the size of the interface

- Introduced Player Male version: instead of Breast body part, it will point on Penis body part. However this works only if you are using a properly weighted body, like Amra ones. If you don't know how to replace the upperbody please post.

 

Small pic:

https://drive.google.com/file/d/0B9H0W8lI6DR-RTRoSEFCMFhGU3M/view

 

 

28/01 Unlocked UpperArms! wohooo! They are not super beautiful but at least they work now.

THESE REQUIRE THE NEW ASSETS I GAVE TO PRIDESLAYER (I guess he will upload a version 1.06)

Corrected a small typo in the script, where the hands were remaining red inside the hud interface

 

This is an example plugin-aware for Body Morph, it's called Body Morph Plugin. I hope I didn't forget files in the package. In case, please, let me know as soon as possible.

 

--- For the users ---

It allows you to morph your character using a small graphical hud interface.

If you don't want to read, at least read the Requisites, Install and watch this video, nothing more.

 

 

 

--- For the modders ---

I tried to write the code more "plain" I could, I didn't do strange tricks to reduce the lenght or things like that, it should be easy to be read if you want to inspect it. Oh, I forgot to comment but I don't think it's so much necessary, but in case I could do it in the future. But in general, there's nothing much to say or to understand about Body Morph. After the initial declaration and buildref, you don't really need to do anything else than call the functions and it handles everything else.

 

--- Requisites ---

Updated NVSE

Body Morph

JIP's UIO

 

--- Install ---

Use your favourite Mod Manager or unpack everything under Data and flag the ESP. Done and done. Load order isn't that much important.

 

--- In game use ---

After you start the game, the mod will be initialized, wait for the message on top right left! top left!. Then, a new item will be added in your inventory, under "Apparel". It's called [body Morph].

If you use it, it will kick you out from the pipboy and will open the hud in game. Your commands will be disabled and now you control the camera with your mouse, the zoom with the mouse wheel, WASD are used to control the hud (W / S browse the body parts, A / D change the size value). To quit, just press the TAB.***

There should be a check that closes automatically everything if a creature is approaching to attack you.

 

If the hud is in a bad position for you (these settings depend by how you handled your in game camera), you can change its horizontal position via MCM.

 

*** PS all these keys in reality are "commands". I said WASD but if you have QZERTY it should be ZASD etc.etc. and the TAB is the key you binded to your pipboy.

 

--- Randomizer ---

The other options of MCM... well, I would say to ignore them. However, if you feel brave you can pinch them, they are for testing purpose and nothing should explode in your monitor.

If you enable the NPC randomizer, it will continuously scan the npcs around you and morph them automatically as you approach. This operation puts the script under stress but for now I didn't have problems. I also play vanilla, maybe in a heavily modded environment there could be some stuttering, so I placed two more options, one is the frequency of the scanner, the other one is how "smooth" it should work. Of course higher these values are, and less frequent the script will run, so the game will stutter less.

 

--- For the modders - part II---

If you like Prideslayer's BodyMorph, there's many things you could do with it.

Since it doesn't require to be a master, think if you are going to make some Immersion / Primary Needs mod. You could make for example that if you eat too much you get fat, if you don't eat you get slim, but only if Body Morph is active in your LO. If it's not active, you still could have your Primary Needs mod working on other aspects, like handling the proteins or vitamins or whatever those kinds of mods look at.

 

Another example could be a nice randomizer, something that takes care of the sizes (because my test randomizer can put a slim belly over giant thigs etc.etc. it doesn't look proportions, not at all). This could also allow to define some concepts of "beauty" or "ugliness", based by these values, these proportions, and consequentially the relationships with other characters / speechcraft / charisma etc.

 

In my opinion it just begs to be tested and eventually expanded, with more bones etc.

 

TROUBLESHOOTING:

Q - I can't open the hud!

A - Did you install UIO? Is it properly installed? for example, do you have another mod that changes the UI and requires it, and it works properly? There's a log inside NV folder (not Data), which is called something like ui_organizer.log. It is a text file that tells you what's happening when you start the game, so it also tells you if it's loading the UI or if there are troubles. In case you still have problems, contact me.

 

Q - I can open the hud: when I press W/S, it moves the focus on different parts, but when I press A/D it doesn't change the size! why?

A - Did you install the skeleton which is included in the main package? the installation is automatic, but if you already had a skeleton, it asked you to overwrite it - if you denied it, the skeleton wasn't installed.

Did you install NX? It is not NVSE, they are two different things, you need both.

Did you know that we ripped out the leg morphs from the skeleton? so if you are trying to morph the legs, it won't work.

 

 

Share this post


Link to post

It should work fine. It won't work on creatures, like supermutants, only on actors. You can try via console if you want, or you could try to enable the randomizer in my plugin. This last one will spread random values, the results can be ugly sometimes, but it's just for testing purpose.

Share this post


Link to post

Hi A.J.!

 

I cannot for the life of me get your Plugin to insert the [body Morph] Item into my character, even after waiting for 3 minutes on a very simple setup:

 

 

FalloutNV.esm
DeadMoney.esm
HonestHearts.esm
OldWorldBlues.esm
LonesomeRoad.esm
GunRunnersArsenal.esm
CaravanPack.esm
ClassicPack.esm
MercenaryPack.esm
TribalPack.esm
The Mod Configuration Menu.esp
BodyMorph.esp
BodyMorphPlugin.esp

Included but not listed in the mod list: (NVSE 4.6b1, NVSE Extender 15, MCM, UIO)

 

This is tested twice using Mod Organizer and then seperately in another instance copying all the required files to the Data Folder.

 

The plus side is that Both the BodyMorph and BodyMorphPlugin gets loaded into MCM in both tests, the randomizer works on the condition that the randomizerdebugquest is started before the randomizer.

 

The very long and indeterminable wait for the item to be inserted is consistent with both setups.

 

Any advice?

Share this post


Link to post

Sure.

When the game starts, if the plugin is correctly initialized, it should show a message box, one of these where you must click ok to continue.

This is what the message box says:

"[body Morph] added to your inventory, under Armors. Use it to trigger the Body Morph menu."

 

Did you see this box?

 

EDIT: Nevermind, try the new update please

 

EDIT AGAIN: I forgot to tell you about the randomizer. No the randomizer shouldn't require the Debug active. At least, I just tried it now and it worked on the first time I flagged the box.

The debug introduces simply a new quest that prints on console the datas when I point to a npc and I press Enter. I use it to compare the values, to see if all the morphs work fine

Share this post


Link to post
Guest tomm434

wow that's beautiful.

Share this post


Link to post

13/01 Uploaded update - please update yours too,better with a clean save (it came out just few hours ago,hope it's not a big issue for you)

Just a note to people. Since bodymorph itself is all "nxified", even a clean save will not "reset" your scales. If you clean save without it (or without AJs demo), then reactivate it, all your scales are preserved.

 

This may be considered a bug or a feature.

 

I'll get something in the main ESP MCM to reset everything for those that consider it a bug. ;)

Share this post


Link to post

Thanks A.J.!

 

The new update works immediately! ^_^

 

The Upper-Arm scale value looks stuck at 7 and cannot be changed. (between the shoulders and forearms)

The Body Morph Plugin does not recognize cross-over NX values, but will rescale properly when updating a new value to avoid infinite sizes.

 

-----

 

Prideslayer, I agree after making simple modifications to the scales (without quitting the game) the NX values just crossed over

to the clean save (An instance before Body Morph and Plugin was ever loaded) from the rescaled save / instance. Additionally if two modifications are made the latest modification (game load) will overwrite any cross over NX values.

 

I did observe one exception: When loading any save via Main Menu after loading a rescaled save did not cross over any NX values.

 

Hope it helps!

Share this post


Link to post

My suggestion for a clean save was to reset the internal variables of the mod, but this has nothing to do with the morphs themselves. Body Morph Plugin doesn't store anything about values or NX, it takes them in real time directly from Prideslayers' Body Morph when it needs them. It's body morph that handles the values and store stuff with NX. The plugin is just a real-time tool, a way to avoid to open console and write manually the calls ;)

Share this post


Link to post

EDIT: sorry I forgot to add I'm very happy it worked for you. I apology, I did a typo as big as this cat.

Share this post


Link to post

Yes I missed your edit :)

Are you playing without sounds? because all the bones do a tick-tick-tick when you change value, but UpperArm makes some alert beep. It was my way to say "hey I disabled UpperArm because it's the only bone with a problem right now". I guess I should be less implicit and simply state it in the description, I'm going to add a line :)

 

EDIT: awww no, wait, Prideslayer already wrote it in his description

Share this post


Link to post

It's been there since I first posted it. The calves were there too but I took that out at your direction. ;)

 

I'm not sure what the talk about "crossing over" or loading games from the menu is all about. Only the BodyMorph ESP manipulates the NX variables as AJ said, and they aren't different from any other NX vars. If NX isn't properly resetting them on a game load, then it's not restting vars for anything else either -- and I haven't ever heard of that being an issue.

Share this post


Link to post

Hi Prideslayer,

 

I suppose those notes do lead to one question:

 

Does the persistence of Body Morph NX values become affected by exiting an existing game with defined and initialised values to Main Menu?

Share this post


Link to post

All "that stuff" is handled by NX, nothing in particular for any game mod or other.

 

What NX does is tie into the NVSE hooks for game load, and new game. When it sees either of these, it clears all of its vars -- or rather, that is what is supposed to happen. As far as I know, there's no problem with that part of the code. What exactly were you seeing?

Share this post


Link to post

I hope you don't mind a small table, also the context is as defined by my first post on this thread.

Inital               Action                   Result
------               ------                   ------
1) Clean Save        Modify A Set of Values   Initialised Save
                     Save Game

2) Clean Save        Load Initialised Save    Normal Rescaled body defined by the Initialised Save.

3) Clean Save        Modify A Set of Values   Union of NX Values, with Intersecting ones from the
                     Load Initialised Save      Initialised Save Values.

4) Initialised Save  Load Clean Save          Rescaled body defined by the Initialised Save.

5) Initialised Save  Modify A Set of Values   Rescaled body defined by the both Initialised Save
                     Load Clean Save            and the Modified Values.

6) Initialised Save  Exit To Main Menu        Normal Body without any rescaling.
                     Load Clean Save

7) Initialised Save  Modify A Set of Values   Normal Body without any rescaling.
                     Exit to Main Menu
                     Load Clean Save

8) Initialised Save  Modify A Set of Values   Normal Rescaled body defined by the Initialised Save.
                     Exit to Main Menu
                     Load Initialised Save

Of interest is 6,7 and 8; and does it see going to the Main menu as a "new game"?

 

 

Share this post


Link to post

That is... not good. Did you save over the top of your saves, or independently? If independently, look in data/nvse/plugins/extender/saves, and send me a zip of the CSV files that match your savegames.

 

Going to the main menu should not be a new game -- new game is exactly that, "new game" from the main menu. Only loading a game, or starting a new game, should reset the NX values.

Share this post


Link to post

After some PMs with OneWay I think I have got to the bottom of the issue.

 

There is an engine bug causing a bodymorph bug. The problem is that on a game load, bodies are not reset to their default scales -- at least, the players body isn't. This means that if a body is scaled a certain way in a save, but scaled differently at "present", when you load the earlier save you may get a combination of morphs from both.

 

This only happens when the "live" scales are affecting bones that are at their default values in the savegame.

 

Since I don't know if this affects only the player, or NPCs as well, I can't fix it in a gameloaded block since I don't have a list of all the scaled NPCs. So the fix is going to be an adjustment to the scaling spell itself, which will scale all bones each time it's run, even if they're at their default values.

 

I should have an update out shortly.

Share this post


Link to post

Taking a bit longer than expected.

 

This has exposed a bigger engine problem that neither AJ or I noticed before.

 

1. Walk up to an NPC.

2. Save the game.

3. Scale the NPC in front of you with the console.

4. Load the game from step 2.

5. The NPC is still scaled.

 

If you quit the game and start again, the scaling effect is gone, so thankfully this isn't something that gives me an impossible to solve uninstall issue.

 

What it does mean is that right now, I can't come up with a good way to keep everything correct except to run a scanner and just go wild casting the spell on every NPC that doesn't have it. There are potential performance issues with doing that, so I'm looking for other solutions. Will update everyone later on.

Share this post


Link to post

Ok, 1.0.1 is up for download. Added the scanner (quest script on a 0.5s delay). This fixes part of the problem, but not all of it, so 1.0.2 will be coming shortly.

Share this post


Link to post

Ok, there's 1.0.3. Issue should be fixed. Note that it may take a moment for the effect to show up after loading a savegame.

Share this post


Link to post

Ok REAL 1.0.3 is available now. You may notice the last "1.0.3" was also a download that said "1.0.2" in the filename. That's your tipoff that you have the old one.

 

This one includes the player in the list of actors to address, not just NPCs. :P

Share this post


Link to post

I have thought of making death or the load save enforce the engine process to shutdown and restart :) So many gets changed during a play through that are not cleared from memory when a game is reloaded.

 

 

Share this post


Link to post

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


×