1. Forums
  2. Discord
  3. About Mapcore
  4. Patreon Supporters
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. Mapcore
  2. Discussions
  3. Creative Chat

.VMT and .VMF Help Thread

  • Vorontsov
  • April 24, 2015 at 6:02 PM
  • Vorontsov
    • April 24, 2015 at 6:02 PM
    • #1

    I'm not sure if there is one so I guess I'll start one where people can come and go and ask questions / anwser them.


    My question: in VTFEdit when you create a .VMT file there are no obvious options, atleast not how I understand them. I have a diffuse texture, normal map, specular map and a displacement map. I do not know how to implement these properly in the .VMT creator. There are also confusing options like there being "Bump Map 1" and "Bump Map 2" as well as "Normal Map", so if I wanted to add the normal map to my texture which option should be chosen? And how do I implement all my maps into one texture?

  • will2k
    • April 24, 2015 at 6:55 PM
    • #2

    Your title is a bit wrong; I believe you meant VMT and VTF thread (not VMF) (VTF is the texture format while VMF is the map source file format)


    Your answers lie in the Valve Developer Community wiki


    https://developer.valvesoftware.com/wiki/$bumpmap


    https://developer.valvesoftware.com/wiki/$envmap


    https://developer.valvesoftware.com/wiki/$envmapmask


    https://developer.valvesoftware.com/wiki/$normalmap


    My advice to you is to open stock textures of Valve in VTFEdit and see what they ticked; for exmaple if you are creating a cobblestone texture with bumpmap then open up some cobble roads textures from de_cbble in CSS or CSGO and check the options and try to mimick them in yours (like anisotropic, no mipmap, clampS, clampT, normal map and so on)


    Hope this helps

  • Vorontsov
    • April 24, 2015 at 7:37 PM
    • #3

    Yeah title is supposed to be .VMT and .VTF. Thanks for the tip, will try this as I can't even get a basic normal map working.

  • will2k
    • April 24, 2015 at 7:45 PM
    • #4

    normal maps are pretty straightforward in source.


    Once you prepare the normal map vtf, make sure to tick the "normal map" checkbox.


    The vmt declaration is very simple especially for a brush-based texture


    example vmt:


    "LightmappedGeneric"
    {
    "$basetexture" "folder_name/texture_name"
    "$surfaceprop" "rock"
    "$bumpmap" "folder_name/texture_name_n"
    }


    You can name your bumpmap anything but to keep things tidy, just add _n or_normal to the diffuse texture name.

  • Vorontsov
    • April 25, 2015 at 8:38 PM
    • #5

    How do you properly activate a normalmapalphaenvmapmask?


    "$normalmapalphaenvmapmask" 1


    or


    "$normalmapalphaenvmapmask" "1"


    I'm not even sure if my normal map + specular map are on.

  • will2k
    • April 26, 2015 at 12:16 PM
    • #6

    here is a sample vmt's to make things clearer (stock texture from office):


    LightmappedGeneric
    {
    "$basetexture" "plasteroffwllb"
    "$surfaceprop" "plaster"
    "$bumpmap" "plaster/offwllb_normal"
    "$envmap" "env_cubemap"
    "$envmapcontrast" "1"
    "$normalmapalphaenvmapmask" "1"
    }

    To test your normal maps in-game, open the console and type mat_normalmaps 1; all your textures with normal maps will turn to the blue normal map. If a certain diffuse texture that you are sure you made a normal map for it does not turn into the blue normal map then you know something is wrong either in the vtf or the vmt switches.


    To test spec maps in-game, open the console and type mat_specular 0 to temporarily turn off specularity and reflections (so you can check which textures are changing)


    These are boolean command so 0 to toggle off and 1 to toggle on.

  • Vorontsov
    • April 26, 2015 at 11:02 PM
    • #7

    Alright thanks fixed my normals, but how do I know the specular in it's alpha channel is being used? Do note that everything now is set up 100% correctly and should work, I just want to know for a fact that the speculars work too. Mat_specular 0 / 1 are not avaible commands in CSGO. Maybe some other command to check it?

  • Vorontsov
    • April 27, 2015 at 10:07 AM
    • #8

    Bump so it gets more visibility today

  • will2k
    • April 27, 2015 at 3:57 PM
    • #9

    Yes, unfortunately Valve locked the 2 cmds in CSGO (mat_specular and mat_bumpmap), despite being very helpful in quickly checking spec and normal maps in-game.


    For normal maps in CSGO, my earlier post clarified the new method to check them in-game (mat_normalmaps); you can also try mat_fastnobump 1/0 to quickly enable/disable bumpmapping.


    For specular maps, first type r_showenvcubemap 1 to turn your glove and pistol model to a reflective texture. Run around the map and you should see that the reflection is changing depending on the cubemap in that particular area. If your cubemaps are not loaded correctly, then the texture will reflect only the skybox or not reflect at all. This is to ensure that your reflections are enabled and correct.


    Now for your particular texture, I guess you can inspect it visually to check reflectivity. Make sure all video settings are on high in CSGO (low settings disable reflections by default), then wander near your texture and you should easily see that it is reflecting light. If in doubt create a small test map in CSS and use this particular texture then you can use mat_specular to toggle reflectivity and check the texture closely.


    Hope this helps

  • Vorontsov
    • April 27, 2015 at 6:48 PM
    • #10

    You are awesome for doing this, so mad love to you, don't really know what I would do otherwise, just a shame that I'm the only one asking questions .


    Either way, what is the difference between $bumpmap and $normalmap?


    One would assume that you should use $normalmap for your normalmaps, but everyone seems to use $bumpmap. What's the difference?

  • will2k
    • April 27, 2015 at 7:10 PM
    • #11

    $normalmap is a unique command for the water shader only; for everything else, use $bumpmap.


    https://developer.valvesoftware.com/wiki/Water_%28…ader_parameters

  • Tomato
    • May 2, 2016 at 7:21 PM
    • #12

    Maybe I should create a new thread, but this one should actually fit.

    I'm having some trouble seeing bumpmaps in csgo. I've followed tutorials on the net (like TophatWaffle's one) and carefully traced the different steps.

    -Create vtf of base texture

    -Create normalmap and make vtf aswell (checking the flag "normal map")

    -Creating a .vmt with the following:

    "LightmappedGeneric" { "$basetexture" "custom/de_samba/broken_brick_plaster_bottom" "$bumpmap" "custom/de_samba/broken_brick_plaster_bottom_bump" "$surfaceprop" "Brick" "$surfaceprop2" "Default" }

    Then I applied the texture to a brush in Hammer and compiled the whole map (is a full compile necessary?)

    When I go in the game and look at the texture, I see no difference at all. When I check with " mat_normalmaps 1", I see no blue textures or whatever.


    Can someone help me with my problem?

    Thanks in advance.

  • tomm
    • May 2, 2016 at 7:36 PM
    • #13

    Check your in-game console, it might be yelling at you to build cubemaps for the bump to show up.

  • Tomato
    • May 2, 2016 at 7:47 PM
    • #14
    Quote from tomm

    12 hours ago, tomm said: Check your in-game console, it might be yelling at you to build cubemaps for the bump to show up.

    Nothing strange in the console, just some normal errors of things about bots and GUI elements of the main menu and something about the chickens.

    and then this:

    No pure server whitelist. sv_pure = 0 PutClientInServer: no info_player_start on level ๖ۜTom@to | ße | connected. Ethan connected. Orin connected. Adam connected. Greg connected. Nate connected. Colin connected. Wyatt connected. Josh connected. Martin connected. ] sv_cheats 1 ] noclip noclip ON ] noclip noclip OFF ] mat_normalmaps 1

    Which looks all normal whenever I start the map

    Edit: I didn't thought building cubemaps was necessary for bumpmaps. NEver saw that in one of the tutorials. Or is it changed for GO?

  • taz-ed
    • May 3, 2016 at 10:16 PM
    • #15

    this line "$bumpmap" "custom/de_samba/broken_brick_plaster_bottom_bump" should be _normal not _bump

  • Tomato
    • May 4, 2016 at 6:59 AM
    • #16
    Quote from taz-ed

    8 hours ago, taz-ed said: this line "$bumpmap" "custom/de_samba/broken_brick_plaster_bottom_bump" should be _normal not _bump

    Does the name really matter?

    The file is a normal map (created with CrazyBump) and i saw many tutorials where everyone used a different _name at the end.

    But I will try and let you know.

  • taz-ed
    • May 4, 2016 at 12:07 PM
    • #17

    you can use _ssbump with $bumpmap maybe that what your thinking about ??

  • jakuza
    • May 5, 2016 at 9:02 PM
    • #18

    No, the name of the file doesn't matter. Bumpmaps were the precursor to normal mapping, but the name "bumpmap" stuck. I think the reason you're not seeing it is simply because normal maps are hard to see without really hard lighting, or baked shadows via ssbump. You can also make them more visible with specular, but since your material is brick/plaster that's not really called for.

    Edit: Sorry, didn't read your post fully, if they're not appearing with mat_normalmaps then what I said doesn't apply at all.

  • Tomato
    • May 10, 2016 at 9:57 AM
    • #19

    So if the name doesn't matter and the VMT seems correct to me, what's the problem those maps don't show up ingame?

    Does it need to be in a certain format? I noticed that Valve mentioned something about BGR8888 format but DXT1 should be okay to in the newer versions (under Conversion > vtfEdit)

  • spence
    • May 11, 2016 at 4:22 PM
    • #20

    DXT should be ok if you don't mind some compression artifacts. Maybe post the files so one of us can have a look, if you're still having trouble. Nothing looks out of place in the VMT.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login
Discord

The Mapcore Discord is our lively IRC channel of the 2000s reborn. Chat about level design, gaming, and more.

Latest Posts

  1. About our archived forums

    Thrik
    June 30, 2026 at 2:12 PM
  2. Mapcore Discord

    mason_fan123
    June 24, 2026 at 8:52 PM
  3. [CS2] Valley

    Serialmapper
    June 22, 2026 at 11:56 AM
  4. Any of the old guard still around? D:

    Thrik
    June 20, 2026 at 10:11 PM
  5. Free Music / SFX Resource - Over 2500 Tracks

    Eric Matyas
    June 18, 2026 at 12:32 PM
  6. Pango [WIP]

    Elowen
    June 11, 2026 at 10:13 AM
  7. [CS2] Dvina

    Jeremy Rivera
    June 11, 2026 at 10:03 AM
  8. Bridges 2.0 by NEXSIDE, MAP SHOWCASE. ( Steam Workshop )

    MrTrane18
    June 1, 2026 at 7:46 PM
  9. Classic Maps Reborn For CS2

    SillySpaceCat
    May 31, 2026 at 10:33 PM
  10. [CS2] Dvina

    Pulbusha
    May 29, 2026 at 5:54 PM

Users Viewing This Thread

  • 1 Guest
  1. Privacy Policy
  2. Contact
Powered by WoltLab Suite™