Every object should have the same local orientation related to the "global". This is a bug and not a problem of mathematical transformation. Only the Armature and the Cube-Mesh are the same in Unity. You will find that every Unity Object has a different orientation where the objects in blender have the same local orientation. But not enough! Analog to the above explanation compare the Pictures 4., 5., 6.And from my point of view this is the first bug. And you can see that it has diffrent axis to the Blender cube "and more confusing" different to the empty object "untitled" of picture 2. And you will also see that the axis are different compared to the Blender Cube of Picture 1. you can see the imported cube in Unty and note that Unity creates a top level parent (empty object) with the name of the Blender file (untitled). you see the "local axis" of the cube within blender. I saved the scene as untitled.blend in an asset folder of Unity.I did an export from blender 2.69 to Unity 4.2.Short answer: you will always see some axis changes when looking at Blender and Unity. Also, all Quaternion and 4x4 Matrix math ends up rotating differently. All text that appears on textures has to be flipped around. However, the vertex order of polygons has also been reversed by this, so all the surface normals are flipped. If you mirror any ONE axis (e.g., scale by -1,0,0 or 0,-1,0, or 0,0,-1), you have converted the base coordinates from left-handed to right-handed systems. This hides a lot of the issues but can't erase them all. Now that iOS and Android are prevalent and profitable right-handed platforms, Unity has worked to overcome much of this by doing core conversions of a number of things when converting from right-handed assets. Over and over, developers have had to write, test and put up with workarounds to offer 90% compatibility with the rest of the right-handed world. NET and C# are all Microsoft's gifts designed to sow incompatibility in the marketplace. Unity decided to focus on Microsoft's standards first: DirectX and. If you know latin, you'll understand why I call this a sinister plot on behalf of Microsoft. However, it had the intended effect: game developers who wanted to sell for Microsoft platforms found it to be enough of a pain to support both left- and right-handed math, that they stopped trying to make games that were cross-platform compatible. It broke with all the traditions of OpenGL, SGI, and even traditional mathematics in general. It was an arbitrary decision with deep impact, as you see here. Ultimately, Microsoft wanted to differentiate themselves from the competition and set some standards, so they chose to go with a left-handed system for Direct3D (an early part of the DirectX suite). For example, electrical flow and magnetism are described in textbooks assuming the user will work with the right hand rule. They follow centuries of mathematics tradition that came from observing the natural world. You can't fix this distinction with a simple "rotate ninety degrees" because no combination of rotations will align the two systems.īlender and OpenGL use a "right handed" coordinate system. There is a fundamental difference between Blender and Unity's coordinate system, which incidentally is the same fundamental difference between Microsoft DirectX and OpenGL.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |