Jump to content

CBPC Separate Anal Collision 2.2 (CBPC 1.5.6+)


Recommended Posts

3 hours ago, Discrim said:

In case when you are manually switching from anal animation to vaginal you will have to go to the next stage for physics update (press space once).

Otherwise I don't know why you don't have them.

 

The problem has been solved and has been working normally! Perfect!

 

1796665733_TheElderScrollsVSkyrimSpecialEditionSuper-Resolution2022_05.14-23_04_12_55.thumb.png.96ac2d1b829619d2e2ffe598174d674c.png

2038923210_TheElderScrollsVSkyrimSpecialEditionSuper-Resolution2022_05.14-23_05_40_18.thumb.png.2757a3684b25e52b5215c68a358f6543.png

 

 

Link to comment

I'm getting consistent CTDs in Helgen Keep, right after going down the stairs after the prison cells. Disabling this mod fixes it.

 

NetScriptFramework Log:

Spoiler

Unhandled native exception occurred at 0x7FF9CB7D2473 (cbp.dll+22473) on thread 36328!

FrameworkName: NetScriptFramework
FrameworkVersion: 15
FrameworkArchitecture: x64
GameLibrary: SkyrimSE
GameLibraryVersion: 18
ApplicationName: SkyrimSE.exe
ApplicationVersion: 1.5.97.0
VersionInfo: Successfully loaded
Time: 14 May 2022 12:31:27.147

Possible relevant objects (9)
{
  [   1]    TESNPC(Name: `Skeleton`, FormId: 000B9FD8, File: `Skyrim.esm`)
  [   1]    Character(FormId: 0010C543, File: `Skyrim.esm`, BaseForm: TESNPC(Name: `Skeleton`, FormId: 000B9FD8, File: `Skyrim.esm`))
  [ 202]    TESNPC(Name: `Torturer's Assistant`, FormId: 000B9655, File: `Skyrim.esm`)
  [ 202]    Character(FormId: FF000D64, BaseForm: TESNPC(Name: `Torturer's Assistant`, FormId: 000B9655, File: `Skyrim.esm`))
  [ 249]    TESNPC(Name: `Player`, FormId: 00000007, File: `Realm of Lorkhan - Custom Alternate Start - Choose your own adventure.esp <- Skyrim.esm`)
  [ 249]    PlayerCharacter(FormId: 00000014, BaseForm: TESNPC(Name: `Player`, FormId: 00000007, File: `Realm of Lorkhan - Custom Alternate Start - Choose your own adventure.esp <- Skyrim.esm`))
  [ 252]    NiNode(Name: `NPC Spine2X [Spn2]`)
  [ 288]    BSTriShape(Name: `Skull`)
  [ 342]    BSTriShape(Name: `Whisp05:0`)
}

Probable callstack
{
  [0]   0x7FF9CB7D2473     (cbp.dll+22473)                
  [1]   0x21798685198                                     
}
 

 

Link to comment

I combined with discrim's @Discrimrequirements wrote a Simple quick installation guide for you guys


Be sure to follow the install order

 

0.Install the BodySlide and Outfit Studio
1.Install rhe Caliente's Beautiful Bodies Enhancer -CBBE-
2.Install the Faster HDT-SMP(if you need smp)
3.Install the CBPC 1.3.6
4.Install the CBBE 3BA 2.06 (Install either cbpc + smp or only cbpc) (DO NOT install vagina collision option) 
5.Install the XPMSSE 4.80 (While installing choose 4.51v physics otherwise anus bones will be locked in animations and won't move)
6.Install the CBPC Anal Collision v2 (With Vagina Support)
7.Use BodySlide build your bodyshap

 

PS:No matter whether you follow my installation order or not, make sure that the oder of CBBE 3ba 2.06 is lower than Caliente's beautiful bodies enhancer - CBBE -:

image.png.c52d905d484b9b816c1b119b68a72389.png

 

Edited by SkyrimArt
Link to comment

The reason why a crash occurs in 1.5.x is because it uses parallel processing

 

1.3.6 is not a parallel processing, so there is no need to be very careful if the exception is handled well

but in 1.5.x, because the main function is being paralle processing, so certain parts that don't support parallel processing must be thread locked to avoid parallel processing

 

 

also there are parts where you have not made an exception handled

 

 

 

thing.cpp

Spoiler


image.png.2a17e996cec53f236571e7034edf489b.png

 

In this part you forgot to lock

 

 

image.png.6aa8be2a73e39fc58f60f353c17b35f4.png

 

If you read this comment then you will know where to lock it

 


Spoiler


image.png.b71f0ec24a7d734077ff7147efc3387e.png

 

in this part, exception handling is wrong

 

 

It should be edited as follows

if (!leftPusObj || !rightPusObj || !backPusObj || !frontPusObj || !pelvisObj || !leftAnusObj || !rightAnusObj || !upperAnusObj || !downAnusObj) 
{
	return;
}

 

GetObjectByName() is mostly gets and returned the correct NiAVObject address

but occasionally returns nullptr even though it is certain that a node exists

 

 

so if you're trying to get data from that node address when that node address is nullptr then unable to refer to data so crash occurs

 


 

 

And I think you don't have to edit the dll
You can make enough anal collisions

 

Not triggered via pelvis collider and just direct colliding

 

Spoiler


image.png.2d79739b8ee73363259d1384a5e47bb1.png

 

in 3BA latest version, The files installed with this option could be a good example file

 

The files that added and replaced by this option are

CBPCMasterConfig_Vagina.txt

CBPCollisionConfig_Female.txt

CBPConfig_Vagina.txt

 

Among them, I recommend that you look carefully at the CBPConfig_Vagina.txt file

 

image.png.32500636b9654a91b3665146149b993e.png

 

collisionX/Y/Zmax/minoffset are limits the range of collisions and also can limit the direction of the colliding

also All X,Y,Z directions are based on local base

In world base, X is left and right, Y is front and back, and Z is up and down

but in local base, the direction is dependent on the rotation of parent nodes

Spoiler

image.thumb.png.d686422a772e1056e160458e66abac0b.png

so in NPC LT Anus2 node, Y axis is left and right on world base

 

image.thumb.png.15d637bff7ea42783eaee9f9a24d7bcd.png

 

and X axis is mainly up and down including some front and back

It's the same local base when attaching a collider

 

The point here is
Unlike when attaching a collider, when setting the physics config

it's not the direction base of the NPC LT Anus2 and should be based on its parent node direction

 

The reason it's a local base is 

Regardless of how much the actor rotates or in any animations, the direction base change with the actor direction

but make on world base, the X, Y, Z directions change as the actor rotates

 

collisionMultipler is push amount when push it with colliding

collisionMultiplerRot is rotate amount when push it with colliding but i recommended just edit to 0 because there's no need for rotation for genital collisions

There's collisionFriction and collisionElastic, but you don't have to change the value in genital collisions

 

 

 

Link to comment
47 minutes ago, Acro748 said:

And I think you don't have to edit the dll

You can make enough anal collisions

 

Not triggered via pelvis collider and just direct colliding

 

  Reveal hidden contents

 

 

image.png.2d79739b8ee73363259d1384a5e47bb1.png

 

in 3BA latest version, The files installed with this option could be a good example file

 

The files that added and replaced by this option are

CBPCMasterConfig_Vagina.txt

CBPCollisionConfig_Female.txt

CBPConfig_Vagina.txt

 

Among them, I recommend that you look carefully at the CBPConfig_Vagina.txt file

 

image.png.32500636b9654a91b3665146149b993e.png

 

collisionX/Y/Zmax/minoffset are limits the range of collisions and also can limit the direction of the colliding

also All X,Y,Z directions are based on local base

In world base, X is left and right, Y is front and back, and Z is up and down

but in local base, the direction is dependent on the rotation of parent nodes

  Reveal hidden contents

 

image.thumb.png.d686422a772e1056e160458e66abac0b.png

so in NPC LT Anus2 node, Y axis is left and right on world base

 

image.thumb.png.15d637bff7ea42783eaee9f9a24d7bcd.png

 

and X axis is mainly up and down including some front and back

It's the same local base when attaching a collider

 

The point here is
Unlike when attaching a collider, when setting the physics config

it's not the direction base of the NPC LT Anus2 and should be based on its parent node direction

 

The reason it's a local base is 

Regardless of how much the actor rotates or in any animations, the direction base change with the actor direction

but make on world base, the X, Y, Z directions change as the actor rotates

 

collisionMultipler is push amount when push it with colliding

collisionMultiplerRot is rotate amount when push it with colliding but i recommended just edit to 0 because there's no need for rotation for genital collisions

There's collisionFriction and collisionElastic, but you don't have to change the value in genital collisions

 

 

 

This way vaginal animations can still open anus and vice versa. I wanted to restrict that.

Btw I was rewriting this mod for the whole day, I uploaded new version on github where I did already fixed mentioned fragment in thing.cpp and a lot more https://github.com/Discrim0/CBPC-1.5-AS/commit/d52c42220c763d9fce99ea1c3f312bc832b6fc22. Can you take a look at it again please.

I also found that calling RefreshNode on anus bones can lead to ctd for some reason. Anus can be opened without them though, so I stopped refreshing them.

 

  

47 minutes ago, Acro748 said:

It should be edited as follows

if (!leftPusObj || !rightPusObj || !backPusObj || !frontPusObj || !pelvisObj || !leftAnusObj || !rightAnusObj || !upperAnusObj || !downAnusObj) 
{
	return;
}

There are bodies without vagina nodes. Like dw's vaginaless body. I wanted to support them and that's why I handle anus bones even in case if vagina bones don't exist. And I don't handle vagina bones in that fragment only anus bones, so it should be fine.

Edited by Discrim
Link to comment
24 minutes ago, Discrim said:

This way vaginal animations can still open anus and vice versa. I wanted to restrict that.

Btw I was rewriting this mod for the whole day, I uploaded new version on github where I did already fixed mentioned fragment and a lot more https://github.com/Discrim0/CBPC-1.5-AS/commit/d52c42220c763d9fce99ea1c3f312bc832b6fc22. Can you take a look at it again please.

 

yep anal and pussy are close to each other so very difficult to make they don't interfere

So unless detect a specific animation tag and limit collisions, it will be difficult to get the clean work you want

 

so it seems you created a papyrus script to turn it on and off, right?

 

 

in v1.6 (or v1.5.1) supports papyrus scripts that can attach or detach colliders in real time
so it might be easier to implement that

Acro748/CBPCSSE at dev (github.com)

CBPC 1.5.x beta 4.7z

If this is what you want, you can give me feedback on that function

 

There's something that hasn't been decided on yet so it might be different at v1.6 (or v1.5.1)

The stabilization is done, but i'm reviewing whether there are any parts to change in the future for added and edited functions

because if add it once then very difficult to edit or delete it later

If it is determined that there is no more small change after the review, i will send the code to Shizof

 

 

 

 

1 hour ago, Discrim said:

I also found that calling RefreshNode on anus bones can lead to ctd for some reason. Anus can be opened without them though, so I stopped refreshing them.

in RefreshNode()

 

When changing the position of a node
Internal data is updated immediately
but when output to the screen by renderer(or game engine), it is updated once every two frames

That's why call RefreshNode() to actually update every frame

 

If you don't need an update every frames
The game engine automatically refreshes it once every two frames, so you don't have to use it

 

As long as it's not a called in same time, I remember there's no problem with repeated calls to one node

so the cause of your problem is still unknown

 

 

And I found one wrong

image.png.522b365d722d4f9b1088f20a7e556231.png

You have to use thing_SetNode_lock

 

 

 

 

52 minutes ago, Discrim said:

There are bodies without vagina nodes. Like dw's vaginaless body. I wanted to support them and that's why I handle anus bones even in case if vagina bones don't exist.

 

Node returns are returned on the skeleton basis not the body mesh

 

Therefore if the skeleton contains a vagina nodes even the body mesh does not contain a vagina nodes
It's still considered to exist

 

so there's no reason to make an exception to such a body meshes

 

When need to care to the body or outfit meshes is maybe when cloth or hair physics is supported in CBPC v2

until it comes, just only care about skeleton

 

Link to comment
30 minutes ago, Acro748 said:

so it seems you created a papyrus script to turn it on and off, right?

I just limit either VaginaOpeningLimit to 0 or AnusOpeningLimit to 0, depends on animation tags.

I have addition options to fine tune collisions, but main idea is just like that.

 

30 minutes ago, Acro748 said:

in v1.6 (or v1.5.1) supports papyrus scripts that can attach or detach colliders in real time
so it might be easier to implement that

Acro748/CBPCSSE at dev (github.com)

CBPC 1.5.x beta 4.7z 1.71 MB · 2 downloads

If this is what you want, you can give me feedback on that function

Can't comment on new functions as I don't fully understand colliders in new releases. They are so spread over many configs. So I just decided to make it collide with pelvis and then limit hole openings.

 

30 minutes ago, Acro748 said:

And I found one wrong

image.png.522b365d722d4f9b1088f20a7e556231.png

You have to use thing_SetNode_lock

 

 

 

 

1 hour ago, Discrim said:

There are bodies without vagina nodes. Like dw's vaginaless body. I wanted to support them and that's why I handle anus bones even in case if vagina bones don't exist.

 

Node returns are returned on the skeleton basis not the body mesh

 

Therefore if the skeleton contains a vagina nodes even the body mesh does not contain a vagina nodes
It's still considered to exist

 

so there's no reason to make an exception to such a body meshes

 

When need to care to the body or outfit meshes is maybe when cloth or hair physics is supported in CBPC v2

until it comes, just only care about skeleton

I'll fix that then.

Edited by Discrim
Link to comment
12 minutes ago, schmicu said:

It seems very promising., but Sexlab is master. I just use Ostim. Can you share no sexlab requirement version?

I'm not familiar with Ostim. If someone is interested to make it work, you will need to change cbpcasplayerscript.psc sexlab hooks to ostim (if it has those) and edit .esp. You won't have to edit dll plugin.

Link to comment
13 hours ago, Discrim said:

My bad, I thought I could make it work with latest 3BA without issues, but it seems like CBPConfig_3b.txt in latest 3BA has new format which 1.3.6 can't read and it stops jiggle from working.

Solution is to use 3BA 2.06.

 

Seems like I need to make 1.5 version regardless or crashes...

ah I see i am currently using 3ba version of 2.15 as the latest version has been causing to many crashes... and yeah I got it working when I switched over to 2.06 so can confirm that is the case as unfortunate as it is 

Link to comment
20 minutes ago, AxeMEMES said:

ah I see i am currently using 3ba version of 2.15 as the latest version has been causing to many crashes... and yeah I got it working when I switched over to 2.06 so can confirm that is the case as unfortunate as it is 

Does 2.1.1 cause ctd for you? I added CBPCSystem.ini with options that disable camera and actorangle. That fixed crashes for me in free camera mode.

Edited by Discrim
Link to comment
1 hour ago, Discrim said:

Does 2.1.1 cause ctd for you? I added CBPCSystem.ini with options that disable camera and actorangle. That fixed crashes for me in free camera mode.

I Just tried updating everything so 3bba your mod etc.. and your mod seems to work just fine in my 13 month year old save so far, I haven't found any crashes or anything like that for now, one can only really speculate when skyrim wants to crash so I guess we will see, but for now its not instantly CTDing so as far as I can tell it seems to be working just fine, penetration for both the kitty and the booty seem to be functioning according to my game Just needed to do some manual adjustment in the MCM of your mod so all good, in the event that it does CTD in the future from your mod i'll let you know, but for as far as I can tell everything "seems" to be working

Edited by AxeMEMES
Link to comment
2 hours ago, Discrim said:

Does 2.1.1 cause ctd for you? I added CBPCSystem.ini with options that disable camera and actorangle. That fixed crashes for me in free camera mode.

Currently I am not getting any jiggle from 3BA with 2.1.1

trying to make sure everything is correct atm.

Link to comment

I guess this won't affect many people, but the mod seems to crash the game when you use a race with a unique skeleton (In my case, the SkyDraenei race)

 

I can't claim to know the inner workings of CBPC/3BBB so I don't know how easy a fix would be, but if there was a fix for this I would be very thankful :)

Link to comment
7 hours ago, Unknownflames said:

Currently I am not getting any jiggle from 3BA with 2.1.1

trying to make sure everything is correct atm.

With 2.1.1 you have to use cpbc 1.5 and 3BA 2.31. You should update those if you didn't.

Link to comment
2 minutes ago, Ferretclaw4 said:

So I'm not sure what I'm doing wrong. I have installed the latest version of 3BA, CBPC, and the new anus support. I get collisions with everything except the anus. The MCM pops up as well, but no movement even when I switch animations and update the physics. Any ideas?

Did you miss xpmse 4.80 with 4.51v physics option? It is required.
 

Quote

XPMSSE 4.80  (While installing choose 4.51v physics otherwise anus bones will be locked in animations and won't move)

 

Link to comment
2 minutes ago, Ferretclaw4 said:

No, I have that one installed as well. The weird thing is that the previous version that opened both holes worked, but I'm having difficulties with this one

 

Try to rebuild your body in bodyslide. I don't have any ideas beside that.

Link to comment

Thought this is a great Mod I do not understand why people with CBBE 3BBB or 3BA are downloading this to overwrite what its already in 3BBB and 3BA  ??!!

 

Someone said here that it was missing in 3bA and 3 BBB and its not at all , I tested it with the latest 3BBB and their they are the Anal collisions !

Not saying this is not a good Mod at all , cause its awesome for people that do not use 3BBB , but its getting me confused to see people with 3BBB installed

installing this on top  ???  For what exactly ??

 

Anyway glad to see people are still trying to improve stuff ...

Link to comment
30 minutes ago, Bullfye said:

Thought this is a great Mod I do not understand why people with CBBE 3BBB or 3BA are downloading this to overwrite what its already in 3BBB and 3BA  ??!!

 

Someone said here that it was missing in 3bA and 3 BBB and its not at all , I tested it with the latest 3BBB and their they are the Anal collisions !

Not saying this is not a good Mod at all , cause its awesome for people that do not use 3BBB , but its getting me confused to see people with 3BBB installed

installing this on top  ???  For what exactly ??

 

Anyway glad to see people are still trying to improve stuff ...

Yes you can have smp anal collision with 3BA, but not everyone managed to install everything right. Plus you will still see vagina opening on anal animations or simultanious openings.

Add to that smp is far more heavy on cpu than cpbc.

As Acro pointed out you could get anal collisions in cbpc before this mod, but you will still have the simultanious vagina opening problem. This mod takes care of that problem.

Edited by Discrim
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