DigitalEro Offline

Xnalara to SFM map question

Sun, 23 Feb 2014 15:28:50

Horsey

So hypothetically, what would stop me from just turning this map into a big prop and just dropping it on to any SFM map? The lighting would probably be the most screwed up issue but it's a relatively small map to start with. Or would I be better off trying to learn Hammer? http://xnalara-customized.deviantart.com/art/Shepard-s-Lounge-Office-Citadel-XPS-XNALara-435790105
Sun, 23 Feb 2014 17:10:40

Ganonmaster

"Horsey" said ...
would I be better off trying to learn Hammer?
Hammer is a fickle mistress. It's by no means as easy as level design in Unity or the UDK. Prone to random crashes, but if you know how to use it, it can be used to create high quality maps. Just know that it is a real pain to deal with.
"Horsey" said ...
So hypothetically, what would stop me from just turning this map into a big prop and just dropping it on to any SFM map?
Nothing. I personally would opt for the second option. Just turn it into a prop, drop it into SFM in the black_void map, setup your lighting and start posing. Downside is that, unless you save your dmx file, you'll have to set it up every time.
Sun, 23 Feb 2014 19:03:43

Pipedude

Shepards quarters, that pool map, the dungeon, DMC bedroom, all of those maps are actually props in a box. But like Ganon said Hammer is fickle. so I'd go with a prop over a map. Just remember that source limits each model to 32 materials, if the scene has more you'll have to break it up.
Mon, 24 Feb 2014 04:39:14

Horsey

Thanks for the advice, I'll give it a go and see how well it works out.
Mon, 24 Feb 2014 22:31:52

Horsey

"Pipedude" said ...
Shepards quarters, that pool map, the dungeon, DMC bedroom, all of those maps are actually props in a box. But like Ganon said Hammer is fickle. so I'd go with a prop over a map. Just remember that source limits each model to 32 materials, if the scene has more you'll have to break it up.
While I'm pestering for help: 32 materials refers to what blender identifies as materials, correct? Not SMDs or textures. In other words if I have three separate objects in blender that all use the same material (wall for instance), source will still only consider that one material correct? Thanks again for your help and advice
Tue, 25 Feb 2014 06:06:39

Pipedude

Yeah, source will look for that one material regardless of how many model use it, so there are no multiples.
Tue, 25 Feb 2014 11:47:33

Horsey

"Pipedude" said ...
Yeah, source will look for that one material regardless of how many model use it, so there are no multiples.
Good to hear. There's a lot of blender information out there and it's often difficult to suss out the exact answer I need. I appreciate the help.
Tue, 25 Feb 2014 18:53:41

kp0988

Thanks guys. :D Importing/working with maps as a prop is way easier than fiddling around with Hammer.
Wed, 26 Feb 2014 04:39:51

Horsey

Help me with my wood! Okay, so this thing is pretty much ready to go except for a few bugs, mainly I don't know shit about VMTs. I straight up copied the VMTs from cirre's prop packs and used those on the majority of the VMTs in this model. "VertexlitGeneric" { "$basetexture" "models/immigrant/office/desktop" "$bumpmap" "models/immigrant/office/table_normal" "$envmapmask" "models/immigrant/office/table_spec" "$normalmap" "models/immigrant/office/table_normal" "$model" "1" "$halflambert" 1 "$selfillum" 1 "$phong" "1" "$phongexponent" 1 "$phongboost" ".07" // "$phongexponent "5" "$phongfresnelranges" "[10 10 10]" // Rim lighting parameters "$rimlight" "0" // To enable rim lighting (requires phong) "$rimlightexponent" "1" // Exponent for phong component of rim lighting "$rimlightboost" ".008" } For the most part it looks alright on everything unless it is supposed to have a reflective surface (i.e., polished wood). In this case the poker table: with phong: without phong: Any suggestions? I've been playing around with the phong settings with limited success. Also, am correct in my understanding that you cannot use spec textures with phong (and therefore ambient occlusion)? Thanks again for all the help and sorry for all the questions.
Wed, 26 Feb 2014 09:12:22

Ganonmaster

"Horsey" said ...
Also, am correct in my understanding that you cannot use spec textures with phong
There are two types of reflections in Source. Specular reflections (envmaps / cubemaps) and diffuse (phong) reflections. Specular reflections make surfaces reflect like a mirror, while phong reflections result in a diffuse gradient of light on the surface. Phong can make use of specular masks and exponent textures. Specular reflections make use of the map's cubemaps/environment textures and model specific masks. You can have both specular and phong at the same time, but some parameters won't work.($envmapcontrast, $envmapsaturation) Unless you tweak the envmap parameters like envmaptint, the envmap can be incredibly bright. Also, another requirement for envmap to work is that the map must contain an env_cubemap entity and that cubemaps are built for the map. I may be reading this wrong, but you're using the specular texture in the envmapmask slot. That's not right considering how specular works in Source. The envmap slot takes a texture that represents the reflection of world around the object, which is then projected onto the surface of the object. Unless you use the cubemap built into the map, you feed it multiple textures. Almost like a skybox texture. Read more about cubemaps here. I don't see any envmap defined in your material. Also, the specular texture you are using (which I assume is the same as it is in the game files), contains a different texture in each (RGB) channel. In the Unreal engine, they split these apart into different material parameters to achieve an effect that's similar to phong. In order for this texture to be useful to you, you need to separate the right channel into a $phongexponenttexture, and add the other channel to the normal map as an alpha channel to get a phong mask. Read more about those parameters here. And you could perhaps use the third channel as an envmapmask. To achieve the effect you want, I'd recommend spending more time with the phong parameters and textures and using proper values for your envmaps this time.
"Horsey" said ...
(and therefore ambient occlusion)?
AO should work fine. Edit: you're also using $normalmap, which is pretty redundant, considering that you already have $bumpmap defined.
Wed, 26 Feb 2014 09:24:16

Pipedude

"VertexlitGeneric"
{
"$basetexture" "models/immigrant/office/desktop"
"$bumpmap" "models/immigrant/office/table_normal"
"$envmapmask" "models/immigrant/office/table_spec"
"$normalmap" "models/immigrant/office/table_normal"
"$model" "1"
"$halflambert" 1
"$selfillum" 1

"$phong" "1"
"$phongexponent" 1
"$phongboost" ".07"
// "$phongexponent "5"
"$phongfresnelranges" "[10 10 10]"

// Rim lighting parameters
"$rimlight" "0" // To enable rim lighting (requires phong)
"$rimlightexponent" "1" // Exponent for phong component of rim lighting
"$rimlightboost" ".008"

}
Ok so looking over the vmt there's a few things to change. first thing is that reflection in source games is handled by environment maps, but those are map entities aka you need to compile a map with them in it to get reflectivity. but there's a workaround. tf2 comes with some premade cubemaps for various stuff. they're in materials/cubemaps ex - $envmap "cubemaps/whatever" as far as phong and specular maps are concerned I use this $phongexponenttexture another thing I see is that you have $selfillum 1 which will make the texture fullbright in game. If you used that for every material they won't look right because selfillum 1 is for like lights or glowing things. I also see that you have $normal and $bumpmap, these 2 basically are the same thing so to keep things clean just choose one or the other. lastly is the phong settings, in this example I'll use my DovahDick model (not released yet) to show you what you can mess with. heres the base image [center:37w90won][/center:37w90won] This first example is the phongboost the left half is its setup value of 0.3, right is 10 [center:37w90won][/center:37w90won] This is an example of phongexponent. the left is the base which doesn't use phongexponent, and the right is a phongexponent of 10 with the phongboost still set to 20 as above [center:37w90won][/center:37w90won] Lastly just to make sure that AO will work add $mostlyopaque to the qc of the model
Wed, 26 Feb 2014 13:38:16

Horsey

"Ganonmaster" said ...
"Horsey" said ...
Also, am correct in my understanding that you cannot use spec textures with phong
There are two types of reflections in Source. Specular reflections (envmaps / cubemaps) and diffuse (phong) reflections. Specular reflections make surfaces reflect like a mirror, while phong reflections result in a diffuse gradient of light on the surface. Phong can make use of specular masks and exponent textures. Specular reflections make use of the map's cubemaps/environment textures and model specific masks. You can have both specular and phong at the same time, but some parameters won't work.($envmapcontrast, $envmapsaturation) Unless you tweak the envmap parameters like envmaptint, the envmap can be incredibly bright. Also, another requirement for envmap to work is that the map must contain an env_cubemap entity and that cubemaps are built for the map. I may be reading this wrong, but you're using the specular texture in the envmapmask slot. That's not right considering how specular works in Source. The envmap slot takes a texture that represents the reflection of world around the object, which is then projected onto the surface of the object. Unless you use the cubemap built into the map, you feed it multiple textures. Almost like a skybox texture. Read more about cubemaps here. I don't see any envmap defined in your material. Also, the specular texture you are using (which I assume is the same as it is in the game files), contains a different texture in each (RGB) channel. In the Unreal engine, they split these apart into different material parameters to achieve an effect that's similar to phong. In order for this texture to be useful to you, you need to separate the right channel into a $phongexponenttexture, and add the other channel to the normal map as an alpha channel to get a phong mask. Read more about those parameters here. And you could perhaps use the third channel as an envmapmask. To achieve the effect you want, I'd recommend spending more time with the phong parameters and textures and using proper values for your envmaps this time.
"Horsey" said ...
(and therefore ambient occlusion)?
AO should work fine. Edit: you're also using $normalmap, which is pretty redundant, considering that you already have $bumpmap defined.
Okay, I think one of the main sources of my confusion is using the spec texture in the envmapmask slot. In this particular case I'm thinking I probably don't need to bother with using envmap at all. I'll take a look at the link for the specular texture and see if that helps clean up the model. It seems to me this is probably what I want to do, I just have to figure out how to set it up and cook it into VTFedit. I also read somewhere that using the $normalmap on top of the $bumpmap gives it a little extra pop, but it seems like that's not really the case.
Wed, 26 Feb 2014 13:42:06

Horsey

"Pipedude" said ...
"VertexlitGeneric"
{
"$basetexture" "models/immigrant/office/desktop"
"$bumpmap" "models/immigrant/office/table_normal"
"$envmapmask" "models/immigrant/office/table_spec"
"$normalmap" "models/immigrant/office/table_normal"
"$model" "1"
"$halflambert" 1
"$selfillum" 1

"$phong" "1"
"$phongexponent" 1
"$phongboost" ".07"
// "$phongexponent "5"
"$phongfresnelranges" "[10 10 10]"

// Rim lighting parameters
"$rimlight" "0" // To enable rim lighting (requires phong)
"$rimlightexponent" "1" // Exponent for phong component of rim lighting
"$rimlightboost" ".008"

}
Ok so looking over the vmt there's a few things to change. first thing is that reflection in source games is handled by environment maps, but those are map entities aka you need to compile a map with them in it to get reflectivity. but there's a workaround. tf2 comes with some premade cubemaps for various stuff. they're in materials/cubemaps ex - $envmap "cubemaps/whatever" as far as phong and specular maps are concerned I use this $phongexponenttexture another thing I see is that you have $selfillum 1 which will make the texture fullbright in game. If you used that for every material they won't look right because selfillum 1 is for like lights or glowing things. I also see that you have $normal and $bumpmap, these 2 basically are the same thing so to keep things clean just choose one or the other. lastly is the phong settings, in this example I'll use my DovahDick model (not released yet) to show you what you can mess with. heres the base image [center:1odzagkj][/center:1odzagkj] This first example is the phongboost the left half is its setup value of 0.3, right is 10 [center:1odzagkj][/center:1odzagkj] This is an example of phongexponent. the left is the base which doesn't use phongexponent, and the right is a phongexponent of 10 with the phongboost still set to 20 as above [center:1odzagkj][/center:1odzagkj] Lastly just to make sure that AO will work add $mostlyopaque to the qc of the model
In that case, maybe I will screw around with the envmap afterall. I'm not sure why I had selfillium on everything, so I'll yank that out and all insert phongexponenttexture.
Wed, 26 Feb 2014 13:53:29

Horsey

"Pipedude" said ...
"VertexlitGeneric"
{
"$basetexture" "models/immigrant/office/desktop"
"$bumpmap" "models/immigrant/office/table_normal"
"$envmapmask" "models/immigrant/office/table_spec"
"$normalmap" "models/immigrant/office/table_normal"
"$model" "1"
"$halflambert" 1
"$selfillum" 1

"$phong" "1"
"$phongexponent" 1
"$phongboost" ".07"
// "$phongexponent "5"
"$phongfresnelranges" "[10 10 10]"

// Rim lighting parameters
"$rimlight" "0" // To enable rim lighting (requires phong)
"$rimlightexponent" "1" // Exponent for phong component of rim lighting
"$rimlightboost" ".008"

}
Ok so looking over the vmt there's a few things to change. first thing is that reflection in source games is handled by environment maps, but those are map entities aka you need to compile a map with them in it to get reflectivity. but there's a workaround. tf2 comes with some premade cubemaps for various stuff. they're in materials/cubemaps ex - $envmap "cubemaps/whatever" as far as phong and specular maps are concerned I use this $phongexponenttexture another thing I see is that you have $selfillum 1 which will make the texture fullbright in game. If you used that for every material they won't look right because selfillum 1 is for like lights or glowing things. I also see that you have $normal and $bumpmap, these 2 basically are the same thing so to keep things clean just choose one or the other. lastly is the phong settings, in this example I'll use my DovahDick model (not released yet) to show you what you can mess with. heres the base image [center:18l2gv8t][/center:18l2gv8t] This first example is the phongboost the left half is its setup value of 0.3, right is 10 [center:18l2gv8t][/center:18l2gv8t] This is an example of phongexponent. the left is the base which doesn't use phongexponent, and the right is a phongexponent of 10 with the phongboost still set to 20 as above [center:18l2gv8t][/center:18l2gv8t] Lastly just to make sure that AO will work add $mostlyopaque to the qc of the model
Any chance I can see the VMT of the last pic to help wrap my head around all of this?
Wed, 26 Feb 2014 18:33:26

Pipedude

DovahDick uses an edited version of the demomans material from tf_movies
"VertexLitGeneric"
{
	"$basetexture" "models\pipedude\Skyrim\Dragonborn\body"
	"$bumpmap" "models\pipedude\Skyrim\Dragonborn\body_n"
	"$phongexponenttexture" "models\pipedude\Skyrim\Dragonborn\body_s"

	//"$basemapalphaphongmask" 1

	"$phong" "1"
	"$phongboost" ".3"	
	"$lightwarptexture" "models/pipedude/shared/head_warp"
	"$phongfresnelranges"	"[.3 1 8]"
	"$halflambert" "0"

	// Rim lighting parameters
	"$rimlight" "1"												// To enable rim lighting (requires phong)
	"$rimlightexponent" "4"										// Exponent for phong component of rim lighting	
	"$rimlightboost" "2"										// Boost for ambient cube component of rim lighting
	"$rimmask" "1"

	"$ambientocclusion" "1"
}
Wed, 26 Feb 2014 22:15:50

Horsey

"Pipedude" said ...
DovahDick uses an edited version of the demomans material from tf_movies
"VertexLitGeneric"
{
	"$basetexture" "models\pipedude\Skyrim\Dragonborn\body"
	"$bumpmap" "models\pipedude\Skyrim\Dragonborn\body_n"
	"$phongexponenttexture" "models\pipedude\Skyrim\Dragonborn\body_s"

	//"$basemapalphaphongmask" 1

	"$phong" "1"
	"$phongboost" ".3"	
	"$lightwarptexture" "models/pipedude/shared/head_warp"
	"$phongfresnelranges"	"[.3 1 8]"
	"$halflambert" "0"

	// Rim lighting parameters
	"$rimlight" "1"												// To enable rim lighting (requires phong)
	"$rimlightexponent" "4"										// Exponent for phong component of rim lighting	
	"$rimlightboost" "2"										// Boost for ambient cube component of rim lighting
	"$rimmask" "1"

	"$ambientocclusion" "1"
}
Thanks! I'll play around with these when I get a chance. I thought VMTs would be easiest thing to do. They've turned into more work than importing the mesh from Xnalara to SMF models.
Thu, 27 Feb 2014 06:11:40

Ganonmaster

"Horsey" said ...
I thought VMTs would be easiest thing to do. They've turned into more work than importing the mesh from Xnalara to SMF models.
I find messing with textures and material parameters to be one of the most fun parts. Playing around with all the material parameters, trying different visual styles and instantly seeing your changes in the HLMV...
Thu, 27 Feb 2014 08:08:52

vaako

"Ganonmaster" said ...
"Horsey" said ...
I thought VMTs would be easiest thing to do. They've turned into more work than importing the mesh from Xnalara to SMF models.
I find messing with textures and material parameters to be one of the most fun parts. Playing around with all the material parameters, trying different visual styles and instantly seeing your changes in the HLMV...
Agreed. It's a shame that so many models compiled for SFM and Gmod use shitty copy-pasted shaders. VMT settings can seriously make or break some models, there is really no excuse for lazy shaders.
Fri, 28 Feb 2014 21:49:54

Horsey

Please let me know if I'm understanding this correctly. $phongexponenttexture" essentially is a way to replace or fake the specular map of a model using the bump map texture. So you would either want to add a separate spec texture to the VMT or use $phongexponenttexture" and point it back to the same texture as in the $bumpmap pathway. Correct? The second question is: is there really a significant difference between normal and bump maps? It seems like they are often used interchangeably (both of you pointed out that I had redundantly included both in my VMTs). In the textures I'm pulling out of Xnalara models seem to have either one or the other but theoretically a 'material_norm' texture and 'material_bump' texture could be used either way without seeing any major differences. Correct? If I'm going to use $phongexponenttexture, I need to use $bumpmap 'material_norm.vtf' or 'material_bump.vtf' texture. It will not work if I use $normalmap 'material_norm.vtf' or 'material_bump.vtf' as $phongexponenttexture draws off the alpha channel of the texture identified in the $bumpmap pathway. Correct? The only time one would really want to use a specular texture is when you where using $envmap in the VMT. Using both a specular texture and $phongexponttexture drawing off the bump map is unnecessary. And you wouldn't want to use $phongexponenttexture with the specular texture for model (this will just model it a big shinny mess). If I wanted to have a model with a specular map, I would need to figure out how to combine the specular texture with the normal texture in the VTF, and specular texture would have to be the alpha channel of the normal map. And $envmap will not work with $bumpmap, only $normalmap. Also the specular isn't going to work unless there are cubemaps, which are in the actual map, not the model. However I do need to include $envmap "env_cubemap" to tell the model to look for the cubemaps already in SFM map. Lastly and switching gears slightly, is there any reason to add the normal texture and specular texture to the material in Blender? In otherwords, if I have a material with just the Diff .tga selected as the color when it is exported to SMDs and complied, can I then after the fact add the appropriate normal .tga and spec. tga to the VMT? Or do all the textures associated with any material need to be identified when the model is exported as SMDs and complied again by Crowbar. The reason I'm asking this is because if I do want to use the specular texture and $envmap, I want to know after I combine the specular texture and normal texture together in GIMP, can I just rearrange the VMT or do I need to re-export and compile the model too.
Sat, 01 Mar 2014 06:19:12

Ganonmaster

"Horsey" said ...
phongexponenttexture" essentially is a way to replace or fake the specular map of a model using the bump map texture. So you would either want to add a separate spec texture to the VMT or use $phongexponenttexture" and point it back to the same texture as in the $bumpmap pathway. Correct?
No. $phongexponent, like the name implies, controls the exponent (intensity) of the phong effect on the entire model. $phongexponenttexture does the same thing, except it does it per pixel of the texture on the model. This means you get to control the places where the phong effect is strong. For example: Alyx's exponent map. You can see that the tip of the nose and the lips are brighter than other parts of the face, so the phong effect will be stronger in those spots. While it is true that Phong requires a bumpmap, that does not mean you should just start plugging it in random texture slots willy nilly. Just keep the bumpmap in the $bumpmap slot.
"Horsey" said ...
The second question is: is there really a significant difference between normal and bump maps? It seems like they are often used interchangeably (both of you pointed out that I had redundantly included both in my VMTs). In the textures I'm pulling out of Xnalara models seem to have either one or the other but theoretically a 'material_norm' texture and 'material_bump' texture could be used either way without seeing any major differences. Correct?
A bump map is used to simulate three-dimensional details on a two-dimensional surface by manipulating its lighting. The process it's used in is called normal mapping. That's why bump maps are often also called normal maps. Just forget the $normalmap slot. It's not used in Source like $bumpmap is.
"Horsey" said ...
If I'm going to use $phongexponenttexture, I need to use $bumpmap 'material_norm.vtf' or 'material_bump.vtf' texture. It will not work if I use $normalmap 'material_norm.vtf' or 'material_bump.vtf' as $phongexponenttexture draws off the alpha channel of the texture identified in the $bumpmap pathway. Correct?
$phong will not work without a $bumpmap, but $phongexponenttexture is literally a different texture. The alpha channel of the bump map is used as a Phong mask. Different maps that do different things. Also, forget about the $normalmap slot. Use $bumpmap.
"Horsey" said ...
And you wouldn't want to use $phongexponenttexture with the specular texture for model (this will just model it a big shinny mess).
I wouldn't say that. Unreal engine specular textures often store multiple textures in the three channels that make up the specular textures. Split out these channels and you might find yourself some great phong exponent and phong mask textures.
"Horsey" said ...
If I wanted to have a model with a specular map, I would need to figure out how to combine the specular texture with the normal texture in the VTF, and specular texture would have to be the alpha channel of the normal map. And $envmap will not work with $bumpmap, only $normalmap.
I don't know where you're getting this specular texture in the normal texture thing. You mean you want to embed the specular texture so you can use it as an $envmapmask? Also. Forget. $normalmap. Use. $bumpmap.
"Horsey" said ...
Also the specular isn't going to work unless there are cubemaps, which are in the actual map, not the model. However I do need to include $envmap "env_cubemap" to tell the model to look for the cubemaps already in SFM map.
Yes, but not all maps have cubemaps, so in those rare cases, it'll bug out.
"Horsey" said ...
Lastly and switching gears slightly, is there any reason to add the normal texture and specular texture to the material in Blender? In otherwords, if I have a material with just the Diff .tga selected as the color when it is exported to SMDs and complied, can I then after the fact add the appropriate normal .tga and spec. tga to the VMT? Or do all the textures associated with any material need to be identified when the model is exported as SMDs and complied again by Crowbar. The reason I'm asking this is because if I do want to use the specular texture and $envmap, I want to know after I combine the specular texture and normal texture together in GIMP, can I just rearrange the VMT or do I need to re-export and compile the model too.
My knowledge of Blender is limited, but should be enough for this question to be straightforward. This question doesn't make sense to me though. There's no need to recompile models to see texture changes. Unless you've changed the material name in Blender, you can just edit the VMT files to see your changes.
Sat, 01 Mar 2014 18:37:28

Horsey

No. $phongexponent, like the name implies, controls the exponent (intensity) of the phong effect on the entire model. $phongexponenttexture does the same thing, except it does it per pixel of the texture on the model. This means you get to control the places where the phong effect is strong. For example: Alyx's exponent map. You can see that the tip of the nose and the lips are brighter than other parts of the face, so the phong effect will be stronger in those spots.
Okay, I think I'm getting this all mixed up between phong and specular.
A bump map is used to simulate three-dimensional details on a two-dimensional surface by manipulating its lighting. The process it's used in is called normal mapping. That's why bump maps are often also called normal maps. Just forget the $normalmap slot. It's not used in Source like $bumpmap is.
Alright, that makes sense.
$phong will not work without a $bumpmap, but $phongexponenttexture is literally a different texture. The alpha channel of the bump map is used as a Phong mask.
Got it. Thanks for the clarification.
I don't know where you're getting this specular texture in the normal texture thing. You mean you want to embed the specular texture so you can use it as an $envmapmask?
Now that I'm looking for it I cannot find where I got that idea in my head. I think I read on a facepunch post that $envmap won't work with $bump but needs $normal. What I'm really hoping to do is create a reflection on a model that looks like mirror. In this particular case, I'd like to get a real polished wood look from both the poker table and floor (the phong reflection just doesn't feel like it's cutting it). My understanding is that I need $envmap to pull that reflection off with a specular texture (although, I'm starting to suspect this is off base too). I have a specular texture for both the floor and pokertable, as well as a diff and normal texture but cannot seem to get the effect I want from the specular. Am I completely off base that I need the specular texture for the model to generate that mirrored/shininess effect?
Sun, 02 Mar 2014 03:09:40

Horsey

"Horsey" said ...
No. $phongexponent, like the name implies, controls the exponent (intensity) of the phong effect on the entire model. $phongexponenttexture does the same thing, except it does it per pixel of the texture on the model. This means you get to control the places where the phong effect is strong. For example: Alyx's exponent map. You can see that the tip of the nose and the lips are brighter than other parts of the face, so the phong effect will be stronger in those spots.
Okay, I think I'm getting this all mixed up between phong and specular.
A bump map is used to simulate three-dimensional details on a two-dimensional surface by manipulating its lighting. The process it's used in is called normal mapping. That's why bump maps are often also called normal maps. Just forget the $normalmap slot. It's not used in Source like $bumpmap is.
Alright, that makes sense.
$phong will not work without a $bumpmap, but $phongexponenttexture is literally a different texture. The alpha channel of the bump map is used as a Phong mask.
Got it. Thanks for the clarification.
I don't know where you're getting this specular texture in the normal texture thing. You mean you want to embed the specular texture so you can use it as an $envmapmask?
Now that I'm looking for it I cannot find where I got that idea in my head. I think I read on a facepunch post that $envmap won't work with $bump but needs $normal. What I'm really hoping to do is create a reflection on a model that looks like mirror. In this particular case, I'd like to get a real polished wood look from both the poker table and floor (the phong reflection just doesn't feel like it's cutting it). My understanding is that I need $envmap to pull that reflection off with a specular texture (although, I'm starting to suspect this is off base too). I have a specular texture for both the floor and pokertable, as well as a diff and normal texture but cannot seem to get the effect I want from the specular. Am I completely off base that I need the specular texture for the model to generate that mirrored/shininess effect?
Nevermind, I seem to have got envmap at least working the way I want. Now I just need to tweak it a lot more.
Thu, 24 Apr 2014 18:05:59

kp0988

Sorry to bump an older thing, but I've been trying this myself, and I keep having the same problem: The walls keep becoming transparent whenever the camera looks at them. It does it regardless of my .vmt settings, so I guess it's something with my compile, but I have no clue what to look for. Anything you guys got would be helpful. :) Edit: The QC file, if that would be of any help?
Thu, 24 Apr 2014 19:00:13

Pipedude

Thats not a compile problem its a model "problem." You see to save on memory some models have parts missing or deleted which is a common optimization thing. in the original model i bet the user wasn't meant to see the back side of the wall, so it was just deleted. If you look at the wall pieces in my bordello pack they also don't have backsides.
Thu, 24 Apr 2014 19:08:40

kp0988

"Pipedude" said ...
Thats not a compile problem its a model "problem." You see to save on memory some models have parts missing or deleted which is a common optimization thing. in the original model i bet the user wasn't meant to see the back side of the wall, so it was just deleted. If you look at the wall pieces in my bordello pack they also don't have backsides.
Ah, it is like that in XPS come to think of it. I thought it was me just looking at it wrong, but I get it now with the no backwalls explanation. Thanks, I'm just happy to know that it seems it's a model issue, instead of something I did. :) Just as a side question, is there anything I could do to fix it? Like just add a flat surface to the back of it, and make it a flat grey texture, or wouldn't that work?
Thu, 24 Apr 2014 21:50:07

vaako

$nocull 1 to all the materials.
Thu, 24 Apr 2014 22:04:30

kp0988

"vaako" said ...
$nocull 1 to all the materials.
Oh yea, that duplicates the material on both both sides right? Thanks, that'll be way easier than screwing around with the model. :)