Support of UV mapping for Game Engines (UE, Unity)


#1

Nowadays more and more people are going to export files to game engines like Unreal Engine, Unity or CryEngine. Especially for architecture this is a big issue. Sketchup is fast, easy to use and offers endless models from the warehouse (high and low poly). This makes Sketchup the perfect start to create Real Time Visualizations in game engines. This is becoming an important part for architecture visualization already and will be more important soon. Especially with the release of the Virtual Reality Headsets later this year there is even a higher demand for creating interactive models with ease.

Unfortunately Sketchup doesn’t support UV coordinates which is required by theses tools. This circumstance make Sketchup useless if people don’t own a more expensive 3D modelling tool. But even you own one, it means an additional step to create the UV coordinates for each component.

A support for UV coordinates and better tools for placing and adjusting textures, for example on round faces, would be really nice.

Thank you.


#2

Got some examples of the UV coordinate data? SketchUp do have UV data attached to textured faces - so how does the mapping required for unity differ from the existing data?


#3

How would you go about doing that? Perhaps in a .dae or .xml file? Or is there a simple click a button solution within Sketchup?


#4

To export UV data? In what context?


#5

Build
I agree totally. I have just requested this also and made another topic

Tt_su - the problems are not that I understand them fully …
In Unreal 4
No second uv channel
Overlapping uv’s.
Is this helpful??? All imported in ue4 using an .fbx exported from SU.

Epic are all about giving and helping - tt_su you should give them a call. Your the man.


#6

There are some pretty impressive texture mapping plugins that maybe assist.

Eneroth produces some and Lightup I think can bake textures and has a script for exporting directly into unity…

We do realtime flyarounds using its Luca file viewer


#7

I never thought of light up! That’s a good idea

The plugins I don’t think help with regard exporting - an obj or a .fbx are required for importing into ue4. And the only plugin I know that saves data is sketchuv but that’s in another format just for su. Please Correct me if I’m wrong. I think there’s another few too.


#8

And SketchUp Pro’s obj and fbx exporters do not have the UV data ?


#9

Seems not. When you look at the uv mapping in ue4 it’s all over lapping. And there’s no second channel.

I should mention that I’m not very knowledgable about uv’s and this area of the 3d process as I’ve only ever used sketchup and we don’t really get involved.


#10

Would a screen shot help?


#11

First time poster here.

I too would really like there to be a way for sketchup to export multiple UV channels with an FBX. Right now the suggested workflow for getting a sketchup model into UE4 (Unreal Engine 4.8) is to send a .dae file into Blender and map the UVs there, then saving it as an FBX for UE4. At least Blender is free, but I’m learning that mapping UVs in that program is not a fast process. Supposedly SketchUV can do this, but I haven’t been able to get that plugin to actually export UVs with the model.

@tt_su, I’ve used many of your plugins before and find them really helpful. You might be the one to pull this off. UE4 needs at least two UV channels to render the spaces correctly. The first UV layer (UV channel 0) is for texture mapping and UE4 doesn’t mind if the texture UVs are overlapping. The second UV layer (UV channel 1) is for Lightmaps. This is where everyone, myself included, is having trouble. If the Lightmap UVs are overlapping then you get an error. A straight fbx export from sketchup to UE4 causes an overlap because UE4 is looking at the texture UV (channel 0) since there is no second UV channel.

Being a sketchup user for many years and not using many other 3d programs like 3DS Max or Maya, I’m a little unfamiliar with UV channels but I’m learning about them because of this issue…


#12

Have any of you game engine guys/gals tried the PlayUp Tools Exporter ?

It’s Extension Warehouse page needs some specific reviews about it’s actual abilities and real shortcomings.


#13

I left a message/post to update Playup Tools Exporter to support Unreal4 - i think its still only supports the ‘older’ games engines certainty not unreal4 and probably unity5 - it states unity3d which is UDK i think…

DanRathburn (or anyone knowledgeable) - i have a basic question for you, your a knowledge of how sketchup works will i’m sure enlighten us, Is this a major task to create a plugin/exporter to sort out overlapping uv’s? is it a huge process to bring su more into line with how other big 3d programs handle uv’s?
I’m sure, many sketchup users like myself don’t know much about uv’s as SU doesn’t use them or has them hidden under the surface so we need not worry about them. could you explain how UVs are used in SU? and how they differ?


#14

I too am having many prioblems here. I use Unity5 for VR walkthroughs which is awsome! but very often I get UV maping problems. Unity5 seems to deal with the .fbx missing a UV channel better than UE4 but often textures have strange effects like being sideways or different sizes accross surfaces created in the same scale in sketchup. I’ve tried the UV map plugin and sometimes this fixes these problems but it’s very tedious. Especially when you have to UV map every surface and re-export into .fbx.
Also another real “pain” is the orientation of boundary boxes on groups. It is so anoying when you open a group in Unity5 and the group bounding box is at 33.7865 degrees from the face. Then if you reorient the face in sketchup, the exported group is suddenly on it’s side or scaled down 183%. Realy unpredictable behaviour.
I’m not sure if this is all down to the same problem or if there is a whole slew of issues here. Hope this might help in some way.
What does help is to make sure all surfaces have no backside material and make all front surfaces the UV Map pattern for example. Then export in single sided mode. Then I do all my material assigning in Unity in the standard shader which is awsome. This seems to help simplify things a bit. You can also export two sided in .fbx which is helpfull for glass but then I would also do materials in Unity5. I used to physically model a lot of details but now I use bump, height, detail and occlusion maps in the shaders in unity5 which gives a good level of detail but keeps the poly count down.
Thers a great plugin for Gimp2 (free) called insane-bump which will automatically produce all these maps from a simple texture!
Maybe someone could do a tutorial on UV Mapping which might help clear up some of these issues.


#15

The guy that wrote that, developed another one, stand alone, and MUCH better!

Awesome Bump:

http://awesomebump.besaba.com/

Try it, your maps will definetelly change!


#16

I don’t use Unity but use the Unreal Engine. The problem with SketchUp UV’s in Unreal Engine is:

  1. Unreal needs a 2nd UV channel to store the lightmap data.No lightmap = no fancy result.
  2. if there isn’t a 2nd UV channel, Unreal copies the first UV channel and tries to re-arrange the UV islands into a new layout within the 0-1 space. It stores the lightmap data into this new layout.
  3. If you haven’t applied a material with a texture in SkecthUp, no 2) will fail.
  4. for simple geometry, like walls and floors etc etc, most of the time no 2) will go right.
  5. If you have complex geometry (furniture) with a lot of overlapping UV coordinates, no 2) will fail. You will still have overlapping UV islands and this results in ‘unexpected’ shadows in several places.
  6. if you have combined several elements with several materials and textures into 1 object, no 2) will fail.

Don’t forget, Unreal Engine is a game engine. Artists who normally make content for games use a unique texture for every element and apply mapping coordinates within the 0-1 range (no repeat in x or y). The automatic generation of UVs (no2) will work fine for those elements.

For now, for the objects that fail, you will have to export those objects (1 by 1) from SketchUp into Blender as obj, apply new UV’s in Blender and export them again as fbx to Unreal Engine.


#17

SketchUp Blog: Using SketchUp (and Unity) to craft stunning game environments


#18

I purchased Ultimate Unwrap 3d a few months ago. This program unwraps your sketchup models automatically, or you can define your own seams etc. Its really open-ended for the user. Workflow becomes—

SketchUp export - FBX > UU3D - Merge FBX > edit map in favourite painting / application - use quixel with photoshop personally > import to unreal / unity. Its changed my quality completely.

http://www.unwrap3d.com/u3d/index.aspx

Has native SKP support too - but I like the modern FBX control.

Update: I skipped one step in the workflow. You have to create a collision mesh in Blender or your favourite 3d program with the UCX_meshname. I’ll probably make a video covering all the steps cause it sounds like a complex set of steps just to go from one 3d program to Unreal /unity.


#19

The ‘texture strange effect’ workaround is to make the texture unique in SketchUp before exporting to *.dae or *.fbx.
For some reason SketchUp doesn’t ‘record’ the correct UV orientation when the Texture -> Position is altered.

It would be useful to have a simple plugin which would make selected, textured faces unique rather than to make them unique on-by-one.


#20

I have been looking at this problem as I have started to examine whether UE4 will save me tonnes of money in renderfarm fees for animations and movies of Skup models (for my RPG games).

I have been using PlayUp, and through that I have discovered that to get better (even perfect) UV maps you need to use a non-solid material, then ‘paint’ your model in Skup using the procedural technique – that’s right every single face needs filled by itself. Then you use the PlayUp editor to calculate meshes. This seems to get a reasonable result.

I suspect that there will be other tools to generate the UVs from and in Skup too. Say, if you wanted to export to EON’s Vue. If you are doing 3rd party rendering I heartily recommend that you sort the UVs before importing into any 3rd party, unless you like moire conflict and Z fighting.

If Skup is the pantheon of the Gods, it’s UV mapping system is the limping diety, Haphaestus.

I’ll let you know how I get on in the end with PlayUp.


Skup ? Really ? Sounds dirty to me