Source Filmmaker

Source Filmmaker

DenimRed Oct 11, 2019 @ 8:58am
How to apply a color tint to a model?
I'm trying to make a character tinted yellow, as if it's covered in jarate. Doing this for the character itself is easy, simply apply a $color material override, but doing this for cosmetics doesn't seem to be possible. Also, the $colortint_base is specifically for paint and doesn't apply to the entire model, which isn't what I need.

Is there a solution to this that doesn't require me to actually modify the texture itself?
< >
Showing 1-7 of 7 comments
Capt Fuzzy Oct 11, 2019 @ 9:01am 
This kinda depends on the model, sometimes it works, other times it doesn't, but if you select the model in the animation set editor and right click on it, select 'Override Materials, right-click again then select 'Show In Element Viewer', then go into the element viewer, I think you can change the color there.

WARNING: Do not muck about in the element viewer, it's touchy and can ruin a model if you aren't careful.
Last edited by Capt Fuzzy; Oct 11, 2019 @ 9:02am
Pte Jack Oct 11, 2019 @ 9:02am 
Override materials works on individual materials that build the model. there is no function (that I know of) that will coat an entire model unless that model only uses one materials. You have to edit all materials of a model to cover an entire model.
DenimRed Oct 11, 2019 @ 9:11am 
Originally posted by Pte Jack:
Override materials works on individual materials that build the model. there is no function (that I know of) that will coat an entire model unless that model only uses one materials. You have to edit all materials of a model to cover an entire model.
I don't mind doing that, it's just that I can't seem to apply a color property to a cosmetic model's material(s) to tint the material in the first place. The properties I add simply do nothing, and I'm not sure if it's a problem with the property names, or if it simply isn't possible.

I may just have to modify the textures, but I'm hoping I won't have to...
Pte Jack Oct 11, 2019 @ 9:41am 
Sometimes it is easier to tint the textures yourself and apply them. Without actual documentation for the functions of the element viewer, most of the stuff we've done in there is using the by guess or by golly method, with the occasional "HF, It WORKED!!" moments.

But that being said, sometimes things don't look like they work, until you throw a light at them.

https://i.imgur.com/d9YNxpr.png
Last edited by Pte Jack; Oct 11, 2019 @ 9:42am
DenimRed Oct 11, 2019 @ 9:57am 
Originally posted by Pte Jack:
Sometimes it is easier to tint the textures yourself and apply them. Without actual documentation for the functions of the element viewer, most of the stuff we've done in there is using the by guess or by golly method, with the occasional "HF, It WORKED!!" moments.

But that being said, sometimes things don't look like they work, until you throw a light at them.

https://i.imgur.com/d9YNxpr.png
Good point, I guess I'll just poke around some more with the element viewer to see if I have any breakthroughs.
Zappy Oct 11, 2019 @ 10:29am 
Tinting a material is "generally"/"usually"/most effectively done using a Vector3-type material parameter/override material attribute named $Color or $Color2.


However, $BlendTintByBaseAlpha makes it so that the alpha mask of $BaseTexture (and/or $Detail, if applicable) controls where $Color and $Color2 actually affect the texture/material. Team Fortress 2's cosmetics generally use that to limit where the paintability of cosmetics takes place, thus making it pretty impractical to tint the whole material this way; This can be observed even in Team Fortress 2 itself, where Jarate-coated players are generally yellow-tinted, but many cosmetics will not be yellow-tinted outside of the intended paintable area.

You should be able to disable $BlendTintByBaseAlpha using a Boolean-type value set to 0/un-ticked, but that'll typically result in the intended paintable area turning too white if the paintability worked fine before.
So for such a case, I suggest thinking of some other way to tint the material instead, e.g. a custom pre-tinted texture to use for $BaseTexture.

Originally posted by Katmoo:
- Also, the $colortint_base is specifically for paint and doesn't apply to the entire model, which isn't what I need. -
Actually, a material proxy for paintable Team Fortress 2 things "simply" "copies" the value of $ColorTint_Base to $Color2 unless $ColorTint_Tmp is not "[0 0 0]", in which case it uses that instead of $ColorTint_Base.
So in essence, $ColorTint_Base has nothing to do with Team Fortress 2-style item paintability specifically, and instead "acts" just like $Color2 would. It's simply the $BlendTintByBaseAlpha thing that makes $Color2 (and thusly $ColorTint_Base) not apply to the whole material.
Last edited by Zappy; Oct 11, 2019 @ 10:30am
DenimRed Oct 11, 2019 @ 10:36am 
Originally posted by Zappy:
Oh, I see! That's very useful information, thank you! :praisesun:
Last edited by DenimRed; Oct 11, 2019 @ 10:43am
< >
Showing 1-7 of 7 comments
Per page: 1530 50

Date Posted: Oct 11, 2019 @ 8:58am
Posts: 7