Need help on Blender Import

Hey guys,

I’m having trouble with importing some assets into playcanvas. Please help.

Here are some screenshots in blender with FBX export settings. However, the imported model doesn’t look like what I have in blender.

Here are some tips I’ve tried:

Does anyone ran into something like this before?

Thanks

Joseph, are you able to send me your Blender file?

Please try: https://drive.google.com/file/d/0B-lc7F2KzChKb0ZfVlhMaHRUS3M/view?usp=sharing

Thanks

Nice looking door. Can I add a picture of it on the forum?

The door displays nicely in Visual Studio, but not correctly in PlayCanvas nor FBX Converter 2013.3 [FBX Viewer]. Actually nothing is visible in FBX Viewer so I’m still trying to figure out why.

Yes you can.

Yeah, it’s odd that it’s not showing anything on FBX Viewer. I even try to add animation to it but no luck. This door btw was converted from Solidworks to Blender.

I did get a version of it viewable in FBX Viewer:

How many vertices are there? Faces?

That’s a good question sir. To be honest, I’m not savvy with 3D yet. I got the converted blender file from my co-worker. Thank you so much for taking the time to help.

I’m almost wondering if we could just have this door as one object or element :smile:

Yes, it appears to be too many vertices and polygons:

I believe WebGL only supports 65,535 vertices per object. Can you reduce the number of vertices?

AH. That might be it. I’ll coordinate with my co-worker if we can reduce it’s vertices. Will it change the structure of the door? For the project that I’m working on, it’s not necessary to move the camera inside the door to see it’s details.

I think the real problem is the way objects are sent to the GPU. DrawArrays/DrawElements take a GLsizei parameter that is restricted to 64k.

void drawArrays(GLenum mode, GLint first, GLsizei count);
void drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset);

Interestingly enough GLsizei is defined as a long, which is 32-bits (2^32 = 4 billion)

typedef long GLsizei;

However, I believe there’s another identifier (GL_OES_element_index_uint) that is defined as an unsigned integer (64k).

There is an engine limit of 65k verts per mesh. Your artist should be able to split the mesh into two easily.

Here’s a version where the mesh has been simplified: http://1drv.ms/1HtSgOR

The image below shows how it looks in PlayCanvas:

I’m told that there are some hidden parts to this door that aren’t needed but we didn’t take the time to delete it. Doing so may have actually reduced the number of vertices and still left the handle intact.

Btw, this door has 24,758 vertices, and 19,143 faces.

What’s the final vertices and faces for the simplified version? just so I can set some standard when importing the asset.

The vertex and polygon count was for the reduced door, which can be found at the link. I’d like to delete the file in a timely manner. Please let me know if you want to download it or not.

As for maximum it depends on your needs. Usually the least amount of vertices and faces the better. And for WebGL there is a hard limit 65,536 vertices per draw call. You could keep the same number of vertices but would need to split the object in to different parts so that none of them exceed the maximum vertex count (65,535).

Yes. I’ve downloaded the simple door you’ve provided.

Again, thank you so much.

You’re welcome. Let “us” know if we can be of further assistance.