Home Technical Talk

(Solved) [Blender] Why does Blender insists on adding object transform as vertex position?

polycounter lvl 6
Offline / Send Message
bitinn polycounter lvl 6
I have used Blender for around 2 years at this point, but still couldn't figure out why would Blender insists on exporting obj file with transform applied onto vertex position.

I would love to tell Blender 2.8: I am making modular pieces, mate. I am exporting a single piece, not the scene. I don't want world transform, please stop.

But no options seem to do it.

(The only acceptable solution I can find require me to re-position the object in the scene origin, any other solution I find require parenting or modifying the export script, and that shouldn't be the solution.)

And in case you are wondering what I am on about. I don't want the location to be a part of the vertex position. I have set the pivot, so please use it as relative origin, not the scene origin.



Replies

  • bitinn
    Options
    Offline / Send Message
    bitinn polycounter lvl 6
    In a sense, I get why, the API was always bpy.ops.export_scene. Which means despite having a "Selection Only" option, Blender still consider the export a scene, not an object. So scene origin prevails.

    BUT the funny thing: FBX export don't have this problem. If you export with Apply Transform, it works fine. If you don't, you can still use things like "Preserve Hierarchy" in Unity to fix it.

    It's only OBJ export that's stubborn.

    I am sadden by this as wavefront format itself is not at fault, it's an open format and should work great for simple props.
  • bitinn
    Options
    Offline / Send Message
    bitinn polycounter lvl 6
    Enough with the complaining, here is a modified version of the built-in OBJ export script, with this option added:



    The added "Include Object Transform" will allow you to export OBJ with or without current object transform. In particular, it will ignore the "world matrix" of currently selected model.

    So for example, if you got this model:



    With "Include Object Transform" checked, it behaves exactly as Blender default; without it checked though, it will reset the selected object to origin on export (without affecting the object in scene).

    When imported by Unity, the result is model without object transform will be centered to 0,0,0, by its pivot. 



    Hope this help someone!

    (This is for Blender 2.80, using obj export addon 3.5.6)
Sign In or Register to comment.