Why do blender exported scenes(it is a ball) changes it's mesh(look) when exported and played on android.Fix this

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By App_develooer

It’s blender 2.8 It’s exported as gltf_embeded(.gltf)
I am just a beginner and hence I dont know much things.
Please go to the following link and see the video.I have learnt from that video.In starting,he exports the ball to godot from bender:

Please tell how do I solve the problem of the blender 2.8 exported scene(ball) changing its mesh after exporting to android

Maybe people can assist you better if you tell us just some more details than “it is a ball”.

Which export format has been used from blender (2.79 or 2.80 ?)?

Does the “ball” look similar in the Godot Editor compared to Blender?

GLES2 or GLES3 Project?

What is different on Android (Screenshots Blender / Godot Editor / Android might be helpful)?

wombatstampede | 2019-10-08 15:28

It’s blender 2.8 It’s exported as gltf_embeded(.gltf)
The blender 2.8 exported scene(ball) changes it’s mesh(look) after exporting and playing on android.
I am just a beginner and hence I dont know much things.
Please go to the following link and see the video.I have learnt from that video.In starting,he exports the ball to godot from bender:

App_develooer | 2019-10-09 14:40

If you look into the preferences of your project you’ll see that some 3D rendering will be handled differently when exporting to mobile devices. (Alternative settings for “mobile”) The reason is performance and compatibility. Also not all Android Devices support GLES3 and those who claim to do might not always work like expected.

Anyways. I still do not know what actually is different. Do a screenshot (no not with a camera use the android / pc screenshot function) of the app/ball when running on windows / linux and when running on the android device. You’re a programmer. You’ll manage to do screenshots and post them on the internet don’t you? :wink:

You could try to switch the project over to GLES2 and see if it makes any difference. (Might need to re-import the textures.)

You might also try to export the blender project to DAE/Collada. Although I doubt that this is the cause of your problem. You’d have to use the Better Collada Exporter. Below is a link to an updated version which hopefully works with Blender 2.8.

GitHub - artellblender/collada-exporter-2.8: "Better" Collada exporter for Blender, orignally developed by the Godot Engine community

wombatstampede | 2019-10-09 16:04

This is the image of the blender exported ball when runned on android.When played on pc, everything is running fine.
I also tried to switch the project to GLES2 and also re-imported the textures, but the results are the same, the app just increased it’s size.
Other blender exported objects are running just fine(on both android and pc), the only problem is with the ball.
What should i do?Please help.
Please reply, I am waiting…

App_develooer | 2019-10-10 05:55

Hello! I’m following the same tutorial from CG Born and having the same issue that you have already faced. Did you solve it! The ball looks black when i played on my android device, It looks fine when in my pc. I hope you have figured out the solution. Thanks in advance.

CgMallu | 2022-09-06 22:54

:bust_in_silhouette: Reply From: wombatstampede

As I said, there are differences between rendering on PC and mobile platforms. And also between GLES2 and GLES3.

In the case of this ball it looks on your screenshot like the ball has either
a) no texture
b) bad lighting

I’ve imported that ball (as GLTF) into a little demo android project and tried it out (GLES2).

This project contains a directional light source.

The result was slightly awkward but the ball displayed properly (a bit to bright) on android.

Then I switched off some mobile specific preferences in the project settings:

Especially switching off: (remove checkmark)
→ Renderung → Quality → “Force Vertex Shading.mobile”

Resulted in a much prettier display of the ball on the android device. You might try this as well.

Be aware though that these settings are there (and pre-selected) for a reason. And that is performance and compatibility.

So what you can do:
a) Try to turn off that option in the preferences.
b) Fiddle a bit with the balls material settings. (Right click it and enable the editing of subnodes first.): I.e. set Roughness to 1
c) Try on another android device and compare