C4D FBX Issues - Mesh Smoothing with 2 UV's

Hi All,

This is my first official post here, so be gentle … I recently started delving into the Unreal Engine, which is fascinating, and I’m presently developing a small, interactive environment for the Oculus Rift using C4D R16 for modelling as well as the latest Unreal Engine, 4.8.

While I’ve made great strides in terms of what I have set out to achieve, I was hoping I could ask for your help. Having read every thread on the subject I could get my hands on, I have been unable to solve the below problem.

Basically, I am unable to successfully import any FBX geometry made in C4D, regardless of its complexity, which has the following characteristics:

  • 1 UV channel for texture (whatever projection, dependant on the geometry)
  • 1 UV channel for light map (unwrapped properly)
  • 1 Phong tag to smooth the mesh (you know that whole C4D smoothing groups chestnut …)

It seems as if, when using 2 UV’s (named as whatever), Unreal seems to somehow disregard the Phong tag, regardless of the Phong angle, angle limit, edge breaks, putting tags in different orders, etc. However, when I use just one UV with the Phong tag, unwrapped or just projected in any configuration, it smooths the mesh as expected when importing to Unreal as an FBX.

I can’t for the life of me get an answer as to how to get all 3 to work. I need separate UV’s for texturing and light maps and don’t want to be limited in using the properly unwrapped light map UV as a texture map as well.

I’ve uploaded 2 simple spheres with a checkerboard materials as .C4D files and their associated FBX’s to Dropbox with my methodology as to how I’ve gone about this thus far.

Link to the folder here: Dropbox - Error

If possible, I would appreciate it if anyone could have a look and let me know if I’ve done something wrong?

The two C4D files :

Smooth Sphere.c4d - 1 properly unwrapped UV and a Phong tag, angle limit 35 degrees
Faceted Sphere.c4d – 2 UV’s (unwrapped and projected) and a Phong tag, angle limit 35 degrees

Lastly I’ve included JPG screen shots of both the C4D export and Unreal import settings as well as a screen shot of both spheres, side by side, inside Unreal. As you can see the one is right and the other wrong / faceted despite having the other characteristics I need. I can / have tried to subdivide the meshes I use to within an inch of their lives in order to get it smoother. But this is, as I’m sure you’ll agree, not efficient for gaming geometry, especially not for the Oculus Rift.

I really hope all of the above makes sense and that someone is willing to try and help. Any advice is greatly appreciated.

Thanks !

Hi Darclinc,

I just made a quick test here, and it appears that the problem is Cinema4D itself (wish I could say I was surprised).

What happens is that C4D fails to export the normals when there is more than one UVW tag attached to the object. At least that’s what a quick FBX roundtrip C4D->FBX->C4D tells me. I reported this to Maxon QA just a few minutes ago.

So, if the normals are wrong already in the FBX, then clearly UE4 cannot possibly make it right again on import.

Hi

Thanks for the reply, it is appreciated. Aside from the fact that it doesn’t seem to work, do my files at least look correct in principle ? I’m relatively new to Unreal …

Also, having invested a lot of time and effort into C4D ( use it in conjunction with Adobe all the time where the integration is quite good ), I can’t really abandon it just because an issue that is seemingly quite small.

Is there some way of converting the FBX files with another package, like 3DSMax / Maya ? I do know people that work with these so they may be able to help if it is possible.

Also, is there a link to the Maxon Q&A, I’d like to follow it as well ?

Thank you,

D

I didn’t look at your files, so I don’t know, but in general the idea is that it should work regardless of the specifics of your file, if only the exporter did its job properly.

Nah, you probably don’t want to abandon it just because of this. If you only use the second UV set for lightmapping, then maybe you can try letting UE4 generate that set on import instead. Haven’t used this in a while, but if I remember correctly it does a pretty good job these days. If that’s OK, you can simply stick to having only one UVW tag when exporting, which would solve the problem.

The problem then would be to first get the files out of C4D using some non-FBX format that still supports normals and multiple UVW tags. I have no idea if any of the other formats support those features.

I’m afraid that’s internal, only accessible to beta testers and Maxon staff.

Hmmm … I guess. The main reason I wanted two is so that I have independent texture and lighting options. Flat UV unwrapping doesn’t always give me the same texture results as using specific projection methods, unless I’m doing it wrong, which I very well might be. However, for example, what if say you did want to import a model and have two different textures on it, i.e. a window ? Not being able to use two UV’s plus smoothing would make it impossible to do this from C4D unless you have separate bits of geometry, no?

Guess I might have to go down that route of just using 1UV. This problem is holding me back …

That being said, this guy, Beefdoctor ( sweet name … ), has / had the same issue but didn’t seem to have it in earlier releases of the software. Not sure what to make of it :

Thanks for your help so far,

D

You wouldn’t need multiple UVs or separate geometries to do that.

You could simply have one (or several) black-and-white mask and use that to control what goes where in the UE material graph. That’s typically the way to go. Another way is to use multiple material indicies, where you apply materials on a per-polygon basis in C4D. When imported, you get one slot per material in the UE mesh editor, and you can freely assign any material you want in each slot.

For windows on a building specifically, you probably need material indicies anyway (or separate meshes), because the glass would need a translucent shader, whereas the rest of the building would need a standard opaque shader.

Yup its a known problem with R16 but just to re-iterate, if the 2nd UV is for light mapping in UE then let it generate your 2nd UV - there is a tick box for it on the importer.

Hi,

Thanks for your reply.

Yes, I know about the option to generate a light map with UE during import, that is how I generated the light map for the single UV channel only ‘smooth sphere’ FBX in the Dropbox folder from my original post.

However, ideally I would like to have separate texture and light map UV’s and be able to use unique projection methods for each, where applicable. Being a relative newbie to Unreal, I’m not creating all the model textures from scratch within Unreal’s material editor. So, for ease of use and speed I’m using / modifying existing starter content textures only at this stage. In my limited experience these, depending on what materials they are, don’t always tile or translate well onto geometry if you use a proper, flat unwrapped UV’s. I can get seamless textures when using different projection methods for the texture only, not so with the unwrapped ones where there are noticeable seams.

Perhaps I’m unwrapping it incorrectly ? I can post examples to explain what I mean if the above is not clear.

So in some cases, depending on the geometry I’m using, I’d like to say use standard spherical, cylindrical spacial or frontal mapping on UV1 to apply certain textures whilst having the flat, properly unwrapped UV2 as a light map only. This flat, perfectly unwrapped UV2 is necessary as otherwise it translates to a UV overlap errors and by extension lighting errors in Unreal. That is, when creating UE import light maps from UV’s that are generated using the aforementioned projection methods and NOT unwrapped properly as Unreal prefers it*.

You say it’s a known issue with R16. Did it used to work before R16 then ?

Thank for the help, it is appreciated !

D

  • I’m not all that clued up about this stuff and I might be talking rubbish / misunderstanding something fundamental here. Please feel free to correct me, if so. All feedback is appreciated :smiley:

I reported this to Maxon QA just a few minutes ago.
[/QUOTE]

Hi

Any word on this ?

Let me know when you have a chance.

Thanks,

D

No news to report. Then again, it’s summer, and lots of QA folks are probably on vacation. If at some point there is some progress, and I’m allowed to mention it (NDA issue) I’ll make sure to post a note here. What I’m saying is basically “don’t hold your breath” :slight_smile:

Heh, thanks. I won’t hold my breath.

I’ve since gone down the road of using just 1 UV. Not ideal, but rather that than nothing eh ?

Thanks for your help nonetheless.

D