Static Mesh from Blender to UE4

Added in Wiki: https://wiki.unrealengine/Static_Mesh_from_Blender
Cheers :slight_smile:

you should put in that the “lightmap pack” option sucks for creating lightmaps for UE, you night want to add some info about adding a collision mesh, also just a side note: I noticed your lightmap wasn’t snapped to pixels, if the UV verts aren’t snapped it can cause artifacts because the baked shadow could bend around the corners of the mesh due to misaligned UV.

thx for posting that :slight_smile: -> probably you should also add that you should put the lightmap onto the 2nd uv channel: and as said some informations about collision meshes would be also good: Probably you could also add how to create lods: ?v=17pcyPVplEc

I don’t knew about the align of UV issue, did you have some link with this more detailed? Hope we got more information about it in the oficial tutorial page too (blank for now) https://docs.unrealengine/latest/INT/Engine/Content/Types/StaticMeshes/LightMapUnwrapping/index.html

I will add some information about Collision Mesh, 2nd channel lightmap and lods, thanks =)

note that 1 blender unity is 1m and 1 unreal unity is 1cm so you need to scale it to 100x factor. but lets keep it in the proper place to not spam here.
[/QUOTE]

this is wrong, 1 default blender unit is exactly the same size as 1 unreal unit, even though I already new that I just made a cube in blender that was 100x100x100, exported with scale set to 1 and when I imported to UE4 the cube was still exactly 100x100x100.

That’s right. So lets say that you modelling a wall with 6m in blender it will have 6 blender units, if you export it to Unreal it will have a wall with 0,06m (6cm) cause 1 Blender Unity is 1m and 1 Unreal Unity is 1cm.
So a wall with 600BU will have 600UU, but in blender it will have 600m and in unreal 6m.

://puu.sh/7NoIT.jpg

Anyway, looks like that you can’t set a scale while exporting skinned models to Unreal (you get error in bone positions). maybe is better to set another scale in blender to fit Unreal (1bu = 1uu = 1cm)
I will dig deeper in it.

I ran into an issue with normal maps being flipped using the production version of the .fbx plugin. Anyone else get this? I was able to fix this by adding the latest version of the plugin from the git repo: ://youtu.be/TYmV-8Sc4mw

In terms of setting scale - make sure you are applying scale and position in blender first, I think this will fix the bone position issue. I did have problems with this in the current plugin though. It also was solved by using the latest version.

I posted a notification in the wiki page about it be a WIP document. I will improving as the result of the discussion here in this thread.
Hope we can make a complete digital guide about Blender and Static Meshes there, thanks for the freedback :wink:

I’m using the git hub version too for now but i can’t tell that it’s better than the Build-in or not. Actually i think for now that is always better set the world blender unity scale to 0.01m such Unreal Scale.
Looks like it fix some bugs with the orientation of the Bone too.

ok I see what’s going on now, by default blenders units are set to “none” so 1BU = 1UU = 1CM but you have changed blenders units to “metric” and that means 1M in blender = 1UU = 1CM witch is why you have to set scale to 100 during export (when blenders units are set up how you have it 1M in blender will be 1unit when exported). now while you are technically correctly scaling your meshes (in a way I’ve never seen of before) to be the right size in UE it wont really work for skeletal meshes, to be more specific if someone wanted to create a character to be 196 UU tall in UE4 (I think that’s how tall the example guy is, been a long time since I looked at it:p) then in blender they would need to make it 196M tall and export with a scale of 1 to make it 196 units tall in UE and that means that people who have just found blender/UE and followed your tutorial would be working with 2 different scale systems in blender to make there static meshes and skeletal meshes the right size in relation to each other in UE, I have seen quite a few people confused by scale between blender and UE already and having to work with 2 scale systems in blender as well will add to the confusion so all I can do now is hope you change the info in your tutorial to lower the confusion.

anyway at least we figured out what was going on:)

Even in “None” (blender default) Units, is the same as 1BU = 1M and 1UU is 1CM just look the scale configs above man:
In Unreal: (1UU to 1m … e.g 1uu = 1cm would be 100.0) with is the default, so 1UU = 1cm
In Blender 1BU (The “None” config) = 1M by default.
if you make a object with 100BU in blender it will correspond to 100m, if you export this to Unreal (with scale 1.0) it will correspond to 100cm it’s simple. Just try it in any scene. I made it a thousand times.

But you are right that the solution in tutorial (set scale 100 when exporting) is not the , it make some noise with Skeleton Meshes (but it’s ok for Static ones )

If you want to turn equal scales (1BU = 1UU) you have three options:

  1. Let world scale in Blender Default or Metric to 1.0 and set scale 100 when exporting (witch cause many problems in Skeletal Meshes as you said)
  2. Let world scale in Blender Default or Metric to 1.0 and set scale it in Unreal after inset the mesh in the scene (scale = 100 for XYZ, with cause problems with Skeletal Orientation for some reason)
  3. Set Blender world scale to Metric and turn it 0.01 so now 1BU = 1CM = 1UU ( option for all Static and Skeleton )

I will change the tutorial in wiki to use the option 3

NO

no you don’t say, I have only been using UE4 for ages so I clearly wouldn’t have known such a basic piece of information.

that’s nonsense.

yeah, you do realize that if an object in blender is 100 units in length and when imported to UE4 its still 100 units in length and 1UU = 1CM that means the 1BU = 1CM right? to be honest I have no idea how your not getting something so simple.

this is teaching a bad workflow for people who are new to blender and unreal engine.

actually the option is just to leave blenders units at default and use the scale of 1BU = 1CM when modelling and then just export with scale set to 1 instead of over complicating such a simple thing for no reason, witch as far as I know everyone (except people who use 1BU as 1inch and you) does anyway. if my experience of 2 years with blender/UDK and months with UE4 isn’t good enough for you ask others like geodav or , so to sum up 1BU = 1UU already, there is no need to mess around with scale at all and I am done arguing about this.

@: Two images to you explain what is happening so…
it was exported with all default (scale 1.0 in exporter) with build in exporter and with github version i’m getting the same.

://puu.sh/7O7o3.png
://puu.sh/7O7sP.jpg

I will not start a war to see who know more, just want to know why i’m getting a different result that you’re saying.
And if you’re getting this same thing that i’m, so i think you don’t understand what i’m saying.

ok i’ll try this one more time, now I might have got a little annoyed in my previous post but your images actually prove what I have been saying all along witch is that 1BU is the same size as 1UU, in your images a 2x2x2 cube in blender exported with scale set to 1 it will be 2x2x2 in UE4, so its easier (especially for new blender/UE users) to just model something in blender to the same size you want in UE instead of having to scale during export or whatever.

well let me explain, you see how you’ve set scale to 1 in the image above, by doing that your telling blender that 1M is the same size as 1BU so when you export it exports 1M to 1BU witch is why you are having to scale x100 during export (also proves 1 default blender unit equals 1CM and not 1M like I said earlier). however if you set the unit scale to 0.010 you would be telling blender that 1BU = 0.01M(so 1CM), after you set that make a 2x2x2M cube and export with scale set to 1 it will be 200UU in UE4, basically you have been setting the scale of a metre wrong. if you don’t believe me try it yourself, I think I explained that clearly enough.

who knows more is irrelevant.

I clearly do understand what your saying, I just hope you now understand what I am saying.

ps. I always forget how dull and dingy the default blender theme is;)

I get what you are saying now and I’m ok with that.

You are saying that you can just use blender default unity as 1cm in your workflow as it is not a metric value at all, and it’s ok for most of the users, but not for the ones that work with a metric precision.
So if you model in meters in a right scale (i’m a Level Designer and it’s something that i always do) it not work.

Model a 10bu x 10bu in Blender default and export it to Unreal. You will get a 10cm x10cm. - as you said ( and now i understand what you are saying with that )
Model a 10m x 10m in Blender metric (actually the same above) and export it to Unreal. You will get a 10cm x 10cm. - As i said

Of course you can use blender default scale, fake it is cm and model a 100bu x 100bu cube to get a 1m x 1m in Unreal. but it’s a wrong metric workflow.

We can present both in the wiki :wink:

yes because blender doesn’t know what a metre is.

if using 100CM = 1M is wrong then yes its the wrong workflow, I guess well have to agree to disagree on that one

maybe some kind of a conversion table would be , like 1BU = 1M(unit scale 1) = 0.01M/1CM(unit scale 0.010) = 1UU =1CM

So i will update wiki with a workflow default (Blender default scale = 1 Unreal default scale = 1cm ) and propose a Metric workflow in blender (Blender Metric Scale to 0.01 = 1cm in Unreal Engine ). And we let the users say what is better for then.

Let’s move on the next topic:

Where we can get more information about what is a good unwrap to lightmap? Looks like you’re right in that, make sense for me and i actually get some problems that i think can be this.
There’s no UE4 documentation official guide about it yet isn’t ?

I made some edits to the wiki page to tidy things up, and to clarify a few points.
Thanks for making the wiki page, vBalbio. It’s nice to see a familiar Blender user using UE4.

@Riyuzakisan: So much better now, Thanks! :cool: