Thanks Wallworm

Started by loafster, April 13, 2012, 08:56:12 PM

Previous topic - Next topic

loafster

This was my first time doing anything with source or any other engine. After spending a bunch of time reading tutorials I found Wallworm and I immediately thanked the universe. I might have quit without it lol

It took me a while to get the spec to work. The texture page helped me out, but I wasn't able to get the specular to work as an alpha on the diffuse.
The in-game console kept saying the following when I typed "mat_specular 0/1":
"material keypad/keypad_diffuse512 has a normal map and $basealphaenvmapmask.  Must use $normalmapalphaenvmapmask to get specular." It also took me a while to find out that I needed "$envmap" "env_cubemap" for the specular to display.
I wanted to avoid putting it on the normal because DXT5 didn't work well with normal maps so I didn't compress the normal. I figured that it would be more efficient to add the specular on the diffuse with DXT5 compression.
I then added a self illumination map on the diffuse alpha so it all worked out.
I first tried a separate self illumination map, but that didn't work for me. "$selfillumtexture" "keypad\keypad_illumination" didn't seem to do anything. Adding it to the diffuse worked fine.
According to this page https://developer.valvesoftware.com/wiki/$selfillum $selfillumtexture doesn't work in source 2007. I used source 2009 Ep2 and it didn't work.

I learned a few things and was successful in importing my first prop. Thank you Wallworm for the awesome tools. Next time will be super easy.


wallworm

Thank you for sharing your experience and work! Kudos on your first Source model!

The whole point of WW is to make it simple to make content for Source. I remember when I first started making a model... I told myself that I must be foing it all wrong because it had to be simpler than it was... but then I learned that it really was such a pain. In fact, there was a point in time that I considered just abandoning Source altogether...

But then I kept getting the itch to build some levels again for games I loved (Source games)... and I ventured back. But after struggling through a few dozen models... I probably cussed, cussed some more... then decided to make Wall Worm :)

Anyway, thank you again for sharing. Please keep it up... keep sharing and feel free to offer feedback, ideas, etc. Apologies on the ad hoc and dissheveled docs... but I am trying to keep them updated as much as possible. But it really takes a lot of effort to document everything. At some point they will be more complete...

PS. regarding textures... I do have some enhancements to the texture exporting UI soon that will give granular control... but that will be after I'm done with a couple maps.

K@rt

Glad you are happy with wallworm.

Just to clarify a few points for info.

Normally you cant use selfillum in combination with a transparent diffuse map in source, ie you cant have $transparent 1 and $selfillum 1 in the same vmt. You also cannot use separate specular and normal maps for the same basetexture. If you want normal and specular you must add the specular map to either the alpha channel of the normal map or the basetexture, doesnt matter which... if your basetexture is transparent in parts then you can still use its alpha channel for specular reflections, its just that the opaque areas will be completely matt and the transparent areas will be reflected to the amount of the transparency, which limits you more.

Usually to compile normal maps you should turn off "nice" filtering, also a good thing to do for decals if you get "halos" around them as you move away.

All reflective surfaces need $envmap and will only reflect if you place cubemaps and build them (dont forget to build twice in HDR environments). $envmap can be a little tempremental on certain model textures, especially when they are also alpha $transparent 1... you can replace env_cubemap with an environment map texture if necessary and if you get transparency issues try replacing $transparent 1 with $alphatest 1

You can also use the $additive 1 parameter as an alternative to selfilllum in certain situations, and although I dont think it works for models you can also add your texture path/name to the .rad file and make it emit real light.

Anyway, nice looking work, keep it up :)

wallworm

Quote from: K@rt on April 14, 2012, 02:03:51 AM
you cant have $transparent 1 and $selfillum 1 in the same
For further clarification... WW should be creating VMTs that use $alphatest with $selfillum... so if you find differently, let me know.

I still need to make a switch in WW for exporting textures that allows you to choose between $selfillumtexture and $selfillummask to accomodate the engine you are using... since they do the same thing but each only works in its own branches... why they did that heaven only knows...

loafster

I've played a bunch of source mods. Mods got me into 3d modeling and now I'm looking to contribute and this tool makes that possible :). I'm looking forward to using some of the other options I didn't use for this like the LOD creation options.

QuoteUsually to compile normal maps you should turn off "nice" filtering, also a good thing to do for decals if you get "halos" around them as you move away.

Thanks for the info K@rt. Is this "nice" filtering setting available in WW, I couldn't find filtering settings. I also got VTFEdit, it helped me figure out the compression issue. Once I opened the VTFs the bad compression became apparent. After trying various compressions in VTFEdit I found nocompress to be similar if not equal to BGRA8888 in size and quality.

wallworm

#5
Quote from: loafster on April 14, 2012, 03:06:30 PM
Is this "nice" filtering setting available in WW, I couldn't find filtering settings.

[EDITED]
No. I do not think it is a parameter you can pass into Vtex.exe...

Actually, there is a way to do this via WW (I've already been doing it with the Sky Texture compiling in Sky Writer). I will add a function to do that when necessary in models like normal maps.
[END EDIT]

At the moment you can only control the Shader (VertexlitGeneric and UnlitGeneric) and compression level as blank (DXT3), DXT5 and nocompress.

I did update WWMT today to accomodate the $selfillummask. Now it uses both $selfillumtexture and $selfillummask... and the one your engine version uses will be used (and the other is ignored).

loafster

Nice!
Now I know what that blank is.

wallworm

Quote from: loafster on April 15, 2012, 04:14:46 PM
Nice!
Now I know what that blank is.

It was laziness on my part... as the allowed values to pass for compression are only -dxt5 and -nocompress (and nothing, which equates to dxt3)... I simply made the array to map the values in the menu. A bit cryptic but was quicker to implement for me. I may update to display dxt3 at some point... it just requires a few more if/then blocks.

SMF spam blocked by CleanTalk