I finally did it ?. Works only for "WorldVertexTransition" i don't know yet how to make it work for "Lightmapped_4WayBlend". (the sprites have a gentle swinging motion, no special masks required)
Basically follow @TopHATTwaffle guide, but use this code provided below for the .vbsp ( you can name it whatever you want, for example custom.vbsp )
detail {custom_weeds_1 //Set detail material file for map to my_custom_sprites.vtf to use. { "density" "3000" //how often they appear inside material Group1 { "alpha" "1.0" //dark dirt } Group2 { "alpha" "0.9" } Group3 { "alpha" ".1" //grass Model1 //weed_a { "sprite" "12 26 508 490 2048" "spritesize" "0.5 0 5 5" "spriterandomscale" "0.3" "amount" "0.25" "detailOrientation" "2" } Model2 //weed_b { "sprite" "584 4 346 514 2048" "spritesize" "0.5 0 5 5" "spriterandomscale" "0.5" "amount" "0.25" "detailOrientation" "2" } Model3 //weed_c { "sprite" "984 2 512 520 2048" //(X, Y) coord. of upper left corner, w & h of sprite, size of the detailsprite.vtf texture in pixels. "spritesize" "0.5 0 5 5" //x & y of rotational center of sprite (approx .5 0), x y world size of sprite "spriterandomscale" "0.2" //randomness of sprite sizes "amount" "0.15" //relative amount of sprite...keep in thirds for three. if four sprites, would be .25 "detailOrientation" "2" //1 faces player. 0 would not rotate. 2 faces camera. } Model4 //weed_d { "sprite" "1610 92 384 310 2048" //(X, Y) coord. of upper left corner, w & h of sprite, size of the detailsprite.vtf texture in pixels. "spritesize" "0.5 0 5 5" //x & y of rotational center of sprite (approx .5 0), x y world size of sprite "spriterandomscale" "0.2" //randomness of sprite sizes "amount" "0.25" //relative amount of sprite...keep in thirds for three. if four sprites, would be .25 "detailOrientation" "2" //1 faces player. 0 would not rotate. 2 faces camera. } Model5 //weed_e { "sprite" "30 522 472 508 2048" //(X, Y) coord. of upper left corner, w & h of sprite, size of the detailsprite.vtf texture in pixels. "spritesize" "0.5 0 5 5" //x & y of rotational center of sprite (approx .5 0), x y world size of sprite "spriterandomscale" "0.5" //randomness of sprite sizes "amount" "0.5" //relative amount of sprite...keep in thirds for three. if four sprites, would be .25 "detailOrientation" "2" //1 faces player. 0 would not rotate. 2 faces camera. } Model6 //weed_f { "sprite" "552 544 416 482 2048" //(X, Y) coord. of upper left corner, w & h of sprite, size of the detailsprite.vtf texture in pixels. "spritesize" "0.5 0 5 5" //x & y of rotational center of sprite (approx .5 0), x y world size of sprite "spriterandomscale" "0.3" //randomness of sprite sizes "amount" "0.1" //relative amount of sprite...keep in thirds for three. if four sprites, would be .25 "detailOrientation" "2" //1 faces player. 0 would not rotate. 2 faces camera. } Model7 //weed_g { "sprite" "1028 632 410 396 2048" //(X, Y) coord. of upper left corner, w & h of sprite, size of the detailsprite.vtf texture in pixels. "spritesize" "0.5 0 5 5" //x & y of rotational center of sprite (approx .5 0), x y world size of sprite "spriterandomscale" "0.3" //randomness of sprite sizes "amount" "0.2" //relative amount of sprite...keep in thirds for three. if four sprites, would be .25 "detailOrientation" "2" //1 faces player. 0 would not rotate. 2 faces camera. } Model8 //weed_h { "sprite" "1536 488 492 540 2048" //(X, Y) coord. of upper left corner, w & h of sprite, size of the detailsprite.vtf texture in pixels. "spritesize" "0.5 0 5 5" //x & y of rotational center of sprite (approx .5 0), x y world size of sprite "spriterandomscale" "0.5" //randomness of sprite sizes "amount" "0.25" //relative amount of sprite...keep in thirds for three. if four sprites, would be .25 "detailOrientation" "2" //1 faces player. 0 would not rotate. 2 faces camera. } } } }
And this is an example of blend material using the custom sprites.
"WorldVertexTransition" { "$baseTexture" "nature/hr_c/hr_grass_001_color" "$bumpmap" "grass/hr_grass/grass_a_normals" "$blendmodulatetexture" "nature/hr_c/hr_grass_001_blend"
"$baseTexture2" "de_dust/hr_dust/hr_dust_ground_dirt_rough_01_color" "$bumpmap2" "de_dust/hr_dust/hr_dust_ground_dirt_rough_01_normal" "$surfaceprop" "grass" "$surfaceprop2" "gravel" "%detailtype" "custom_weeds_1"
"%keywords" "ground,dirt,blend" }
The vmt for the custom sprites example:
Grass { $baseTexture "detail\my_custom_sprites" $alphatest 1 $vertexcolor 1 $WorldSpaceScale 3 }
At map properties put your custom.vbsp and my_custom_sprites instead of the default ones.
save and compile.
Merry Christmas! ![]()