0 votes

I was testing out my game on my phone and the lighting looks very odd. is this a bug or is it something with my scene?

From iPhone

From iPhone

From Mac

From Mac

in Engine by (14 points)

Vertex shading is forced by default on mobile to improve performance. This means you can't have visible shadow maps since all materials will use vertex shading.

1 Answer

0 votes

Hello,
Same for me...

No shadows in iOS by default, need to disable Force vertex Shading.mobile to see it.
But very bad performances and seems that exposure is too high...

Same here : https://github.com/godotengine/godot/issues/39014 and here https://godotengine.org/qa/61690/no-shadows-on-ios-gles3

Is there a way to have a good 3d in iOS performances and shadows ?

Have a nice day.

by (211 points)

(Cross-posting from https://github.com/godotengine/godot/issues/39014.)

Real-time lights will always be expensive on mobile devices, especially when shadows are enabled. If you want shadows on mobile, it's best to use baked lightmaps. The current lightmapper isn't great but there will be a new one in 3.2.4: https://github.com/godotengine/godot/pull/44628

Also, consider rendering the viewport at a lower resolution using the viewport stretch mode and setting a relatively low base resolution. This improves performance tremendeously and is often needed to achieve good 3D performance on mobile. See Multiple resolutions in the documentation for more information.

The optimization tutorials are worth reading if you want to know more optimization tips.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.