SOLDIER OF FORTUNE 2 - CHARACTER SKINS

by ZOODUCK aka Wesley Pumpkinhead

In 2004 I created my first character skin for the Solider of Fortune 2 FPS video game, and two weeks later wrote what became the SOF2FILES official guide to character skinning.

Below are some examples of my work.

Soldier of Fortune 2 - Prometheus Snow Character: Glass Effect
prometheus_snow_1.png
prometheus_snow_2.png
By overwriting all relevant character references in the snow.shader file with some glass texture properties that I found in the test.shader file, I created this character.

No actual image (texture) files were altered, but some bolt-ons had to be disabled for this to work.

The character's head (technically a 'bolt-on) was also removed to produce a more striking result for this skin.
Soldier of Fortune 2 - Pro In Snow Soldier: Обезянка (Monkey) Class
pro_in_snow_soldier_1.png
pro_in_snow_soldier_2.png

For example, the addition of NoFaceAnims True to the Skin in a character's .npc file, resulted in all face animations being supressed.

The greatest challenge in creating this character came with finding a way to hide the eye objects from obvious view. This was made even more difficult because the area covered by the Monkey's eyes included both part of the face and part of the eyeball object.

I found that by applying enlarged sections of the Monkey's eye textures to the eyeball objects, and carefully adjusting their angle so that they lined up with the rest of the eyeball textures (which are in reality situated just above the character's cheekbones) the illusion of a character with non-standard eyes could be achieved.

As you may have noticed, my character has ears whereas the original does not (they are covered by his balaclava). By simply removing the bolt-on suppresor Name noears from the Inventory of the character's .npc file, I was able to get the ears back!

To create this character, I used a soft toy monkey as the photo subject and edited the texture files for the pro_snow_indoor_solider.g2skin accordingly.

Both eye sockets and teeth are represented with objects on all SOF2's 3D character models, and while very few in game animation sequences actually involve the character opening their mouth, it is nevertheless a good idea to make provision for this occurance, in order to prevent unexpected deformation of a custom face texture.

In view of this, it seemed likely that the face animations of an original character who wore a balaclava, for example, must be somehow supressed, to avoid any kind of glitching.

By reading thru the various .npc files, I was able to learn how this was done, and it was then just a simple matter of amending the relevant .npc file to better suit my character.

_f_pro_snow2.jpg
Original head texture file
f_pro_snow2.jpg
Modified head texture file
obezyanka_eye_detail_modview1.jpg
Viewing eye socket overlay in Modview
b_pro_armor_snow.jpg
Modified torso texture file
soft_toy_obezyanka_photo1.jpg
Source photo
3D rendered character in ModView
Soldier of Fortune 2 - Pro In Snow Soldier: Potato Class
pro_in_snow_soldier_3.png
pro_in_snow_solider_4.png
Created using the same method described above.

Photo references include a packet of Walkers Salt & Vinegar crisps, a raw potato, and the teeth and eyes from a crocodile bath toy.

The glasses were added as a bolt on in the .Npc file.

Soldier Of Fortune 2 - Bolt-On Burger Fries Character
This character was created by adding new objects to the sof2.item file, then referencing
them in the Inventory of the character's .npc file.
==sof2.item==
item
{

	name		"zooduck_burger_bolt_on"
	model		"models\objects\Hongkong\paper_lanterns\short\short.glm"

}

item
{
	
	name		"zooduck_trashcan_bolt_on"
	model		"models\objects\Common\trashcan\trashcan.glm"
	
}
==Misc.npc==
CharacterTemplate
{
	Name		"NPC_Men_in_Black1"
	FormalName	"Men in Black"
	comments	"The mysterious Men in Black_black."
	Team		"The Shop"
	Rank		"Civilian"
	Occupation	"ScriptGuy"
	Model		"models/characters/suit_long_coat/suit_long_coat.glm"
	Skin
	{
		File		"men_in_black1"
		mp_identity	"meninblack1"
		mp_team		"shop"
	}
	Inventory
	{
		
		Item
		{
			Name		"zooduck_burger_bolt_on"
			Bolt		"*chestg"
						
		}
		Item
		{
			Name		"zooduck_trashcannolid_bolt_on"
			Bolt		"*foot_lg"
						
		}
		Item
		{
			Name		"zooduck_trashcannolid_bolt_on"
			Bolt		"*foot_rg"
						
		}		
Any .glm file can potentially be used as a bolt-on item, and can be attached to any of the following Tag Surfaces (viewable in Modview):

==suit_long_coat.glm==

Tag Surfaces
  • *back
  • *bicep_lg
  • *bicep_rg
  • *calf_l
  • *calf_r
  • *chestg
  • *foot_lg
  • *foot_rg
  • *gutg
  • *hand_l
  • *hand_lg
  • *hand_r
  • *hand_rg
  • *head_b
  • *head_f
  • *head_l
  • *head_r
  • *head_t
  • *headdg
  • *hip_bl
  • *hip_br
  • *hip_fl
  • *hip_fr
  • *hip_l
  • *hip_lg
  • *hip_r
  • *hip_rg
  • *lchest_l
  • *lchest_r
  • *neckg
  • *shldr_l
  • *shldr_lg
  • *shldr_r
  • *shldr_rg
  • *thigh_l
  • *thigh_lg
  • *thigh_r
  • *thigh_rg
  • *uchest_l
  • *uchest_r
lantern_short_.jpg
ORIGINAL
lantern_short.jpg
lantern_short.jpg
CUSTOM
lantern_short.jpg
trash_can_.jpg
ORIGINAL
trash_can.jpg
trash_can.jpg
CUSTOM
trash_can.jpg
lantern_short_modview.jpg
ORIGINAL
short.glm
lantern_short_burger_modview.jpg
CUSTOM
short.glm
trash_can_modview.jpg
ORIGINAL
trashcan.glm
trash_can_fries_modview.jpg
CUSTOM
trashcan.glm