Objects flickering between dark and light

I’m currently building a Unity iOS game, in the editor all of the objects are fine however when I run the game on a device some (and it is only some) of the objects flicker between dark and light (it’ll be dark and then a few seconds later it will be light and so on) when the camera moves around. I have only one light in the scene and that is a directional light. Even if I remove the textures from the objects then they still flicker however if I remove the directional light and turn up the ambient light then the objects do not flicker. The objects have been imported from Cinema 4D, I’ve done this many times and never had any problems it just seems that a few of the objects I have imported into this game just aren’t working properly.

It seems that i’ve tried just about everything to try and fix this including reimporting the objects, retexturing them etc and it still isn’t working. I’m really stuck and so any help would be much appreciated!

Thanks in advance,

ROM

EDIT: It appears the problem only exists on the iPhone 4. I’ve tried it on the iPhone 3G and an iPod Touch 2nd Gen and the problem doesn’t exist. Just the iPhone 4 :confused:

Which shaders are you using on these flickering objects?

Just a long shot, but try the Mobile/Diffuse shaders and see if that makes any difference.

Just in case people still find this thread looking for this issue. I'm experiencing the same issue on iPads as well. Not checked the whole batching thing yet to see if its a fix, but this issue sounds identical to the one I have so I don't think its just iPhones.

9 Answers

9

Usually this is caused by a bug in Batching. Try disabling batching and see if that works for you. You can build your game without batching (most games do not use GPU that much, so they can run without batching just fine).

I had similar problem, where duplicated textures will not receive lighting if dynamic rendering is turned on. But this increases my draw calls, and defeats the purpose of spriting all on same texture.

switched off the Dynamic Batching in Player Settings and it worked for iPhone4, flickering gone.

In Edit > Project Settings > quality > Rendering section > Pixel light count, set it to something like 32. That’s the maximum allowed lights count set to scene. In my case, directional light flickered after I added 5 point lights to scene while default max count was equal 4.

OK. Not sure where my previous answer went.

We are having the exact same texture on/off issue. We have one directional light and this happens on the iPad only. Did any of you find the reason for this?

Arun

In Build/player settings/resolutions and presentatios clik in use 24 bit Display deph buffer, this will fix it

I had the same problem, and tried all the above., nothing worked.

Then i found my camera’s far plane was set to 10000 or so! (unnecessary high)
Changed this to 50, and the flickering was gone!

I had a similar problem.
I had two objects X and Y in my blender file.
I added Y to X, using a boolean modifier and made Y invisible.

Then I added the mesh to a unity project and had the flickering.
My problem was, that unity made Y visible again (which I didn’t
recognize at first). I deleted Y and the flickering was gone.

Just ran into this issue, it can be either the camera near plane or the far plane that causes this, thanks!

Close Unity, delete Library folder, open project and this will re-import everything.
Solved for me

Just by changing Directional to Point or other light…