Jump to content

[CLOSED] Project C.I.T.R.U.S. - Old WIP thread


blabba

Recommended Posts

At its core, its a higher poly mesh than any previous body, which allows for much better shaped morphs. Especially when the fact that all of blabbas morphs are sequential ( ie. you can use multiple body morphs on the same piece of anatomy without awkward results) is taken into consideration. As far as changing shape ingame, Blabba is currently working with Expired (RaceMenu's Author) to try and make Citrus body work with Expired's WIP in-game body changer as he finds Bodyslide to be unsuitable for body editing. With CITRUS's sequential morphs it may very well be possible to make morphing armor a reality.

 

So essentially this means:

 

1. CITRUS as a bodyslide add-on is cancelled

 

2. You'll have all NPCs in the CITRUS base shape and only the player can morph his body (that's how Bodymorph works currently)

 

Correct?

Link to comment

At its core, its a higher poly mesh than any previous body, which allows for much better shaped morphs. Especially when the fact that all of blabbas morphs are sequential ( ie. you can use multiple body morphs on the same piece of anatomy without awkward results) is taken into consideration. As far as changing shape ingame, Blabba is currently working with Expired (RaceMenu's Author) to try and make Citrus body work with Expired's WIP in-game body changer as he finds Bodyslide to be unsuitable for body editing. With CITRUS's sequential morphs it may very well be possible to make morphing armor a reality.

 

All of that is already fully possible with CBBE and Unified UNP now, including armor. Lower polygon count obviously.

Just saying that because you're talking like it's still years away. :P

Link to comment

 

2. You'll have all NPCs in the CITRUS base shape and only the player can morph his body (that's how Bodymorph works currently)

 

 

Correct?

False. You can use BodyMorph on any NPC, they just need a morph value assigned, which can currently only be done by script.

 

 

Yep but AFAIK there is currently no interface to actually create an NPC overhaul with it? I imagine you'd have to go through every single NPC in the CK and manually attach all the scripts for slider values one-by-one (no idea how the procedure would look like).

And with "no interface" i mean there is nothing in the CK like the FaceGen where you can actually see what you're working on.

 

I guess with UUNP this should be a lot easier, since all the UNP-sliders already are fully functional body shapes which work as either on or off. But for CBBE Bodyslide and CITRUS, there are dozens of sliders, each with at least 101 possible settings (0% to 100%, but some work with up to -200% or +400% as well).

 

 

Perhaps there could be a standalone tool to assign these values/scripts? So you would load an .esp, it shows you the list of female NPCs and you could set the sliders in there similar to how Bodyslide works.

 

I mean don't get me wrong, the whole Bodymorph system is fantastic, but currently it only works for players that play a female character for whatever reason (and never look at the NPCs) ;)

Link to comment

I mean don't get me wrong, the whole Bodymorph system is fantastic, but currently it only works for players that play a female character for whatever reason (and never look at the NPCs) ;)

Right, I was going to add an ini file you could ship with a layout like this:

 

Skyrim.esm|XXXXXX = Breast@0.5, Thighs@0.25

Skyrim.esm|XXXXXX = Breast@0.5:1.0, Thighs@0.1:1.0

Skyrim.esm|XXXXXX = 7B Morph@0.1:1.0 | Sevenbase@0.1:1.0, Thighs@0.1:1.0 | Chubby Thighs@0.1:1.0

Skyrim.esm|XXXXXX = 7B Morph@0.1:1.0, 7B Breast@0.1:1.0 || Breast@0.1:1.0 | Butt@0.1:1.0

 

XXXXXX is the ActorBase formID excluding Mod Index.

 

With this you can specify explicit values, or ranges (ranges being random any time an instance of that Actorbase is created) and using the bar | would pick a random one between commas, so you don't apply multiple Full Body morphs.

 

Weird syntax is just for simple order of operations:

[ , ] splits morphs

[@] splits morph name and value

[ : ] splits value ranges

[ | ] splits types so you can only pick one of the list

[ || ] splits a whole set so you can pick a random set

 

I don't think there really need to be more complicated syntax and comparisons or anything.

 

These files would be loaded similarly to how FaceGenData works, and the CharGen extension files:

Data/meshes/actors/characer/BodyGenData/%MODNAME%/generation.ini

Link to comment

So I went ahead and did it

 

Sample looks like this:

 

Skyrim.esm|F62F0=Breasts@1.0, 7B Bombshell@1.0 | 7B Natural@1.0 | 7B Cleavage@0.1:1.0, BigButt@1.0, BreastSSH@0.5:1.0 / BreastSSH@0.1:2.0, BigTorso@-1.0:1.0, Waist@-1.0:1.0, Hips@-1.0:1.0, ShoulderSmooth@1.0
 
Only thing to note is BodyMorph doesn't work correctly if you spawn more than once instance of a unique actor, they will share the entire geometry in this case and you will see them all have the same body. Spawning more instances of non-unique actors, and randomizing the first instance of the unique actor is perfectly fine though. Like in this case I used a Riften female guard and spawned a bunch and unequipped their clothes.
 
So don't spawn two Ysolda and expect them to have different bodies, because the values will differ, but it will render the same mesh for all instances of her (Since shes a unique actor)
 
 
Main drawback is I needed a new hook that I added to SKSE, so it's not going to do anything until the next version of SKSE. The hook is for accessing the DataHandler right after it loads all the forms. I have similar hooks in other plugins but I'm getting tired of making new hooks in my plugins to just access the DataHandler before you load a game, but after all the plugins have loaded. 
 
/ separates whole sets
| separates sub-sets
 
So in this case it will be listed like this:
 
0 - Breasts@1.0, 7B Bombshell@1.0 | 7B Natural@1.0 | 7B Cleavage@0.1:1.0, BigButt@1.0, BreastSSH@0.5:1.0
1 - BreastSSH@0.1:2.0, BigTorso@-1.0:1.0, Waist@-1.0:1.0, Hips@-1.0:1.0, ShoulderSmooth@1.0
 
It will randomly pick one of the sets when the reference is created.
Say we pick 0
Now it will choose between
0 - 7B Bombshell@1.0
1 - 7B Natural@1.0
2 - 7B Cleavage@0.1:1.0
Say we pick 1
We are left with
Breasts@1.0
7B Natural@1.0
BigButt@1.0
BreastSSH@0.5:1.0
Since only one of these have a range, Breasts will be 1.0, 7B Natrual will be 1.0, and BreastSSH will be random between 0.5 and 1.0
Link to comment
  • 3 weeks later...

Right, I was going to add an ini file you could ship with a layout like this:

 

Skyrim.esm|XXXXXX = Breast@0.5, Thighs@0.25

Skyrim.esm|XXXXXX = Breast@0.5:1.0, Thighs@0.1:1.0

Skyrim.esm|XXXXXX = 7B Morph@0.1:1.0 | Sevenbase@0.1:1.0, Thighs@0.1:1.0 | Chubby Thighs@0.1:1.0

Skyrim.esm|XXXXXX = 7B Morph@0.1:1.0, 7B Breast@0.1:1.0 || Breast@0.1:1.0 | Butt@0.1:1.0

 

XXXXXX is the ActorBase formID excluding Mod Index.

 

With this you can specify explicit values, or ranges (ranges being random any time an instance of that Actorbase is created) and using the bar | would pick a random one between commas, so you don't apply multiple Full Body morphs.

 

...

 

These files would be loaded similarly to how FaceGenData works, and the CharGen extension files:

Data/meshes/actors/characer/BodyGenData/%MODNAME%/generation.ini

 

 

I think I speak for all of us when I say:

O_O  :-O

 

:D :D :D!!

Link to comment

The morphing will working only with "specific armors".

I like the idea but, i believe than the result will be not really nice in game.

Bodyslide system it's more work for modders, but that stay a better solution.

I hope i'm wrong.

Link to comment

The morphing will working only with "specific armors".

I like the idea but, i believe than the result will be not really nice in game.

Bodyslide system it's more work for modders, but that stay a better solution.

I hope i'm wrong.

This does already work with Bodyslide outfits built with the Bodymorph option in BS2 v2.4. No need to update the conversion files, just build them again with the new option enabled.

 

Now i'm just speculating:

CITRUS / BodyGen (i think that's the new thing they're working on) just takes a different approach. Instead of the classic Bodyslide morphs and the UUNP sliders, it is entirely modular.

So just like in CITRUS you have the sliders for "7B breasts" and so on. Still requires the .tri files for every mesh, no idea how you generate them (is it automatic or do you need to edit meshes/morphs like in Bodyslide).

 

And after testing CITRUS a few times, i'm curious how well this can work compared to carefully crafted BS2/UUNP presets or even the original body replacers.

 

 

I guess I'll have to read more carefully before posting in the future lol Thanks for the info guk. :)

No problem i wouldn't expect anyone to browse through 70 pages in such a massive thread ;)

Link to comment

This is just hearsay, but if you read this post a page back, it sounds like CITRUS as a body creation tool is cancelled.

 

Seems like they're working on a Bodymorph-only adaption instead.

 

I don't see why it means that at all.

 

I took from that post that he wanted to integrate it into something more like RaceMenu, so that people could morph their own body (and perhaps even armor along with it) in-game using the equivalent of Bodyslide sliders, instead of having to use a separate tool for it.  This doesn't mean that it loses the body-model-creation functionality; Expired's RaceMenu allows people to export custom faces as .nif files for use in NPCs, I don't see why it couldn't do the same with exporting created bodies as .nifs.

 

In addition you might be able to import nifs as well, so that you might not even need sliders to copy a body.  RaceMenu already does this with faces.

Link to comment

Race menu will never replace Bodyslide. Racemenu uses files created by Bodyslide in order to morph body. As much as i want to annoy orange guy from what i heard he has been away so this might not get more updates from him.

Link to comment

Race menu will never replace Bodyslide. Racemenu uses files created by Bodyslide in order to morph body. As much as i want to annoy orange guy from what i heard he has been away so this might not get more updates from him.

 

One can always make a max/blender plugin or new program that can build the TRI file for you and just include them in your archive. I'm not a fan of statically building TRI's, though (dynamic is better for zap sliders, clearing data, applying the static shape of the two NIFs, etc.).

 

But currently, only BodySlide can do it, yes.

Link to comment

Yea, as life would have it my modding time is very short (non-existent these days)

 

I'm hoping when summer rolls around i'll get some time to go back into it, but for now I'm pretty swamped with work.

 

Sorry for the inconvenience.

Link to comment
Guest kimbale

No worries Orange, we aren't going anywhere. Well, until Fall Out 4 comes out.

 

And then this'll be there for FO4. :D 

Blabba, take all the time you need, you've been doing tremendous work already!

Link to comment
  • 3 weeks later...

 

it would be nice to have a version of Bodyslide in real-time, where it is possbile to see the CITRUS body that changes in real time before our eyes every time you move each slider, with the ability to zoom to 360 degrees on the Citrus real-time 3D body meshe, a middle way between display 3dmax and bodyslide.. :blush:

 

it would be possible to do so in the future..? ^_^

Have you tried the preview big and small buttons on BdSl 2.0? They may not be real time but you can see the changes before you use the "Create Bodies" button.

 

 

It is real time. If you leave the preview open, you can see the changes in real time, just tried it!

 

(idk if you already knew about this, just trying to help)

Link to comment

Archived

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

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use