ImportFBX of .obj files fails (Ubuntu 16.04)

Unity editor Version: 5.5.0xp1

When importing assets I get following error:

ImportFBX Errors:
Couldn’t import file /home/goran/projects/linux/trunk/Assets/Art/Heroes/Warrior/Meshes/OrcWarchiefPosed_Sliced.obj.

As result there is no meshes and nothing to render.

Is there a solution?

Importing .obj should generally work - is there anything relevant in your editor log?
If you send me the obj, I can investigate more locally.

Hello,

Thank you for reply.

Nothing relevant in logs just this for all of my .obj files.
ImportFBX Errors:
Couldn’t import file /home/goran/projects/linux/trunk/Assets/Art/BoardPieces/Walls/Ork_Walls.obj.

I am sending you this obj file to you for inspect.
Files are created with MODO 8.0.1sp5. Options in attachment also.

Thank you,
Goran

2937059–217268–Ork_Walls.obj.zip (31.6 KB)

Yes and same obj is imported on windows without errors.

Thanx,
Goran

Is there any progress on this issue?

Thank you,
Goran

:expressionless: it imports fine here.
There are no other import errors or other log messages? What locale are you using (env | egrep '(LANG|LC_)')?
Is there anything “special” about your computer or environment?

Hi,

So you got meshes and linux unity3d reported no error?

well nothing special about my machine:

here are some info:
goran@tenchi:~ **env | egrep '(LANG|LC_)'**</em> *LC_PAPER=hr_HR.UTF-8* *LC_ADDRESS=hr_HR.UTF-8* *LC_MONETARY=hr_HR.UTF-8* *LC_NUMERIC=hr_HR.UTF-8* *LC_TELEPHONE=hr_HR.UTF-8* *LC_IDENTIFICATION=hr_HR.UTF-8* *LANG=en_US.UTF-8* *GDM_LANG=en_US* *LC_MEASUREMENT=hr_HR.UTF-8* *LANGUAGE=en_US* *LC_TIME=hr_HR.UTF-8* *LC_NAME=hr_HR.UTF-8* _goran@tenchi:~ uname -a_
Linux tenchi 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
*goran@tenchi:~ lsb_release -a* *No LSB modules are available.* *Distributor ID: Ubuntu* *Description: Ubuntu 16.04.1 LTS* *Release: 16.04* *Codename: xenial* _goran@tenchi:~/temp glxinfo | grep render_
direct rendering: Yes
OpenGL renderer string: GeForce GTX 970/PCIe/SSE2
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_KHR_robustness, GL_KTX_buffer_region, GL_NVX_conditional_render,
GL_NV_conditional_render, GL_NV_conservative_raster,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range,
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_KHR_robustness, GL_KTX_buffer_region, GL_NVX_conditional_render,
GL_NV_conditional_render, GL_NV_conservative_raster,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_NV_path_rendering_shared_edge, GL_NV_pixel_data_range,
GL_EXT_raster_multisample, GL_EXT_render_snorm, GL_EXT_robustness,
GL_NV_blend_equation_advanced_coherent, GL_NV_conditional_render,
GL_NV_path_rendering, GL_NV_path_rendering_shared_edge,
GL_OES_fbo_render_mipmap, GL_OES_geometry_point_size,

2944416--217993--orkwalls.png

Could you try launching unity with LC_ALL=C set in the environment and retrying the import?

Yes - in the mean time I followed your hint and updated all locales on en_us.UTF-8

LC_PAPER=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LANG=en_US.UTF-8
GDM_LANG=en_US
LC_MEASUREMENT=en_US.UTF-8
LANGUAGE=en_US
LC_TIME=en_US.UTF-8
LC_NAME=en_US.UTF-8

did not try with LC_ALL=C (will try that thou)

And import works! I have meshes. :):slight_smile:

Thank you!

I have another issue - maybe you know.

In editor on linux everything is very dark… I mean darker than on Windows. I tried Gamma and Linear color space (player settings) but that was not it.

I tried to start unity with different version of OpenGL but still all is darker than normal - and when I render some object I have following error:

OPENGL NATIVE PLUG-IN ERROR: GL_INVALID_ENUM: enum argument out of range

Do you maybe know what could be the problem?
Or should I create another thread with new issue?

Thank you again,
Goran

Or maybe better question - how to force linux editor to run with GLES20 ?

I think that would help…

Switch -force-glesXX does not work

It’s good that the workaround works - the bad news is that this means there’s probably a locale-based parsing bug in the fbx sdk itself.

Currently, only opengl core profile (3.2 - 4.5) is supported in Unity 5.5+.

Reported as issue 877501.

same here… standard local is pl_PL.utf8 after changing to en_US.UTF-8 nothing change, same witch LC_ALL=C
meaby some elaboration, about this workaround?

The workaround is about the system (and the FBX SDK) using . or , for the decimal separator.

Is there any update on how to work around the “OPENGL NATIVE PLUG-IN ERROR: GL_INVALID_ENUM: enum argument out of range” error?

I’m currently experiencing it on a Linux build made in 5.6.1, the game will open and the instantly close with this as the only error.

Are you using native rendering plugins?

Hey Tak thanks for the response, can you clarify what you mean by native rendering plugins? As far as I know we do not have any plugins that interfere with rendering.

I mean something like Unity - Manual: Low-level native plug-in interface
Can you provide your player log and the output of glxinfo ?

Here’s a link for the glxinfo output and the player.log: https://drive.google.com/drive/folders/0B5oL9iedBUrIQ2VjYjFFdUVEVzg?usp=sharing

After reading that article we’re fairly sure we aren’t using anything like that.

I had the issue on Linux that my meshes we not being imported correctly and were not visible.
The error was
“ImportFBX Errors:
Couldn’t read file /home/Projects/Assets/Meshes/Player.FBX.
Unexpected file type”.

I solved it. The problem was that I had to do “git lfs pull” instead of “git pull”.