Ink'n'Pain't vs Colored Lights?


#1

Ink’n’Paint Toon Shader: is there any way to make the color of the material react to the color(s) of nearby lights?

For example, if there is a sunset scene and the light is reddish, can the material become a bit more red as the light changes? Or, similarly, maybe there is a red alert of some sort and red lights are flashing. That sort of thing.

The only method I can think of its manually changing each individual material by hand, which is obviously a giant pain, and unfeasible. for light sources of different colors. I’ve gone looking for materials that react to light in a similar fashion to Gradient Ramp’s ‘Lighting’ setting, but came up dry.

I’ve seen other people ask this question, but hardly anybody has replied, if anybody; I don’t know whether that means the answer is that it can’t be done, or if the topic was just ignored. Either way, I could use some help on this one.

Thanks. :slight_smile:


#2
  1. add skylight
  2. animate a Color Map in Mat Slate
  3. instance this map into the map of the Sky Color
  4. plug same map into InknPaint Paint slot

So that’s ONE light, how many lights you’ve got, i don’t know, how complex is your scene, I don’t know. Don’t know everything.


#3

I should have been more specific.
Can’t use Skylights; gotta be omnis and spots.

I’m looking for a solution that’s a bit more dynamic, less brute-force, a bit more fire-and-forget than animating a Color Map.
Much the way a Gradient Ramp set to ‘Lighting’ will simply react based on the parameters of nearby lights and the map itself, I’m looking for a way that the Paint color on the Ink’n’Paint material can simply react based on nearby light colors without any manual intervention.

I might need this in the case of, say, an explosion, or a police car’s lights, or a dance club scene, or any number of other times/cases where the changes of lightning might make setting keyframes impractical at best.


#4


shadows seemed to work too, I just forgot to enable for the test.


#5

Thanks, and I see what you’ve done, but it still doesn’t quite accomplish the goal, because it’s now only half toon-shaded; you can clearly see a smooth gradation of color in the second paint layer.

I’m thinking of a few different ways to get around that, but all of them have some sort of deal-breaker problem, almost inevitably involving not being able to detect the color of the incoming light, only its level.

If the color were detectable, I could do this easily…