Giving your character a working wang - naelstrof/ChurnVectorSDK GitHub Wiki

This guide assumes you already have a penis+balls model that is fully rigged, if this is not the case then you will want to start with some youtube guides on how to model and rig in blender.

Churn Vector uses 3 distinct shaders to work, if your character is a fully joined model (as in, the genitals is part of the same mesh as the body) or your characters genitals are one piece then you will need to duplicate the material they are assigned in blender so that while keeping the same texture and properties, the body, penis shaft and balls are independent materials.

To see a reference on what this might look like, in the SDK the dragon character has a 1 part dick that you can see how the materials are split on if you open the SpikeyDick.fbx file in blender

Prepping your tools

Before we can do any fun stuff the right tools are needed for this job.

Check VCM's installation section to see how to get this working in blender and make sure you only use Blender 3.6, VCM does not support 4.0

Preparing your characters cock for churn vector

In order to keep images SFW I will be providing images by using this plunger as a stand in for the real thing.

Plunger1

To get our mighty tool working in Churn Vector the first thing we need to do is ensure the skeleton is correct. You can find a reference to the skeleton structure that our characters use by opening any of the .fbx character files from the sdk packages but for quick reference, this is what the players penis rig looks like.

shaftstuff

Your bone structure MUST match the above, we have custom packages for jiggle physics which expects certain bone chain lengths. In some cases you can deviate from the above but for someone just getting started I would strongly suggest you do not try and do anything but that.

In the above, the shaft has a single bone for the entire length which is then weight painted to the entire shaft. If you have a pre existing dick that has multiple bones for the shaft you can easily convert to this by entering blenders edit mode with the armature selected, clicking two bones and hitting Alt+M to merge two bones, do this for all of them until its just one bone and then reposition it to be correct. Doing it this way should join all of the weights as well to leave you with one bone thats weighted to the entire shaft.

You will also notice that the spherical portion of our tool has only two bones, both of which are in a verticle chain. This is not necessary however what is, is that we need a bone which sits in the center for the inflator to know where the center is to inflate when full.

Setting up shape keys

These shapes are just an example and are by no means static, the tip open shapes are defined in a list you control in Unity, as are the flacid states. You can use the existing characters in the SDK to see how their shapes are set up but for now lets get a basic implementation working.

To get a basic asset working, create the following shapes and alter the mesh to match the description:

  1. TipOpen- A shape key that opens the tip a small amount
  2. TipOpenMore - A shape key that opens the tip a large amount
  3. Cum0 to Cum4 - Shapes that increase the size of a portion of the shaft, with each moving further along it until cum4 being the top open
  4. Flacid - a shape where the penis is smaller and thinner
  5. Flacid2 - a shape where the penis is sheathed or fully soft

Vertex colors

Now we need to give the tool some vertex colors that will be used by Churn Vector for the deformation during and after vore. To start with make the following Vertex Groups - Deform.Red and BulgeDeform.Green

thing2

Deform.Red represents what parts of the characters balls will be spherised when full and what of the shaft to control (just set the entire shaft red) BulgeDeform.Green represents what parts of the shaft are deformed by the vore shader (as in, it expands as a character goes in)

Fun fact, if you name your deform BulgeDeform.R blender will automatically assume you only want to weight paint the right side of your model, don't shorthand it and spend 30 minutes banging your head against your desk like I did!

Now enter weight paint mode on your tool and give it some color as described above. Here is an example of what this might look like.

bulgedeform

With these painted now we can enter Vertex Paint mode and use the plugin we installed eariler, Vertex Color Master. You can find this in the right menu of lender by pressing N and finding the VCM tab.

Firstly paint the entire object full blue by clicking on the color section (which should be white by default), switching it to RGB and putting only blue at 100% and the rest at zero. Now click Fill With Color.

Next look at the section in that same menu called "Data Transfer". In this section use SRC to select Deform.R and change the DST section to Attribute and the letter R. Click "Weights to DST" Now do the same for the BulgeDeform but this time select G for the channel instead of R

thing3

If you did this correctly you should see something that looks roughly like this

Plunger3

If not (or if you need to alter these later), good news, just hit Fill with color again and you will paint the entire object Blue again, ready to get those weights.

If you find that even with the weights similar to the above, that you are having issues, you can grab any of the models from the SDK and take the .fbx that contains their weener and open that in blender. The vertex colors should be viewable so you can get an idea of what a real one looks like.

Getting your tool into Unity

First and foremost, export your characters dick to a .fbx and get the .fbx into the assets folder of Unity. Make sure to tick read/write in the import settings!

Thing4

Note that you can export your character with the dick as part of them, it doesn't have to be its own .fbx (see the player.fbx in packages for reference, just note that the dick/balls are their own material slots as mentioned earlier, this is how we separate the deformations)

If the dick is not part of the same .fbx as the character, remember to drag it under the hips of their rig like so.

thing5

Now we need to get the materials working correctly. Click on the fbx in your assets folder and under the Materials tab in the inspector, click "Extract Materials" and choose the folder the .fbx is in. This will bring us the materials out of the .fbx as a material we can work with.

The only change you need to make to these is that the material for the shaft should have its Shader (top most dropdown in the material inspector) changed to "DickShader" and the balls to have their material Shader changed to "BallsSpherize"

My characters dick vanished aaaaaa!

Don't worry, thats intended, part of how this all works is that we deform the shaft along a spline which by default is not defined, thus the dick just, vanishes (usually).

With all of that done were now ready to set some values on the Character Animator Controller script!

The character animator controller script (again)

Firstly you probably want the balls to jiggle a bit when the character runs around, you can do this by adding another entry into the Jiggle Rig builder, assigning it to the root of the balls (not the root of the entire genitals though) and giving it the BallsBlend settings.

Next we want to do the following to the Character Animator Controller script

  1. Set up the "Boner" field to look like this, with your dicks mesh renderer selected and the curves set to 1:0 -> 0:1 and 0:0 -> 0.5:0.5 -> 0.2:1

Thing6

  1. Set up the Cock Vore Size Change values to look like this (note the curve doesn't start at 0)

Thing7

  1. Set the balls center to "Balls2" or whatever the bone that starts in the middle of the balls is AND set BallsRoot to the root of them.

  2. Optionally add the dick mesh renderer to the Xray renderers list if you want their bits out when the player is seeing them through walls

The Civilian Script

Open up the civilian script on your character and assign the VoreContainer value to the BallRoot bone of your bits.

Thing9

The Penetrator Jiggle Deform Script

Last script to change, we need to add (if we haven't already) a Penetrator Jiggle Deform script to either the root prefab of our character (some of our characters have it on their fbx but its easier this way)

With that added just copy the following settings, replacing the root transform and renderers with the ones from your model

Thing8

Dropdown the sub mesh mask option and make sure only the shaft is ticked (this is a checkbox thing so open it again to be sure its right)

Now click "Edit position and Orientation" and a control will appear in the view port, allowing you to move the start of the shaft around if its been misplaced. Get this aligned along the shaft as well as you can and once done simply click off the model.

There are settings for curvature and such in the scipt you can change if you want to experiment with them.

FINAL STEPS

Now that your have that, go back to the root civilian script and set the "Vore Machine" to cockvore and choose the only option available in the circle icon.

Also add a new entry into the Jiggle Rig Builder script for the balls. Set it to the BallsRoot transform and use the Balls settings for it. This is referenced by one of the other scripts so you MUST do this.

Congrats, you should now be able to fill your balls and paint the walls in all CV maps!

FAQ

My characters sheath is deformed or pulled away with the balls when they are full

This happens if you painted around the sheath on the red channel of the vertex colors. While that seems like a good idea at first, because we use a shader for the balls to deform, anything on the balls that is painted red will also deform. You can fix this by making sure only the balls and shaft are painted red.

My characters penis starts errect and then goes soft instead of the other way around

In the section where you defined the blend shapes to use for the "boner" you likely have the curve going from 0 to 1, change this to go from 1 to 0

The penetrator jiggle deform component just shows a thin line instead of conforming to the shafts size

Next to the mesh renderer selection there is a dropdown which lets you choose which part is the shaft, this can sometimes default to the orbs instead

I get a NaN error citing the dick pivot

I've seen this happen because a models flacid state at 0 had all of the vertices in the exact same place, try and change your curves so that you start at 0.95 instead of 1 to offset this

I'm getting an error in the penetrator jiggle deform

This might happen if you have your shaft and ball as separate skinned meshes, you should join them into a single object in blender so that if you disable the element in the hierachy all of the genitals vanish rather than just part of them.