Lightening problem during animation [UPDATED]

A simple torus created with blender(exported with chicken), animated only to rotate by its Y. I saw first the problem in my project, but after test I saw similar problem and in pview.
It`s seems that this torus is illuminated only from one side(during animation lighted side is rotating). You can easily see this when you look from top of the object. Is the problem in model or it is something else … ? Maybe normals are changed during animation !?

blend and egg
megaupload.com/?d=AUQD1KHI

p.s. This post must be in Pipeline … sorry :blush:




Any advices ? :unamused:

I think because that the light in pview is only a one light source so the side which light reaches to will be illuminated but the other will stay dark

To make a simple solution is to:
[size=150]Either:[/size]
make tow point lights one has pos of (0,100,100) and other has pos(0,-100,-100)

[size=150]Or:[/size]
texture the model in blender using an illuminated texture then export it to egg, use ambient light so the light will surround the whole model

Hope that helps
here is the example of using two light source
hotfile.com/dl/98758965/f7176e0/example.zip.html

Hi.
I know that the light source is only from one side. As I say above, this object is always illuminated only from one side, no matter how is rotated by Y. The main problem is that the light source is somewhere where is initial position of camera, but this isn`t true at middle frames of animation. This screen shots shows our object rotated during animation in different angle by Y. So, this means that the light source is moving with object ?!


In initial position - the light source is near to initial position of camera, A side is light and B side is dark. When animation is started and object rotates by its Y to 180, B - side must be light and A must be dark. As you see from screens this isn`t correct. This is happening only on this object(torus).

I had a similar problem a while back with model of a ship I exported.
recalculating the normals in blender seemed to fixed the problem.

Actually, ive experienced this problem many times and could never guess the cause. It seems to happen rarely and completely random. Its as if the light is coming from the opposite direction.

And effect is not only in pview. Also adding ambient light affects whole object.

Adding ambient lights is supposed to affect the whole object; that’s what ambient lights do. The problem reported by the OP indicates that the normals are not animating with the object’s animation, but are instead pointing always in the same direction no matter which way the object turns, which is strange.

If anyone has an egg file that demonstrates this problem, I might be able to examine the egg file and determine the cause.

David

Your normals are incorrect coming out of Blender. They’re 90 degrees off. See, they should be coming straight out of the surface, like this:


But instead they’re tangent to the surface, like this:

Note that the light is in exactly the same place in both screenshots–shining from the camera’s point of view–but the weird normals make the light appear to be coming from the wrong direction, 90 degrees off in fact. This is why the lighting looks so strange when you rotate the torus.

So, the suggestion to recompute the normals in Blender is a good one.

David

But blender shows different thing. I just open blend and switch on showing of normals. The result is

Maybe the problem is in chicken … !?

Or maybe something broken inside the Blender API, where it looks right in the GUI, but is wrong internally. I’ve seen that sort of thing happen in Maya, and I doubt Blender is immune.

Have you tried the recompute normals suggestion?

David

Yes,but this doesn`t fix the final result.

Well, perhaps this is a question for the Blender forums now.

Incidentally, it may be possible to work around the issue by post-processing the egg file with “egg-trans -nv 45” or some such parameter. This is how I generated the corrected screenshot above. It works perfectly on a smooth surface like a torus; it may give varying results on an object with both hard and soft edges.

David

Thanks, David. :slight_smile: