How to Manually Delete Body Parts


This tutorial will explain how to remove extra, un-needed body parts from your cr2 file to make the file more efficient and reduce the file size. Using this technique will let you start with your own clothing "donor" cr2 but then remove body parts as needed.

Applications used:


• Text Editor (I recommend Notepad++)
Steps:

• The first step is to check your obj file to see which parts you need.
For example, let's say we're working with a pair of pants. When we look at the obj file, we see it has a hip, lThigh, lShin, lFoot, rThigh, rShin, and rFoot.

• Next, we need to determine the connecting body parts. We shouldn't delete these because their joints influence the other body parts.
For the example pants, the connecting parts would be: abdomen (connected to the hip), lToe (connected to the lFoot), and rToe (connected to the rFoot). Since the lToe and rToe are the end parts of the lower body, this means we can delete the entire upper body, including the chest, neck, head, and arms.

• As a second example, let's suppose you have a short-sleeve shirt with the following body parts: hip, abdomen, chest, lCollar, and rCollar. In this case, you would keep the lThigh and rThigh (both connected to the hip), neck (connected to the chest), lShldr (connected to the lCollar), and the rShldr (connected to the rCollar).

• So let's start editting our example pants file:
Note: before you edit the cr2 file, you should probably make a backup copy just in case something goes wrong.

• If you haven't done so already, open the cr2 in your text editor.

• First, let's delete the chest part:
Search for "chest".
The first occurrence will be in the section of the cr2 that defines the body parts.
Start from the beginning of the line, select to the end of the bracket, and delete the lines (highlighted below).
actor abdomen:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 abdomen  
	}
actor chest:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 chest  
	}
actor neck:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 neck  
	}

• Since we know the pants don't have any upper-body parts, we could select from the beginning of the "chest" line, select all the parts below it, and delete the lines (highlighted below).
actor abdomen:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 abdomen  
	}
actor chest:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 chest  
	}
actor neck:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 neck  
	}
actor head:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 head  
	}
actor rCollar:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 rCollar  
	}
actor rShldr:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 rShldr  
	}
actor rForeArm:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 rForeArm  
	}
actor rHand:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 rHand  
	}
actor lCollar:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 lCollar  
	}
actor lShldr:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 lShldr  
	}
actor lForeArm:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 lForeArm  
	}
actor lHand:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 lHand  
	}
actor rThigh:4
	{
	storageOffset 0 0 0
	geomHandlerGeom 13 rThigh  
	}

• Search again by pressing the F3 key.
The next occurrence will include "twist" and "joint" information, which defines how the body parts influence each other.
Start from the beginning of the line, select to the end of the bracket, and delete the lines (highlighted below).
twistY Chest_twisty
	{
	name Chest_twisty
	initValue 0
	hidden 1
	forceLimits 0
	min -100000
	max 100000
	trackingScale 1
	keys
		{
		static  0
		k  0  0
		}
	interpStyleLocked 0
	algorithm 0
	otherActor chest:4
	matrixActor NULL
	center 0 0.54 -0.003
	algorithm 0
	startPt 0.471407
	endPt 0.621
	flipped
	calcWeights
	}
jointZ Chest_jointz
	{
	name Chest_jointz
	initValue 0
	hidden 1
	forceLimits 0
	min -100000
	max 100000
	trackingScale 1
	keys
		{
		static  0
		k  0  0
		}
	interpStyleLocked 0
	algorithm 0
	angles 235 135 45 308.84
	otherActor chest:4
	matrixActor NULL
	center 0 0.54 -0.003
	algorithm 0
	flipped
	doBulge 0
	jointMult 1
	calcWeights
	}
jointX Chest_jointx
	{
	name Chest_jointx
	initValue 0
	hidden 1
	forceLimits 0
	min -100000
	max 100000
	trackingScale 1
	keys
		{
		static  0
		k  0  0
		}
	interpStyleLocked 0
	algorithm 0
	angles 248.022 135 45 310.909
	otherActor chest:4
	matrixActor NULL
	center 0 0.54 -0.003
	algorithm 0
	flipped
	doBulge 0
	jointMult 1
	calcWeights
	}
zOffsetA zOffset
	{

• Search again by pressing the F3 key.
The next occurrence will be the "smooth scale" section, so delete these also:
calcWeights
	}
smoothScaleY chest_smooY
	{
	name chest_smooY
	initValue 0
	hidden 1
	forceLimits 0
	min -100000
	max 100000
	trackingScale 1
	keys
		{
		static  0
		k  0  0
		}
	interpStyleLocked 0
	smoothZones -100 -99 0.456 0.572039
	otherActor chest:4
	calcWeights
	}
jointX jointx

• Search again by pressing the F3 key.
Now you're at the section of code that defines the actual body part.
Start from the beginning of the line, select to the end of the bracket, and delete the lines (highlighted below). Note: the code between the brackets has been shortened for clarity.
actor chest:4
	{
	name    chest
	on
	bend 1
	dynamicsLock		0
	hidden		0
	addToMenu	1
	castsShadow		1
	includeInDepthCue		1
	useZBuffer		1
	parent abdomen:4
	conformingTarget chest:4
	creaseAngle 80
	channels
	...
	...
	endPoint 0 0.631 -0.018
	origin 0 0.54 -0.003
	orientation -10.4883 0 0
	displayOrigin		0
	displayMode USEPARENT
	customMaterial	0
	locked 0
	backfaceCull 0
	visibleInReflections 1
	visibleInRender 1
	displacementBounds 0
	shadingRate 0.2
	smoothPolys 1
	}

actor neck:4

• And like before, since we know the pants don't have any upper-body parts, we could select from the beginning of the "chest" section, select all the parts below it, and delete the lines:
actor chest:4
	{
	name    chest
	on
	bend 1
	dynamicsLock		0
	hidden		0
	...
	...
actor lHand:4
	{
	name    lHand
	on
	bend 1
	dynamicsLock		0
...
...
	visibleInReflections 1
	visibleInRender 1
	displacementBounds 0
	shadingRate 0.2
	smoothPolys 1
	}

actor rThigh:4
	{
	name    rThigh

• Search again by pressing the F3 key.
Now you're at the "add child" section that defines how the parts are connected.
Start from the beginning of the line, select the two lines and delete them.
addChild    abdomen:4 
		 hip:4
addChild    chest:4 
		 abdomen:4
addChild    neck:4 
		 chest:4

• And again, we could delete all of the upper-body parts:
addChild    abdomen:4 
		 hip:4
addChild    chest:4 
		 abdomen:4
addChild    neck:4 
		 chest:4
addChild    head:4
		 neck:4
addChild    rCollar:4 
		 chest:4
addChild    rShldr:4 
		 rCollar:4
addChild    rForeArm:4 
		 rShldr:4
addChild    rHand:4 
		 rForeArm:4
addChild    lCollar:4 
		 chest:4
addChild    lShldr:4 
		 lCollar:4
addChild    lForeArm:4 
		 lShldr:4
addChild    lHand:4 
		 lForeArm:4
addChild    rThigh:4 
		 hip:4

• Search again by pressing the F3 key.
Now you're at the "addChild" section that defines the hierarchy of parts.
Start from the beginning of the line, select the two lines and delete them.
weld    abdomen:4  
		 hip:4
weld    chest:4  
		 abdomen:4
weld    chest:4  
		 neck:4
weld    head:4
		 neck:4

• And again, we could delete all of the upper-body parts:
weld    abdomen:4  
		 hip:4
weld    chest:4  
		 abdomen:4
weld    chest:4  
		 neck:4
weld    head:4
		 neck:4
weld    rCollar:4  
		 chest:4
weld    rShldr:4  
		 rCollar:4
weld    rForeArm:4  
		 rShldr:4
weld    rHand:4  
		 rForeArm:4
weld    lCollar:4  
		 chest:4
weld    lShldr:4  
		 lCollar:4
weld    lForeArm:4  
		 lShldr:4
weld    lHand:4  
		 lForeArm:4
weld    rThigh:4  
		 hip:4


• These are the last lines. If you hit search again, you may find a material name with your body part. If this happens, do not remove it.

• Repeat this process for any other body parts that need removing. For example, if our pants were short pants and didn't have a lFoot or rFoot, then we would go through these steps to delete the lToe and rToe.

• Save and close the cr2.

• Switch over to Poser. If you made a copy of your cr2 file, you may need to refresh Poser's library to make sure it "sees" the copied file so you can add the correct version to the scene.
Go ahead and add your clothing to the scene. It should load without all the extra body parts.