3
votes

Im pretty new to Unity3D a feel a bit lost in the interface so detailed instructions will be welcome.

I have some elements (prefab of model modeled in blender) that I want to pre-render using bake light, but that afterwards I want to move around. The game is gonna run on a phone (google cardboard).

I don't care about the changes of light because it won't change that much. For instance a picture in the wall that can "be opened" to show a secret passage. This picture won't change that much in space and if its lightning is a bit off.. it Won't matter.

Same goes for cockpit instruments. They have they own lights and I'd like to bake them. But then the cockpit will be moving around the scene.

I tried to mark those element as static, then render, then un-mark the static tag. So far it kind of works. I get the object lit and I can move them around BUT, the light depends on the orientation of the object! when I rotate the object (after bake it) its brightness depends on the angle .. I want it to be static light-wise! Or at least, to have the expected lightning when it is in the position that it was when the light was baked. Why it get's the light when I turn it AGAINST the light ?

enter image description here

Here I show the properties of the objectenter image description here

And the properties of the imported model enter image description here

2

2 Answers

0
votes

Simple answer, if light is baked, lighting stays the same, its BAKED. This is the main reason baking light is only used for static objects.

Solution, Bake ambient occlusion into your object in 3D package, and leave object dynamic in unity as it is dynamic! (You are moving it). This way will give you nice soft shadows prepared in your 3Dpackage and still work with pixel lighting in Unity

0
votes

I FOUND IT ! You baked in directional mode (specular or not). When you bake in directional, you can never rotate the object afterward, or it will mess completely the bake of directionnality.