Shapr3D --> Unreal Engine 5

Hey folks, i was curious if anyone has any experience exporting from Shapr3d and bringing it into Unreal engine.

ive done a project or two in unreal 4 a while back, but when importing it into the engine (via Datasmith) it broke my scene into meshes with the pivots all in the wrong spot so my modular work couldnt be snapped together ( i ended up eyeballing it). i have yet to try unreal 5, curious if they have improved this or if there is a workflow that works well?.

Unreal 5 supports literally billions on polys now running in realtime through their new Nanite tech, so could be a gamechanger for rendering. :pray:

I’m evaluating Shapr3D for unreal and at the moment am underwhelmed (we are currently using Sketchup). We created a very ugly (but simple) two story box with a room and no windows. With Sketchup I export it as FBX and as they say, the magic happens. I get a dark second room with no lights.

With Shapr3D, there is no joy. For some reason the rooms are all lit. I’ve double checked and there are double walls like the Sketchup model. Very frustrating.

I’m not sure if it is the OBJ format or what, but I’ve checked all the flags in unreal and they are exactly the same. So, at the moment, I’m looking to cancel Shapr3D unless I can figure out what is going on.

This Post has been deleted by the creator, because it may be less funny than intended! :frowning:

What was the outcome?
I would have thought this would be totally possible…

Still not good. I suspect that the initial test had walls that were too thin, I made sure that they were 20 centimeters thick (Unreal spec’s 10 centimeters) and I get a nice dark room. Unfortunately, I also get light leaks at all the junctions :face_exhaling:

Light leaks usually occur when there is an infinitesimal gap between planes at 90 degrees.

I suspect the issue has something to do with the OBJ format and Unreal as I’m also getting issues with being able to walk right through the imported object. (Edit: As in I can walk through the walls! YIKES!)

I’m not looking for a religion: whatever tool gets me to where I need to be is what I’m using. This is about attempting to get from point A to point B.

Tomorrow I’ll review what Unreal says about importing OBJ’s. FBX’s are what we typically use.

EDIT: Used another program to convert from OBJ to FBX and it got the collision working just fine. So it MAY be an issue with Unreal’s OBJ importer. However, the light leaks didn’t go away. Much sad.

Crikey. I don’t know if I should be involved in this :-/
It sounds stressful!
but basically I looked at the thread as it reminded me of something I tried a few years ago.

I tried importing my sketchup model in to unreal for the purposes of making it destructible. I wanted to be able to use gun in an FPS perspective and wreck the building.
Mainly because I read so frustrated making it I thought it would be a rock and roll way to move the project! (Kidding not kidding) :smile::sob:

But I found as well that importing things which to my knowledge were watertight, resulted in your light leaks.

Then I found out about something called ‘rebuild lighting’ within unreal engine, which seemed to help a bit. But I still had more probs I couldn’t solve so I shelved it in the end.

All meanings, we know, depend on the key of interpretation? We only know what we’re able to absorb? Admirable you at least acknowledge your thoughts on your own interpretation? :sunglasses: Life is indeed an experience! :joy:

Sadly, this doesn’t resolve the issue as Unreal 5 now uses Lumen.

I’ve tried running the FBX through Autodesk’s Converter, but no joy there either. I get the correct collision (I can’t walk through walls) however the interior appears as if there is light coming in. The walls are now 0.5 cm thick which is five times what Lumen engineers suggest.

This room should be very, very dark. It isn’t. I’m going back through and double checking my import settings.

So confusing. … I don’t know what to suggest at this point

Thank you for listening! It’s been really frustrating couple of days. We’ve gone from “Oh, look, this may solve a lot of our problems!” to “Oh, more problems.” :sob:

It would be lovely to dump Sketchup, but at the moment, that appears to be a no-go.

See I’m still fonf of SketchUp. Even though I use this now…

Looks like you’re in the business of games?

Yes. We make game assets and games.

And, now, oddly, I have managed to get a dark room with no light leaks and correct collision. At the moment, however, the walls are 50 centimeters (five times what Epic recommends for Unreal 5), so now I’ll play around to see at what point I get light leaks.

All it took was changing the import to unreal to DEFAULT :roll_eyes: — which I could have sworn I did the other day.

This time I’ve documented my import settings:

(part 1)

Welcome to Unreal where importing can be an art form! :thinking: :sob:

Part 2/2

I’m not familiar with UE, so it might not help much, but the problem could be in that the .obj format is unitless (similar to .stl). Meaning if you build a 5 meter long wall, in the .obj, it will be just 5 “anything”, which is decided when the import happens. I’m not sure what unit the UE expects from this format, but it might be useful to find that, then change to that unit before starting the .obj export.

2 Likes

Got it working. It was an incorrect setting on the obj file import. Everything is working as it should!

As for the units, that’s working as well (it really wasn’t the issue).

Thanks for y’all’s help!

1 Like

Could you share which setting solved the issue in the end? It might help others later. :slight_smile:

1 Like

Used the default OBJ settings, then set the flag to combine meshes and rotate X by -90 degrees. There are some other settings in the default that may or may not make a difference — the issue I saw attempting to use the minimal settings was severe mesh deformation (this is on the Unreal side).

Light leaks are an issue of 90 degree corners on walls. Although 10 cm is the suggested for Unreal’s Lumen, I’ve found that 40 cm for corners is, sadly, the min. That makes for some very fat walls. This is, however, on Unreal’s side.

SHAPR3D REQEST: It would be helpful if the rotate was an OBJ output setting that one could set and forget. Since I’m working to migrate to Shapr3d this would be a great feature. As it stands, any Shapr3d file that is import into Unreal must be rotated (either during import or after import) by -90 degrees.

2 Likes

Well after much discussion, we think we have a satisfactory, if not perfect, workflow. At the moment we are looking at what happens on edge cases, but even those have some non-obvious solutions.

As I have said, the evaluation was to resolve many issues we current have with SketchUp:

— Rounding of corners and edges - these require third party tools which can result in bad geometry
— Reduction of rework because of bad geometry
— Watertight objects (SketchUp is notorious for making it difficult to make objects watertight)
— Cleaner UV’s - SketchUp has a bad habit of creating “junk” geometry that is a pain to eliminate

We really would like to see FBX export as a standard — it would give us more flexibility (the hierarchal nature of it is handy) and it would be wonderful if we could tag faces as “groups”.

We have successfully created a object (an oven)

Exporting as an OBJ file we were then able to successfully UV edit and paint it without too much trouble. The UVs it created were very clean, far more so than that from Sketchup (below). The items in red are the garbage that we had to contend with — tracking it down only to realize it was hidden! This is what makes Shapr3D superior for our use case.

(UV’s from Sketchup with garbage geometry circled in red)

Although editing the UV for Shapr3D was challenging, we saw nothing but meshes that we put there by intention. Curved surfaces were nice and clean and edges were well defined (even if you had to zoom in quite a bit).

Shapr3D has some cons from a gaming digital assets perspective:

— In order to assure that we have the minimal number of faces, we must UNION all of our meshes (save for those that must move, like the oven door). This means that UV editing and painting must be a little more cautious and know which UV “part” is which. For extremely complex objects this could present some interesting logistics.

— The OBJ format must be turned into an FBX if we ever want to work with it in Maya. Currently we have resorted to using a Blender console program to do the conversion. (workaround)

— Up is 90 degrees off from what Epic, Adobe and others use. As such the same Blender program rotates the object to what is expected. Allowing users to export by changing the X axis would do wonders. (workaround)

— The inability to tag faces (even though we can select them in the program) is a need. Shapr3D is made to create complex designs (SketchUp does boxes very well… the world isn’t a box). (No workaround)

— The inability to determine the number of faces for a curve is disappointing. GPU’s don’t like curved surfaces. However, for the digital artist a small number of faces is better for tiny curves and a larger for very big ones. (No workaround)

We are very pleased that many of the problems we’ve run into that we thought were deal-breakers turned out to be either a) a misunderstanding of the OBJ format b) a misunderstanding of Lumen.

Unexpected Pros:

— The ability to create 2D drawings from a 3D drawing is nice. It WOULD be nice if we could put dimensions on the 3D object as well.

— A knowledgeable team to interface with - thanks for understanding that we are not from the world of mechanical engineering, but attempting to solve a problem that has plagued us for some time.

Overall, I’m making the recommendation that we move immediately from SketchUp to Shapr3D. While we may lose a little time in UV editing, the elimination of junk geometry makes the result worth it. Geometry that you don’t see should never go to the GPU.

Thanks for your help!

7 Likes

Wow this is a fantastic summary. Thank you for sharing your learnings. I’m so glad to hear that you figured out how to integrate Shapr3D to your workflow.

2 Likes

@CannaSoftware That’s a very useful post. Great research on you part.

1 Like