Re: Multiple textures into a single one?

#2
Questions:
1. I don't know if you're taking the textures from Half-Life/BM:S/etc or trying to create you're own.
2. Are you using Custom Models for you're mod in SCP:CB? Or to say, attaching a vortigaunt texture to SCP-173's current vanilla model?

-Either way, what you need to do is get all those seperate texture files together in a folder for organisation. Then you'll want to get 173's (Or whatever models) texture file/UV coordinate texture map as well.

-Create 1 layer of the 173 texture (Or whatever model) for reference.

-Then gauge where all you want to add those Vortigaunt textures or whatever. Add a new layer for each image and adjust each accordingly.

It's just not practical to compress say, 7 textures into one file a lot of the time. I found that when I did 049's model, for example, that I made his body on a 1024x1024 texture, and his actual hood face with eyeballs on a seperate 512x512 texture. Just to improve the quality. 8)


Anyhow, you should learn unwrapping in Blender to get an idea of how models are uv'd + textured.

Re: Multiple textures into a single one?

#4
CLgaming wrote:After your post in a nutshell:
Spoiler
Image
You still didn't answer my questions.

By the looks of it, you're literally trying to import the Half-Life 1 Alien Grunt model into SCP:CB. You'll probably need to unwrap it and redo all the UV's as well, because they probably got lost on the exporting/importing process. If you can't even figure out the first steps, you should probably just give up modding entirely. Because you're in for a seriously long haul. :|

Re: Multiple textures into a single one?

#5
Mirocaine wrote:
CLgaming wrote:After your post in a nutshell:
Spoiler
Image
You still didn't answer my questions.

By the looks of it, you're literally trying to import the Half-Life 1 Alien Grunt model into SCP:CB. You'll probably need to unwrap it and redo all the UV's as well, because they probably got lost on the exporting/importing process. If you can't even figure out the first steps, you should probably just give up modding entirely. Because you're in for a seriously long haul. :|
I'm more familiar with fragMOTION, if you have any advice to that program, it would benefit extremely.
STEAM
## LOG OFF.

Re: Multiple textures into a single one?

#9
Mirocaine wrote:
CLgaming wrote:After your post in a nutshell:
Spoiler
Image
You still didn't answer my questions.

By the looks of it, you're literally trying to import the Half-Life 1 Alien Grunt model into SCP:CB. You'll probably need to unwrap it and redo all the UV's as well, because they probably got lost on the exporting/importing process. If you can't even figure out the first steps, you should probably just give up modding entirely. Because you're in for a seriously long haul. :|
I imported the hazmat suit from HL1 and had no problems with it, aside from no animations (that wasn't a problem in my case). I didn't have to unwrap any UV's :|
SCP - Box of Horrors v0.8.0b
Twitter
Github Profile

Re: Multiple textures into a single one?

#10
Ugh, I have Half-Life, and I know the format already, so heres an explanation:
Each texture is held in a different 8-bit (256-color) .BMP files.
All animations and models are contained in a .SMD file. The SMD contains either the mesh or an animation, the mesh is called a Reference SMD.
So, the reference contains the model and skeleton, the rest the skeletal animations. Simple.

The final model file (.mdl) is compiled using a .QC script.
We can decompile the model using Jed's Half-Life Model Viewer, I have it installed from my Cry of Fear work. (It's a GoldSrc mod.)
The voriguant models are islave.mdl, islave01.mdl, and islave02.mdl.
I copy all three to my categorized folder, I have the decompiling tools already set up, so I decompile. Now, let's take a look at the .QC compile file in Notepad++.
Spoiler

Code: Select all

$modelname "islave.mdl"
$cd ".\"
$cdtexture ".\"
$scale 1.0
$cliptotextures


$bbox 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
$cbox 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
$eyeposition 0.000000 0.000000 43.000000


//reference mesh(es)
$body "studio" "ps2_slave_reference"

$body "studio" "ps2_slave_collar_reference"


// 2 attachment(s)
$attachment 0 "Bip01 R Hand" 0.000000 0.000000 0.000000
$attachment 1 "Bip01 L Hand" 0.000000 0.000000 0.000000

// 1 bone controller(s)
$controller 0 "Bip01 Neck1" YR 60.000000 -60.000000

// 39 hit box(es)
$hbox 0 "Bip01 Pelvis" -5.790000 -7.780000 -7.050000 5.410000 11.790000 7.360000
$hbox 0 "Bip01 L Thigh" -0.330000 -5.560000 -2.910000 21.709999 4.190000 2.620000
$hbox 0 "Bip01 L Calf" 0.000000 -0.910000 -1.910000 13.411350 1.950000 1.220000
$hbox 0 "Bip01 L Foot" 0.000000 -3.370000 -6.490000 9.520000 8.720000 4.510000
$hbox 0 "Bip01 L Toe02" -4.050000 -0.760000 -3.340000 1.180000 3.530000 3.070000
$hbox 0 "Bone10" 0.000000 -3.146075 0.000000 5.692028 0.000000 2.191403
$hbox 0 "Bone11" -3.690000 -0.180000 -2.230000 0.170000 1.980000 0.270000
$hbox 0 "Bone14" -0.900000 -3.080000 -0.140000 1.930000 0.650000 3.330000
$hbox 0 "Bip01 R Thigh" -0.350000 -5.540000 -2.330000 21.700001 4.200000 3.200000
$hbox 0 "Bip01 R Calf" 0.000000 -0.930000 -0.930000 13.411351 1.930000 2.200000
$hbox 0 "Bip01 R Foot" 0.000000 -3.400000 -4.800000 9.520000 8.700000 6.200000
$hbox 0 "Bip01 R Toe02" -4.040000 -0.760000 -3.360000 1.190000 3.530000 3.040000
$hbox 0 "Bone17" -1.590000 -3.100000 -0.140000 1.230000 0.630000 3.330000
$hbox 0 "Bone19" -1.268985 0.000000 -3.144119 0.000000 5.650652 0.000000
$hbox 0 "Bone20" -0.650000 -3.650000 -0.150000 1.850000 0.210000 2.010000
$hbox 0 "Bip01 Spine" 0.000000 -7.090000 -4.340000 6.150888 4.200000 4.660000
$hbox 0 "Bip01 Spine1" -1.610000 -7.100000 -5.810000 6.181765 4.130000 6.130000
$hbox 0 "Bip01 Spine2" -6.240000 -14.760000 -12.900000 18.209999 10.107881 13.230000
$hbox 0 "Bip01 Spine3" 0.000000 -1.240000 -8.210000 10.410000 9.230000 8.550000
$hbox 0 "Bip01 Neck" -5.018904 -4.020000 -3.100415 3.408091 6.569212 3.525343
$hbox 0 "Bip01 L Clavicle" 0.000000 -0.000002 -4.260000 12.390000 6.870000 3.500000
$hbox 0 "Bip01 L UpperArm" 0.000000 -3.120000 -2.550000 22.314192 3.800000 3.280000
$hbox 0 "Bip01 L Forearm" 0.000000 -2.760000 -2.890000 14.500000 3.180000 3.120000
$hbox 0 "Bip01 L Hand" 0.000000 -1.880000 -2.400000 8.310000 4.400000 2.610000
$hbox 0 "Bip01 L Finger01" 0.000000 -0.630000 -0.710000 5.390000 2.180000 1.100000
$hbox 0 "Bip01 L Finger11" 0.000000 -0.880000 -0.520000 5.290000 2.000000 1.320000
$hbox 0 "Bip01 R Clavicle" 0.000000 -0.000002 -3.370000 12.560000 6.900000 4.350000
$hbox 0 "Bip01 R UpperArm" 0.000000 -2.930000 -3.340000 22.314194 4.000000 2.640000
$hbox 0 "Bip01 R Forearm" -0.040000 -2.660000 -3.130000 14.320000 3.280000 3.030000
$hbox 0 "Bip01 R Hand" -0.140000 -2.000000 -2.470000 8.130000 4.280000 2.540000
$hbox 0 "Bip01 R Finger01" 0.000000 -0.800000 -1.040000 5.180000 1.960000 0.780000
$hbox 0 "Bip01 R Finger11" 0.000000 -1.030000 -1.120000 5.080000 1.830000 0.700000
$hbox 0 "Bip01 Neck1" -4.020000 -6.280000 -6.730000 5.020000 6.290000 6.810000
$hbox 0 "Bip01 Head" -2.180000 -4.410000 -7.650000 14.090000 11.580000 7.780000
$hbox 0 "Bone05" -2.570000 -7.170000 -3.240000 2.940000 0.000000 3.170000
$hbox 0 "Bone06" -3.510000 -6.960000 -1.240000 0.000000 0.000000 1.120000
$hbox 0 "Bone07" -6.670000 -6.380000 -2.920000 0.000000 0.000000 2.630000
$hbox 0 "Bone22" -1.560000 -2.910000 0.000000 0.000000 0.000000 3.550000
$hbox 0 "Bone26" 0.000000 -2.930000 0.000000 1.760000 0.000000 3.580000

$sequencegroupsize 64

// 30 animation sequence(s)
$sequence "idle1" "idle1" fps 15 loop ACT_IDLE 1 
$sequence "idle2" "idle2" fps 15 loop ACT_IDLE 2 
$sequence "idle3" "idle3" fps 15 loop ACT_IDLE 8 
$sequence "crouch" "crouch" fps 15 ACT_CROUCH 1 
$sequence "walk1" "walk1" LX fps 15 loop ACT_WALK 1 
$sequence "walk2" "walk2" LX fps 15 loop ACT_WALK 1 
$sequence "run1" "run1" LX fps 25 loop ACT_RUN 1 
$sequence "right" "right" fps 15 ACT_TURN_LEFT 1 
$sequence "left" "left" fps 15 ACT_TURN_RIGHT 1 
$sequence "jump" "jump" X fps 15 
$sequence "stairsup" "stairsup" LX LZ fps 15 loop 
$sequence "attack1" "attack1" fps 22 ACT_MELEE_ATTACK1 4 {
  { event 1 7 } 
  { event 1 13 } 
  { event 1 21 } 
 }
$sequence "zapattack1" "zapattack1" fps 15 ACT_RANGE_ATTACK1 1 {
  { event 3 0 } 
  { event 3 4 } 
  { event 3 10 } 
  { event 3 15 } 
  { event 4 24 } 
  { event 5 29 } 
 }
$sequence "flinch2" "flinch2" fps 15 ACT_SMALL_FLINCH 1 
$sequence "laflinch" "laflinch" fps 15 ACT_FLINCH_LEFTARM 1 
$sequence "raflinch" "raflinch" fps 15 ACT_FLINCH_RIGHTARM 1 
$sequence "llflinch" "llflinch" fps 15 ACT_FLINCH_LEFTLEG 1 
$sequence "rlflinch" "rlflinch" fps 15 ACT_FLINCH_RIGHTLEG 1 
$sequence "dieheadshot" "dieheadshot" X Y fps 20 ACT_DIE_HEADSHOT 1 
$sequence "diesimple" "diesimple" X Y fps 20 ACT_DIESIMPLE 1 
$sequence "diebackward" "diebackward" X Y fps 20 ACT_DIEBACKWARD 1 
$sequence "dieforward" "dieforward" X Y fps 40 ACT_DIEFORWARD 1 
$sequence "collar1" "collar1" fps 18 ACT_RELOAD 1 
$sequence "collar2" "collar2" fps 18 ACT_RELOAD 1 
$sequence "pushup" "pushup" fps 20 
$sequence "grab" "grab" fps 20 
$sequence "updown" "updown" fps 20 
$sequence "downup" "downup" fps 20 
$sequence "jibber" "jibber" fps 30 loop { event 1008 19 "aslave/slv_word5.wav" } { event 1008 52 "aslave/slv_word7.wav" } 
$sequence "jabber" "jabber" fps 30 loop { event 1008 9 "aslave/slv_word3.wav" } { event 1008 39 "aslave/slv_word4.wav" } 

// End of QC script.
It's a bit overwhelming, so let's break this down:
Reference SMDs

Code: Select all

//reference mesh(es)
$body "studio" "ps2_slave_reference"
$body "studio" "ps2_slave_collar_reference"
"studio" is the model's body name. The SMDs have a ps2_ prefix because they are the Gearbox HD models ported from PS2. Notice there are no file extentions present, it automatically assumes them.

Animations (Trimmmed, I assume you are using him as 106 or the MTF, but I have trimmed to the ones 106 would use.)

Code: Select all

// 30 animation sequence(s)
$sequence "idle1" "idle1" fps 15 loop ACT_IDLE 1 
$sequence "idle2" "idle2" fps 15 loop ACT_IDLE 2 
$sequence "idle3" "idle3" fps 15 loop ACT_IDLE 8 
$sequence "walk1" "walk1" LX fps 15 loop ACT_WALK 1 
$sequence "grab" "grab" fps 20 
$sequence "jibber" "jibber" fps 30 loop { event 1008 19 "aslave/slv_word5.wav" } { event 1008 52 "aslave/slv_word7.wav" } 
$sequence "jabber" "jabber" fps 30 loop { event 1008 9 "aslave/slv_word3.wav" } { event 1008 39 "aslave/slv_word4.wav" } 
The first one is the name of the animation in-model, the second the literal .SMD file it comes from. But what's this on the last two?
They are saving those .WAV files on the 3rd number, so the jibber animations would play slv_word5.wav on the 19th frame of the animation.

I have no more comp-time left, so I suppose you'll have to do with this. fragMOTION can import Half-Life files. Use Merge Animation with another SMD
to get all the animations, then export to .B3D as said in Miro's guide. Goodluck.

Oh, and CL, Blitz3D can have multiple textures per model. You just have to make Blitz3D load more files. And convert them to .jpg or .png format.

[EDIT]
HURRAH! I HAVE 1337 POSTS!
Image