Hello,
What’s the best way to provide an even lighting for an object? An Ambient Light fills everything in with it’s own color (ex. all white). A Directional Light causes a spot on the object that is significantly brighter than the rest. What kind of lighting would one use for even lighting all around.
Thanks.
I think that if you simply don’t use any lights at all, you should see the object’s colour, unshaded.
If your objects don’t have materials or textures, you could perhaps apply some colour via vertex-colours.
(I think that an ambient light should work much as in the case of no light at all, but with the colours of objects being multiplied by the colour of the light. If you’re just seeing the colour of the light, then it may be because your objects lack materials, if I recall correctly.)
If I use no lights, the object is completely white.
I don’t believe I can set transparency when I use vertex coloring in blender (correct me if I am wrong).
pipe.egg (207.2 KB)
Hmm, I see–you’re quite right, the model does have materials, and is rendered white when no light is set. My mistake!
Looking around the forum a bit, I found this post, which may explain it, presuming that this behaviour hasn’t been modified since then.
In that case, try changing your material such that the colour is stored in the “ambient” colour, rather than the “diffuse” colour, and applying an ambient light–that might work.
As to transparency with vertex-colours, it can, technically, be done. Panda’s vertex-colours have an alpha channel, but Blender doesn’t have a means of setting the alpha-value of a vertex-colour, and I believe that YABEE doesn’t export it. However, one can modify YABEE to use a second layer of vertex-colours as a source for the alpha-channel of the vertex-colours. But this might be overkill in your case!
Depending on the specifics of your project, a simpler solution for this object (presuming that you don’t apply an ambient colour, as I suggest above, or that doing so doesn’t work) might be to just apply an alpha-scale in code, like this:
myObject.setAlphaScale(someAlphaValue)
Thanks a bunch! I did end up going for the alpha scale version since its easier to do for relatively simpler models.