Jump to content

[Unofficial] BodyGen - docs


chajapa

Recommended Posts

Posted
On 27.03.2018 at 11:02 AM, asdasfa said:

Crashes where? On menu? If in-game, well, crashes could be caused by a lot of factors, unless you only have RaceMenu installed on top of vanilla Skyrim.

What's 0-100 weight sliders? Range?

It's random as hell so I can't tell you the definitive point of crash, sometimes it's the menu, sometimes it's on loading a new cell, sometimes it's on loading a save. The general trend I noticed is, the more the bodies it has in the ini, the more likely it'll crash. Last time I tried it with 75 bodies, I tried entering whiterun with genpeopleliter.esp on, it crashed nearly every time until it randomly worked (then crashed again on leaving an internal cell into whiterun), I thought it was crashing too much for my liking so I cleaned my skse save and lowered the amount of bodies to 50~ instead.

It's mostly 0-100 weight with some exceptions (1 or 2 bodies being 50-100 or 20-100 et cetera).

That being said I don't think it's an issue with anything but NIO biting off more than it can chew. It should probably do NPC bodies one-by-one instead of trying to do it all at once.

 

Is it possible to swap out data in the .inis without closing Skyrim? I was thinking you could have an SKSE plugin swap out bodygens on the fly if it's possible, taking stress off NIO.

Posted
2 hours ago, Nevershouldhavecomehere said:

It's random as hell so I can't tell you the definitive point of crash, sometimes it's the menu, sometimes it's on loading a new cell, sometimes it's on loading a save. The general trend I noticed is, the more the bodies it has in the ini, the more likely it'll crash.

Well, modded Skyrim without RaceMenu, by itself, is unstable as heck. Having said that, I have 100+ presets assigned across All|Female and some All|Female|Race morphs, plus 1000+ NPCs assigned individually. Now, I do get crashes, game is very playable, I could visit a lot of areas while watching BodyGen at work on NPCs, so my suspicions are more towards other mods instead of BodyGen. Most notably script and animation mods, like FNIS XXL, it says right there in the downloads, could lead to more frequent CTDs; EBD does use a lightweight script to apply face tints, but having multiple textures consumes more memory, you could be having memory crashes for all we know; and possibly other mods that does some background stuff.

 

2 hours ago, Nevershouldhavecomehere said:

It's mostly 0-100 weight with some exceptions (1 or 2 bodies being 50-100 or 20-100 et cetera).

It has a button that can set what weight an imported preset should use.

 

3 hours ago, Nevershouldhavecomehere said:

That being said I don't think it's an issue with anything but NIO biting off more than it can chew. It should probably do NPC bodies one-by-one instead of trying to do it all at once.

That's a possibility, but we don't really know how it does it exactly or if it'll work if done any other way without info from the author.

 

3 hours ago, Nevershouldhavecomehere said:

Is it possible to swap out data in the .inis without closing Skyrim? I was thinking you could have an SKSE plugin swap out bodygens on the fly if it's possible, taking stress off NIO.

I don't think so, but I never tried. But on the fly data modification in Skyrim sounds like asking for trouble...

 

With all that said, in a heavily modded game, I find that it is best practice to save on cells with not much NPCs like interior cells; never reload a save, exit the game first, then load, chances of crashing after reloading a save in the same launch is much higher.

Also some plugins that might help if you don't have them yet: Load Game CTD Fix (for foot ik crash on load for games with tons of animations installed), Crash Fixes (presumably has better memory handling), Bug Fixes (probably won't help with crashes much, but fixes a bug where a perk is applied twice on an NPC on load).

Posted
On 23.3.2018 at 8:32 AM, Destynova99 said:

I'm a little confused and could use some clarification. If I wanted to generate characters with a particular body type, say UNPBB, of a random weight would I use a xml string like this:

 

UNPBB=Ankles@-1.0, Arms@-1.0, Belly@0.0, BreastGravity@0.0, Breasts@-1.0, BreastsSmall@-1.0, Butt@-1.0, ButtCrack@-1.0, ButtSmall@-1.0, Legs@-1.0, NippleDistance@-1.0, NippleSize@-1.0, ShoulderWidth@-1.0, Thighs@0.0, UNPBB High@0.0:1.0, UNPBB Low@0.0, Waist@1.0

 

or

 

UNPBB=Ankles@-1.0, Arms@-1.0, Belly@0.0, BreastGravity@0.0, Breasts@-1.0, BreastsSmall@-1.0, Butt@-1.0, ButtCrack@-1.0, ButtSmall@-1.0, Legs@-1.0, NippleDistance@-1.0, NippleSize@-1.0, ShoulderWidth@-1.0, Thighs@0.0, UNPBB High@0.0:1.0, UNPBB Low@1.0:0.0, Waist@1.0

 

or would I leave the UNPBB high/low settings alone and only give ranges to the other values?

 

I previously tried:

 

Nord=Ankles@-1.0, Arms@-0.7:-1.0, Belly@0.0, BreastGravity@0.0, Breasts@-1.0, BreastsSmall@-1.0, Butt@-0.75:-1.0, ButtCrack@-1.0, ButtSmall@-1.0, Legs@-0.75:-1.0, NippleDistance@-0.7, NippleDown@0.5, NippleSize@-1.0, ShoulderWidth@-1.0, Thighs@0.0, UNPBB High@1.0, UNPBB Low@0.0, Waist@0.5:1.0

 

But I ended up with a few random npcs with ridiculously huge breasts so I'm trying to pin down what I did wrong so that my next attempt might not result in breasts with their own zip codes. Just an added note I AM using zeroed slider bodies and armor so it's not an issue of having the wrong body.

 

Thanks for any help. I had been hoping to set elves to have slender bodies and nords and orcs to more robust bodies and everyone else to more average bodies but looking back on comments it appears race specific settings like All|Female|NordRace doesn't work... so I guess I'll do an All|Female and have a number of different body type settings and let the chips fall where they may.

 

Good idea with the races - and I've got the same problem using jBS2BG. Already cleaned the saves with the NIO Cleaner and am using the XMPSE.esp folder.

After a while I've deleted all other values expect unp High@1.0 and ended up with the zeroed slider body again, instead of unp. Super frustrating stuff.

Posted

I've been able to get it half working. A NPC wearing clothes pick a random morph and it's working as intended, however, once the clothes/armor comes off the body appears as the zero sliders.

 

Using sexlab, once the clothes come back on, the preset resumes. I checked that the .tri files are in the same place as the female body. I really don't know what's going on as nothing is overriding bodygen inis. My XPMSE doesn't overwrite anything and the NIO cleaner doesn't appear to do anything else.

I could really use some help, thank you.

Posted
10 hours ago, KuroSoraNeko said:

I've been able to get it half working. A NPC wearing clothes pick a random morph and it's working as intended, however, once the clothes/armor comes off the body appears as the zero sliders.

 

Using sexlab, once the clothes come back on, the preset resumes. I checked that the .tri files are in the same place as the female body. I really don't know what's going on as nothing is overriding bodygen inis. My XPMSE doesn't overwrite anything and the NIO cleaner doesn't appear to do anything else.

I could really use some help, thank you.

The morphs working on clothes means that bodygen is working.

Issue is around your body meshes. if the npcs are those from npc replacers you will have to change their body meshes to ones that are morphable (rebuild the body morphs) from bodyslide with morph enabled

If you are using mod organizer check that both your normal body meshes and any ones used by npc replacers are all using the right body meshes.

Also check if the npc's naked body is morphable. use something like manipulator to access their racemenu and play around with the sliders. if the body remains unchanged you can be sure its a body mesh issue

Posted
On 4/7/2018 at 7:49 AM, luffyboy said:

The morphs working on clothes means that bodygen is working.

Issue is around your body meshes. if the npcs are those from npc replacers you will have to change their body meshes to ones that are morphable (rebuild the body morphs) from bodyslide with morph enabled

If you are using mod organizer check that both your normal body meshes and any ones used by npc replacers are all using the right body meshes.

Also check if the npc's naked body is morphable. use something like manipulator to access their racemenu and play around with the sliders. if the body remains unchanged you can be sure its a body mesh issue

Thanks for telling me about manipulator. I used it to strip and use racemenu uunp morphs that worked. I have no clue where the disconnect is. I don't have any npc replacers.

 

When I tested manipulator on an npc the morphs were set on 0 despite when the npc was fully clothed, the chest was clearly not on straight 0. Could it be that the bodygen data is being reset once becoming unclothed? My character is fine though. So confusing.

 

Edit: Ended up messing with manipulator some more. It's like the bodygen data is stored on the outfit instead of the actual npc's base body. All the uunp sliders are straight 0 despite an npc having tits bigger than her head while clothed! Using manipulator keeps the change I do in the uunp morphs but that defeats the purpose of trying to use bodygen. I'm not using an npc replacer (outside of face textures?) nor am I using a unique character mod. 

Posted
On 4/8/2018 at 8:56 AM, KuroSoraNeko said:

Thanks for telling me about manipulator. I used it to strip and use racemenu uunp morphs that worked. I have no clue where the disconnect is. I don't have any npc replacers.

 

When I tested manipulator on an npc the morphs were set on 0 despite when the npc was fully clothed, the chest was clearly not on straight 0. Could it be that the bodygen data is being reset once becoming unclothed? My character is fine though. So confusing.

 

Edit: Ended up messing with manipulator some more. It's like the bodygen data is stored on the outfit instead of the actual npc's base body. All the uunp sliders are straight 0 despite an npc having tits bigger than her head while clothed! Using manipulator keeps the change I do in the uunp morphs but that defeats the purpose of trying to use bodygen. I'm not using an npc replacer (outside of face textures?) nor am I using a unique character mod. 

From my experience, bodygen and racemenu edits to morphs are saved as two different values that are additive in effect. the value you see on racemenu only shows the value for racemenu and does not include the bodygen value.

I.e lets say you set breastshh at 1.5 (assuming the body you build in bodyslide has breastshh value at 0) in bodygen.

In game you should see the character's breast size as if it were breastshh at 1.5. When accessing their racemenu (via manipulator), breastshh will be at 0

When you adjust breastshh to 1 in racemenu, the character's breast size would then morph into as if it were breastshh at 2.5.

Hope that is clear enough.

Regarding your issue i think its best to do a reinstall and build your body using the latest bodyslide and make sure it works first. I have never seen that problem so i dont really know what is going on.
 

Posted
13 hours ago, luffyboy said:

From my experience, bodygen and racemenu edits to morphs are saved as two different values that are additive in effect. the value you see on racemenu only shows the value for racemenu and does not include the bodygen value.

I.e lets say you set breastshh at 1.5 (assuming the body you build in bodyslide has breastshh value at 0) in bodygen.

In game you should see the character's breast size as if it were breastshh at 1.5. When accessing their racemenu (via manipulator), breastshh will be at 0

When you adjust breastshh to 1 in racemenu, the character's breast size would then morph into as if it were breastshh at 2.5.

Hope that is clear enough.

Regarding your issue i think its best to do a reinstall and build your body using the latest bodyslide and make sure it works first. I have never seen that problem so i dont really know what is going on.
 

If you haven't seen the other thread I posted in, I put some screen shots there to clarify what I meant. https://www.loverslab.com/topic/90812-jbs2bg-bodyslide-to-bodygen-convertergenerator/?page=2&tab=comments#comment-2205268 

 

And would you happen to know where the bodygen stuff are stored? If it's anywhere that can be open and read, I'm trying to prevent a re-install and new game if possible but I've done it so many times I doubt I care when I can get it to work fully. I can't imagine anything conflicting with it, unless it's the weapon styles cloak from XPMSE.

 

Thanks for telling me about the values and the help in general.

 

Edit: Took your advice and restarted it all from scratch. I had bodyslide 3.4.4 so, about .1.0 versions off. Don't know if that was the deciding factor as I built the nifs and tri files twice, cut my bodygen presets to 5, and switched from the alternative start.esp to XPMSE.esp then started a new game. First few npcs kept their bodies before and after taking off clothes so i'll count my blessings and see if it continues.

 

Major thanks for your help!

Posted

Need Some help here, its for Fallout4 but should still be the same. I have this Papyrus script trying to use BodyGen but somehow I have to link BodyGen function to my script, I have no idea how to do that.

 

I'm getting this error:

BodyGen.jpg

 

Scriptname SynthPlayer:Synth9LooksMenu extends ReferenceAlias

Group Misc
	Quest Property qMQ101 Auto
	GlobalVariable Property gBootup Auto
	GlobalVariable Property gDebugSetting Auto
	GlobalVariable Property gInCombat Auto Const
	GlobalVariable Property gMorphBellyPerc Auto
	GlobalVariable Property gMorphButtPerc Auto
	GlobalVariable Property gMorphBreastsPerc Auto
	GlobalVariable Property gMorphMusclesPerc Auto
	GlobalVariable Property gHoldBellyPerc Auto
	GlobalVariable Property gHoldButtPerc Auto
	GlobalVariable Property gHoldBreastsPerc Auto
	GlobalVariable Property gHoldMusclesPerc Auto
	GlobalVariable Property gSexFertilePerc Auto
	GlobalVariable Property gBreastsLubriCoolPerc Auto
	GlobalVariable Property gBellyLubriCoolPerc Auto
	GlobalVariable Property gButtLubriCoolPerc Auto
	Keyword Property kwSynthPlayer_Morph Auto
	ActorValue Property avStrength Auto
EndGroup

;-----------------------------------------------------------------------------------------------------------------------------

Actor rActor
Int iBootup
String sModName = "LooksMenu.esp"
Int iDebugSetting
Float fCurrProcessingLevel
Int iCurrMorphPerc
Int iPrevMorphPerc
Int iCurrBellyPerc
Int iPrevBellyPerc
Int iCurrBreastsPerc
Int iPrevBreastsPerc
Int iCurrButtPerc
Int iPrevButtPerc
Int iCurrMusclesPerc
Int iPrevMusclesPerc
Int iTimerID = 32
Float fFrequencyTimer = 1.0
Int iInCombat

;-----------------------------------------------------------------------------------------------------------------------------

Event OnInit()
	Utility.wait(3.0)
	If (Game.IsPluginInstalled(sModName))
		rActor = Game.GetPlayer()
		RegisterForRemoteEvent(rActor, "OnDeath")
		fnInit()
	endif
EndEvent

Event OnPlayerLoadGame()
	If (Game.IsPluginInstalled(sModName))
		fnInit()
	endif
EndEvent

Function fnInit()
	If (Game.IsPluginInstalled(sModName))
		iDebugSetting = (gDebugSetting.GetValue()) as Int
		gMorphBreastsPerc.SetValue(100)
		gMorphBellyPerc.SetValue(100)
		gMorphButtPerc.SetValue(100)
		gMorphMusclesPerc.SetValue(100)
		iPrevMorphPerc = 400
		fnMessage("SynthPlayer: " + sModName + " Assets Loaded")
		StartTimer(fFrequencyTimer, iTimerID)
	else
		CancelTimer( iTimerID)
	endif
EndFunction

;-----------------------------------------------------------------------------------------------------------------------------

Event OnTimer(int aiTimerID)
	iDebugSetting = (gDebugSetting.GetValue()) as Int
	iBootup =  (gBootup.GetValue()) as Int
	iInCombat =  (gInCombat.GetValue()) as Int
	If (Game.IsPluginInstalled(sModName)) && (aiTimerID >= iTimerID) && (iBootup >= 9) && (qMQ101.IsCompleted() == True) && (iInCombat == 0)
		Float fSexFertilePerc = gSexFertilePerc.GetValue()
		Float fBellyLubriCoolPerc = gBellyLubriCoolPerc.GetValue()
		Float fBreastsLubriCoolPerc = gBreastsLubriCoolPerc.GetValue()
		Float fButtLubriCoolPerc = gButtLubriCoolPerc.GetValue()
		Float fMorphBreastsPerc = gMorphBreastsPerc.GetValue()
		Float fMorphBellyPerc = gMorphBellyPerc.GetValue()
		Float fMorphButtPerc = gMorphButtPerc.GetValue()
		Float fMorphMusclesPerc = gMorphMusclesPerc.GetValue()
		Float fHoldBreastsPerc = gHoldBreastsPerc.GetValue()
		Float fHoldBellyPerc = gHoldBellyPerc.GetValue()
		Float fHoldButtPerc = gHoldButtPerc.GetValue()
		Float fHoldMusclesPerc = gHoldMusclesPerc.GetValue()
		Float fStrength = rActor.GetValue(avStrength)

		Float fBreastsPerc = fBreastsLubriCoolPerc - 100 + (fSexFertilePerc / 10)
		if (fBreastsPerc < -100)
			fBreastsPerc = -100
		elseif (fBreastsPerc > 200)
			fBreastsPerc = 200
		endif
		if (fHoldBreastsPerc > 0) &&(fBreastsPerc > fHoldBreastsPerc)
			fBreastsPerc = fHoldBreastsPerc
		endif
		Float fBellyPerc = fBellyLubriCoolPerc
		if (fBellyPerc < -100)
			fBellyPerc = -100
		elseif (fBellyPerc > 200)
			fBellyPerc = 200
		endif
		if (fHoldBellyPerc > 0) && (fBellyPerc > fHoldBellyPerc)
			fBellyPerc = fHoldBellyPerc
		endif
		Float fButtPerc = fButtLubriCoolPerc - 100
		if (fButtPerc < -100)
			fButtPerc = -100
		elseif (fButtPerc > 200)
			fButtPerc = 200
		endif
		if (fHoldButtPerc > 0) && (fButtPerc > fHoldButtPerc)
			fButtPerc = fHoldButtPerc
		endif
		Float fMusclesPerc = fStrength * 10
		if (fMusclesPerc < -100)
			fMusclesPerc = -100
		elseif (fMusclesPerc > 200)
			fMusclesPerc = 200
		endif
		if (fHoldMusclesPerc > 0) && (fMusclesPerc > fHoldMusclesPerc)
			fMusclesPerc = fHoldMusclesPerc
		endif
		iCurrBreastsPerc = fBreastsPerc as Int
		iCurrBellyPerc = fBellyPerc as Int
		iCurrButtPerc = fButtPerc as Int
		iCurrMusclesPerc = fMusclesPerc as Int
		iCurrMorphPerc = (fMorphBreastsPerc + fMorphBellyPerc  + fMorphButtPerc + fMorphMusclesPerc) as Int

		if (iCurrBreastsPerc != iPrevBreastsPerc) || (iCurrBellyPerc != iPrevBellyPerc) || (iCurrButtPerc != iPrevButtPerc) || (iCurrMorphPerc != iPrevMorphPerc)
			if (iCurrBreastsPerc != iPrevBreastsPerc) || (iCurrMorphPerc != iPrevMorphPerc)
				Float fMorph = fBreastsPerc / 100 * fMorphBreastsPerc / 100
;				Breasts = BodyGen.GetMorph(Actor akActor, bool isFemale, string morph, keyword akKeyword) 		
;				BodyGen.SetMorph(rActor, True, "Breasts", kwSynthPlayer_Morph, fMorph)
;				BodyGen.SetMorph(rActor, True, "BreastsNewSH", kwSynthPlayer_Morph, fMorph)
;				BodyGen.SetMorph(rActor, True, "BreastFantasy", kwSynthPlayer_Morph, fMorph)
			endif
			if (iCurrBellyPerc != iPrevBellyPerc) || (iCurrMorphPerc != iPrevMorphPerc)
;				Float fMorph = fBellyPerc / 100 * fMorphBellyPerc / 100
;				BodyGen.SetMorph(rActor, True, "BigBelly", kwSynthPlayer_Morph, fMorph)
;				BodyGen.SetMorph(rActor, True, "Belly", kwSynthPlayer_Morph, fMorph)
;				BodyGen.SetMorph(rActor, True, "Waist", kwSynthPlayer_Morph, fMorph)
			endif
			if (iCurrButtPerc != iPrevButtPerc) || (iCurrMorphPerc != iPrevMorphPerc)
				Float fMorph = fButtPerc / 100 * fMorphButtPerc / 100
;				BodyGen.SetMorph(rActor, True, "Butt", kwSynthPlayer_Morph, fMorph)
;				BodyGen.SetMorph(rActor, True, "ButtNew", kwSynthPlayer_Morph, fMorph)
			endif
			if (iCurrMusclesPerc != iPrevMusclesPerc) || (iCurrMorphPerc != iPrevMorphPerc)
				Float fMorph = fMusclesPerc / 100 * fMorphMusclesPerc / 100
;				BodyGen.SetMorph(rActor, True, "MuscularChest", kwSynthPlayer_Morph, fMorph)
;				BodyGen.SetMorph(rActor, True, "MuscularArms", kwSynthPlayer_Morph, fMorph)
;				BodyGen.SetMorph(rActor, True, "MuscularButt", kwSynthPlayer_Morph, fMorph)
;				BodyGen.SetMorph(rActor, True, "MuscularLegs", kwSynthPlayer_Morph, fMorph)
			endif

;			BodyGen.UpdateMorphs(rActor)
;			rActor.QueueUpdate(flags=0xC)
			fnMessage("Breasts/Butt/Belly/Muscle: " + iCurrBreastsPerc + "/" + iCurrButtPerc + "/" + iCurrBellyPerc + "/" + iCurrMusclesPerc)
			fnMessage("Breasts/Butt/Belly/Muscle: " + fBreastsLubriCoolPerc + "/" + fButtLubriCoolPerc + "/" + fBellyLubriCoolPerc + "/" + fStrength)
		endif

		iPrevMorphPerc = iCurrMorphPerc
		iPrevBellyPerc = iCurrBellyPerc
		iPrevBreastsPerc = iCurrBreastsPerc
		iPrevButtPerc = iCurrButtPerc
		iPrevMusclesPerc = iCurrMusclesPerc
	Endif
	StartTimer(fFrequencyTimer, iTimerID)
EndEvent

;-----------------------------------------------------------------------------------------------------------------------------

Function fnMessage(String sMessage)
	if (iDebugSetting > 0)
		Debug.Trace(sMessage)
	endif
	if (iDebugSetting > 1)
		Debug.Notification(sMessage)
	endif
EndFunction

;-----------------------------------------------------------------------------------------------------------------------------

Event Actor.OnDeath(Actor akSender, Actor akKiller)
	CancelTimer(iTimerID)
	UnregisterForAllEvents()
EndEvent

 

Posted
On 4/9/2018 at 9:20 PM, KuroSoraNeko said:

If you haven't seen the other thread I posted in, I put some screen shots there to clarify what I meant. https://www.loverslab.com/topic/90812-jbs2bg-bodyslide-to-bodygen-convertergenerator/?page=2&tab=comments#comment-2205268 

 

And would you happen to know where the bodygen stuff are stored? If it's anywhere that can be open and read, I'm trying to prevent a re-install and new game if possible but I've done it so many times I doubt I care when I can get it to work fully. I can't imagine anything conflicting with it, unless it's the weapon styles cloak from XPMSE.

 

Thanks for telling me about the values and the help in general.

 

Edit: Took your advice and restarted it all from scratch. I had bodyslide 3.4.4 so, about .1.0 versions off. Don't know if that was the deciding factor as I built the nifs and tri files twice, cut my bodygen presets to 5, and switched from the alternative start.esp to XPMSE.esp then started a new game. First few npcs kept their bodies before and after taking off clothes so i'll count my blessings and see if it continues.

 

Major thanks for your help!

Great to hear. i believe you can push up your bodygen presets up many notches now that you are sure its working. I have seen people use like 30+ i myself use about 15 with minor variability within each preset. ENJOY THE POWER OF BODYGEN LOL

Regarding where bodygen saves its data i believe its part of ni override data saved in the skse save file. Theres a tool floating somewhere in this thread that actually allows you to wipe all ni overide data (essentially all npcs will lose their morph data) from a save. thinki its call co-save cleaner or something

Posted

Is there a way to use the same range of numbers for multiple different morphs?

 

Say I want to make a simple bodygen template that randomizes breast size. I'd write something like this:

BreastSize=Breasts@-1.0:1.0, BreastsSmall@-1.0:1.0

However, the range seems to be independently calculated for each morph, meaning I could possibly get a result of (for example) Breasts +1 and BreastsSmall -1, which results in visual weirdness.

 

How would I write it so that both morphs use the same result from the same range? Would something like below work?

BreastSize=Breasts,BreastsSmall@-1.0:1.0

Thanks for your time.

Posted
43 minutes ago, OTC said:

Is there a way to use the same range of numbers for multiple different morphs?

 

Say I want to make a simple bodygen template that randomizes breast size. I'd write something like this:


BreastSize=Breasts@-1.0:1.0, BreastsSmall@-1.0:1.0

However, the range seems to be independently calculated for each morph, meaning I could possibly get a result of (for example) Breasts +1 and BreastsSmall -1, which results in visual weirdness.

 

How would I write it so that both morphs use the same result from the same range? Would something like below work?


BreastSize=Breasts,BreastsSmall@-1.0:1.0

Thanks for your time.

Split it up

BreastSizebig=Breasts@0.5:1.0, BreastsSmall@0.5:1.0 (may be inverse but you get the concept)
BreastSizemoderate=Breasts@-0.5:0.5, BreastsSmall@-0.5:0.5
BreastSizesmall=Breasts@-1.0:-0.5, BreastsSmall@-1.0:-0.5

And then in morph.ini

*insert who gets the morph here*/ all = breastsizebig| breastsizemoderate| breastsizesmall

This way there is a 1/3 chance to get one of the morphs from each category.

Posted
55 minutes ago, luffyboy said:

Split it up

BreastSizebig=Breasts@0.5:1.0, BreastsSmall@0.5:1.0 (may be inverse but you get the concept)
BreastSizemoderate=Breasts@-0.5:0.5, BreastsSmall@-0.5:0.5
BreastSizesmall=Breasts@-1.0:-0.5, BreastsSmall@-1.0:-0.5

And then in morph.ini

*insert who gets the morph here*/ all = breastsizebig| breastsizemoderate| breastsizesmall

This way there is a 1/3 chance to get one of the morphs from each category.

Makes sense. I was hoping for something that could preserve a smoother range (as this way it'll only switch between however many different sizes I choose to type down) but if there really isn't any other way, it'll do.

Posted
16 hours ago, OTC said:

Makes sense. I was hoping for something that could preserve a smoother range (as this way it'll only switch between however many different sizes I choose to type down) but if there really isn't any other way, it'll do.

Totally know what you mean. went through that phase too. bodygen is amazing but its sad to see that the functionality is limited as i believe it isnt being actively developed anymore

Posted

one thing I've noticed with this is that when morphed npcs are loaded they cause stutter, does anyone else have this problem?

 

I know racemenu has a ini file but no idea if any of that affects bodygen performance

 

Edit: after more testing I have narrowed down the stuttering to when armor from The Book of UUNP is morphed by bodygen. no idea why perhaps the size of the mesh is too large or something

  • 2 months later...
Posted

Is there anyway to exclude the player character or specifically apply a template only to the player?

Posted

Also, I"m having some issues that I'm hoping someone can help with.  The following lines are my morphs.ini.

 

All|Female|BretonRace= Body_1,UNPBB_Full
All|Female|NordRace= Body_3,UNPK_Bonus_Mid

 

Naked Breton looks fine, but all clothing shows up as the nord setup.

 

Also, when you first pick race?  When you first flip to female, that locks in the setup?

Posted

I'm really stumped at this point.  I can't get my player or the NPC's down to a zero slider body.  I've created a test run in MO where i've stripped all the mods away and having nothing but unp hdt skin.  Still when I start I have some different body than what I built so the bodygen does some strange stuff.  Anybody got an idea?

Posted

I mostly got this working but now I have a new twist.  The NPC's in particular seem to be part of Bijin mods.  They have the right morph on clothing, but a totally different one naked.  ARG.  Anyone know how to resolve?

Posted

Just to share a hard won bit of knowledge, I've been dinking with this for a couple days until an epiphany dawned... Your skse_nioverride.log is invaluable when trouble shooting this. If you see anything about invalid IDs in there, you need to get those resolved or the morphs won't be applied. Or at least that was the case for me. And I run xpmse and racemenu both. Now I have my morphs and templates in each plugin directory with on the actors in that plugin configure.

 

Hope this helps someone.

  • 1 month later...
  • 2 months later...
Posted

Can anyone help me to get this to work? I'd like to distribute different bodies to different races.

 

EDIT #1: Okay, I'm now up to speed on how to do Templates.ini, but I'm not making any progress on the racial application. My Morphs.ini now only has 4 race-specific entries and it only applies the last one to all races, or it does nothing at all.

 

EDIT #2: Seems to be working now, not sure exactly why, but requires a lot more testing to make sure it's working as intended due to the overlap.

 

Possible Reasons for Success:

 

  • I have a All|Female entry at the top containing all the UUNP morphs I distribute across the different races below, including some I may have neglected to use.
  • Instead of a partial race list, I created entries for all the main races and their vampire counterparts.

 

Current Morphs.ini



All|Female=UUNP - 7B Bcup|UUNP - 7B Bombshell|UUNP - 7B Cherry Hot|UUNP - 7B Cleavage|UUNP - 7B Natural|UUNP - 7B Oppai|UUNP - 7B Original|UUNP - 7BUNP|UUNP - Dream Girl|UUNP - Seraphim|UUNP - UN7B|UUNP - UNP|UUNP - UNP Pushup|UUNP - UNP Skinny|UUNP - UNPB|UUNP - UNPB Chapi|UUNP - UNPB Oppai v1|UUNP - UNPB Oppai v3 2|UUNP - UNPBB|UUNP - UNPC|UUNP - UNPCM|UUNP - UNPetite
All|Female|ArgonianRace=UUNP - 7B Bombshell|UUNP - UNP|UUNP - UNPB Oppai v1|UUNP - UNPCM
All|Female|ArgonianRaceVampire=UUNP - 7B Bombshell|UUNP - UNP|UUNP - UNPB Oppai v1|UUNP - UNPCM
All|Female|BretonRace=UUNP - 7B Natural|UUNP - UNP|UUNP - UNPB
All|Female|BretonRaceVampire=UUNP - 7B Natural|UUNP - UNP|UUNP - UNPB
All|Female|DarkElfRace=UUNP - 7B Bombshell|UUNP - 7BUNP|UUNP - UNP|UUNP - UNPB
All|Female|DarkElfRaceVampireRace=UUNP - 7B Bombshell|UUNP - 7BUNP|UUNP - UNP|UUNP - UNPB
All|Female|HighElfRace=UUNP - 7B Cleavage|UUNP - Dream Girl|UUNP - UNPB|UUNP - UNPetite
All|Female|HighElfRaceVampire=UUNP - 7B Cleavage|UUNP - Dream Girl|UUNP - UNPB|UUNP - UNPetite
All|Female|ImperialRace=UUNP - UNP Pushup|UUNP - UNP Skinny|UUNP - UNPB Chapi|UUNP - UNPBB
All|Female|ImperialRaceVampire=UUNP - UNP Pushup|UUNP - UNP Skinny|UUNP - UNPB Chapi|UUNP - UNPBB
All|Female|KhajitRace=UUNP - 7B Original|UUNP - UNP Skinny|UUNP - UNPB Chapi|UUNP - UNPC
All|Female|KhajitRaceVampire=UUNP - 7B Original|UUNP - UNP Skinny|UUNP - UNPB Chapi|UUNP - UNPC
All|Female|NordRace=UUNP - 7B Bcup|UUNP - 7B Oppai|UUNP - Seraphim|UUNP - UNP Skinny|UUNP - UNPBB
All|Female|NordRaceVampire=UUNP - 7B Bcup|UUNP - 7B Oppai|UUNP - Seraphim|UUNP - UNP Skinny|UUNP - UNPBB
All|Female|OrcRace=UUNP - 7B Cherry Hot|UUNP - 7BUNP|UUNP - UNPB|UUNP - UNPB Oppai v3 2|UUNP - UNPC
All|Female|OrcRaceVampire=UUNP - 7B Cherry Hot|UUNP - 7BUNP|UUNP - UNPB|UUNP - UNPB Oppai v3 2|UUNP - UNPC
All|Female|RedguardRace=UUNP - 7B Oppai|UUNP - UNP Pushup|UUNP - UNPB Chapi|UUNP - UNPCM
All|Female|RedguardRaceVampire=UUNP - 7B Oppai|UUNP - UNP Pushup|UUNP - UNPB Chapi|UUNP - UNPCM
All|Female|WoodElfRace=UUNP - 7BUNP|UUNP - Dream Girl|UUNP - UNPC|UUNP - UNPetite
All|Female|WoodElfRaceVampire=UUNP - 7BUNP|UUNP - Dream Girl|UUNP - UNPC|UUNP - UNPetite

 

Current Templates.ini



UUNP - 7B Bcup=7B BCup High@1.0, 7B BCup Low@0.0, Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Waist@1.0
UUNP - 7B Bombshell=7B Bombshell High@1.0, 7B Bombshell Low@0.0, Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Waist@1.0
UUNP - 7B Cherry Hot=7B CH High@1.0, 7B CH Low@0.0, Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Waist@1.0
UUNP - 7B Cleavage=7B Cleavage High@1.0, 7B Cleavage Low@0.0, Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Waist@1.0
UUNP - 7B Natural=7B Natural High@1.0, 7B Natural Low@0.0, Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Waist@1.0
UUNP - 7B Oppai=7B Oppai High@1.0, 7B Oppai Low@0.0, Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Waist@1.0
UUNP - 7B Original=7B High@1.0, 7B Low@0.0, Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Waist@1.0
UUNP - 7BUNP=7BUNP High@1.0, 7BUNP Low@0.0, Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Waist@1.0
UUNP - Dream Girl=Arms@0.0, Breasts@0.0, Butt@0.0, Dream Girl High@1.0, Dream Girl Low@0.0, Legs@0.0, Waist@1.0
UUNP - Seraphim=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, Seraphim High@1.0, Seraphim Low@0.0, Waist@1.0
UUNP - UN7B=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UN7B High@1.0, UN7B Low@0.0, Waist@1.0
UUNP - UNP=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNP High@1.0, UNP Low@0.0, Waist@1.0
UUNP - UNP Pushup=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNP Pushup High@1.0, UNP Pushup Low@0.0, Waist@1.0
UUNP - UNP Skinny=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNP Skinny High@1.0, UNP Skinny Low@0.0, Waist@1.0
UUNP - UNPB=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNPB High@1.0, UNPB Low@0.0, Waist@1.0
UUNP - UNPB Chapi=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNPB Chapi@1.0, Waist@1.0
UUNP - UNPB Oppai v1=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNPB Oppai v1@1.0, Waist@1.0
UUNP - UNPB Oppai v3 2=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNPB Oppai v3.2 High@1.0, UNPB Oppai v3.2 Low@0.0, Waist@1.0
UUNP - UNPBB=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNPBB High@1.0, UNPBB Low@0.0, Waist@1.0
UUNP - UNPC=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNPC High@1.0, UNPC Low@0.0, Waist@1.0
UUNP - UNPCM=Arms@0.0, Breasts@0.0, Butt@0.0, Legs@0.0, UNPCM High@1.0, UNPCM Low@0.0, Waist@1.0
UUNP - UNPetite=UNPetite High@1.0, UNPetite Low@0.0

  • 2 weeks later...
Posted

I have a couple questions as to the current state of the BodyGen functionality that I hope someone can answer for me.

 

1) Is there still a working method, such as that old "NetImmerse Override" utility, that can be used to remove morphs from NPCs if we want to change someone without having to go back to old saves?

 

2) Do morphs get distributed according only to BaseID, or does each new instance of an NPC randomly get a new body morph?  In other words, if I encounter Bandit02 once, kill them, and then a new one spawns in a different encounter, will they look the same or different?

 

Thanks!

Posted
2 minutes ago, Gawdzila said:

I have a couple questions as to the current state of the BodyGen functionality that I hope someone can answer for me.

 

1) Is there still a working method, such as that old "NetImmerse Override" utility, that can be used to remove morphs from NPCs if we want to change someone without having to go back to old saves?

 

2) Do morphs get distributed according only to BaseID, or does each new instance of an NPC randomly get a new body morph?  In other words, if I encounter Bandit02 once, kill them, and then a new one spawns in a different encounter, will they look the same or different?

 

  1. You can certainly make use of Netimmerse Override Cleaner to remove the already defined morphs from NPCs (at least in Skyrim LE).
  2. AFAIK you have to define all the BaseID for the Actors whose who you wish to distribute the morphs in advance and they'll follow their first instance later (morphs are to be baked into .skse co-save). 

 

 

 

Posted
7 hours ago, Gawdzila said:

I have a couple questions as to the current state of the BodyGen functionality that I hope someone can answer for me.

 

1) Is there still a working method, such as that old "NetImmerse Override" utility, that can be used to remove morphs from NPCs if we want to change someone without having to go back to old saves?

 

2) Do morphs get distributed according only to BaseID, or does each new instance of an NPC randomly get a new body morph?  In other words, if I encounter Bandit02 once, kill them, and then a new one spawns in a different encounter, will they look the same or different?

 

Thanks!

Look for Eli's Polymorph. A simple spell that removes all morphs on a single NPC so you can start over and try something else.

 

Archived

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

  • Recently Browsing   0 members

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