The reason I asked is that Unity / Blender changed what they imported: at 2019 they started importing Camera and Light objects, which basically changes the import order hierarchy and thus COULD change the effective name of things, causing the meshes to go missing.
Try checking those FBX files to see if they were lazily exported from Blender and include Camera / Light. Try taking those out and see if it works…
Here’s more specifically on Blender, but perhaps some of it could give you FBX insights to try?
Costs of Blender vs FBX:
I can answer your question precisely. I freakin’ HATE fiddling and clicking with FBX export, etc.
Keeping files ONLY as Blender files is awesome, one of the most endearing simplifying things about Unity with Blender.
But as you intuit above, there are potential hidden costs. Here are the two major costs.
Cost #1: every place you wish to build this will REQUIRE Blender be installed. Your computer? Fine! Install it! Your friend’s computer? Eh, maybe you can entice him into installing it. Now… U…
Unity imports Blender3D objects as FBX via a little Python script:
Often distortions can come as a result of modifiers and/or scales existing through your transform hierarchy. In Object mode in Blender, always have your rotations set as (0,0,0) and your scales set as (1,1,1) otherwise you will have issues. You can apply those transforms in Blender.
Unity runs this script to import your Blender files via transient FBX export:
./Hub/Editor/2020.1.5f1/Unity.app/Contents/Tools/Unity-BlenderToFBX.py
./Hub/Editor/2020.2.1f1/Unity.app/Contents/Tools/Unity-BlenderToF…
The Python script that Unity uses (substitute your Unity version number or search) to import:
./Hub/Editor/2020.2.1f1/Unity.app/Contents/Tools/Unity-BlenderToFBX.py
More on fixing it:
There are no “mesh files” from a standard Blender import. Unity imports a Blender file as a series of different assets depending on what you put into it in the first place: GameObject, MeshRenderers, Meshes, Materials, etc.
All Unity does when it imports a blender file is call the Unity-BlenderToFBX.py script (located in your installation of Unity) and imports stuff.
If you recently upgraded Unity, around Unity2019 or so, they changed what they imported, so it will reshape EVERYTHING in your i…
Blender3D objects used as trees / detail in Unity3D terrain (See the second half of this response)
This might be because your scene includes the default camera and lights. Unity started importing those with its default Blender import script starting sometime in Unity2019 and it will break a lot of prefabs.
You can either a) remove the Camera and Light and everything except the LOD group objects (properly named), or you can modify the Blender import script embedded in Unity. This means you would need to re-modify it every time you switched to a new version of Unity, but I was …
NEVER rename items in Blender after you have imported into Unity, because then Unity imports them as though they were new GameObjects. That’s how the mapping works if you look in the .meta file associated with your Blender file. It is done by name.
I would also NEVER reparent them because of the root (-90,0,0) rotation issue when going from Blender’s right-hand system to Unity’s left-hand system. Reparenting potentially moves an object in or out of the guard area for this rotation.
The best w…
Probuilder and Probuilderize and Blender:
This is what you need, but it’s not a free-back-and-forth-all-day-long process.
You want to be very intentional and parsimonious about how many times you go back and forth because there’s a LOT of room for error.
When you drop a Blender file in, Unity has Blender run a Python export script, then imports the resulting temporary FBX file, which you don’t ever see in the filesystem.
When you drop that (or any model file) into your scene, it makes a GameObject, gives it a MeshFilter and MeshRend…
Some more potentially-useful info:
what are you using for your fbx, export settings in blender, and what are you using for import in unity?
This is what i use in blender, you want to set your Up axis and Forward not to what Unity uses for those, but to how your axis are being used in blender. Also make sure Apply Transform is enabled.
[8037734--1036694--upload_2022-4-11_9-51-35.png]
in Unity i have this.
[8037734--1036700--upload_2022-4-11_9-54-11.png]
1 Like