Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TF2] "WeaponSkin" material proxy does not consistently set basetexture(s) for Decorated/Warpaintable items #6961

Open
Voids29 opened this issue Jan 22, 2025 · 0 comments

Comments

@Voids29
Copy link

Voids29 commented Jan 22, 2025

When creating custom models for items that can have war paints applied to them, it is sometimes ideal to disable the ability of said weapons to have war paints visibly applied to them. This can almost be fully accomplished by simply not including "WeaponSkin" in the material proxies of the custom model's .vmt file. Unfortunately, this does not consistently work with all war paints and/or decorated weapons. War paints such as the Dragon Slayer, Yeti Coated, Winterland Wrapped, Coffin Nail, Dressed to Kill, and many more that I could list do NOT use the defined default basetexture(s) (i.e. the texture file defined in the $basetexture paramter) when the "WeaponSkin" proxy is absent.

I have included screenshots demonstrating this issue with the Autumn Mk.II and Yeti Coated war paints:

This is a test model I have rigged. The model is comprised of two squares, each using their own material. The red square does NOT use the "WeaponSkin" proxy, and the blue square uses "WeaponSkin" proxy. There is currently no war paint applied in this screenshot
Image

Below demonstrates the expected behavior of the "WeaponSkin" proxy. This screenshot shows that the test model has the Autumn Mk.II warpaint applied to it. The blue square's texture is replaced by the warpaint, while the red square's is not. This is expected, as the blue square's material is telling the game that it should be used for the basetexture of the warpaint .
Image

Now this is where the behavior of the "WeaponSkin" proxy becomes inconsistent. Here we have the Yeti Coated warpaint applied to the test model. As you can see, the warpaint is replaces the textures of BOTH squares in this screenshot. The reason this is unexpected behavior is because the red square's material does NOT say it is should be used as the basetexture of the warpaint, while the blue square's material does.
Image

Below I have zipped the test set up used in the screenshots. This test set up can easily be used by dragging the root directory of the zip into Team Fortress 2's custom folder. The model that is being replaced is the default scattergun.

warpaint_test.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants