共同點:
在世界空間和模型空間內,UE4、Unity均為左手系
不同點:
軸向
模型空間內,UE4、Unity軸向的對應關系如下:
軸向 | UE4 | Unity |
向前 | +x | +z |
向右 | +y | +x |
向上 | +z | +y |
旋轉
歐拉角(Euler Angles)使用三個角度值來描述物體在三維空間的任意朝向
它的基本思想是讓物體開始於“標准”方位(物體坐標軸和慣性坐標軸對齊),每次讓其繞着物體坐標系某個軸進行旋轉,通過三次旋轉就可以達到最終朝向
如果從慣性坐標系到物體坐標系,歐拉角順序為:m-n-p;那么,從物體坐標系到慣性坐標系,旋轉的順序就是相反的,為p-n-m
合法的歐拉角組中,唯一的限制是,任何兩個連續的旋轉,必須繞着不同的轉動軸旋轉,因此,一共有12種順規。
歐拉角分為兩大類:
別種歐拉角組(Proper Euler angles,僅繞兩個不同的軸進行旋轉): z-x-z、x-y-x,、y-z-y、z-y-z、x-z-x、y-x-y
泰特-布萊恩角(Tait–Bryan angles,三次都繞不同的軸進行旋轉) :x-y-z、y-z-x、z-x-y、x-z-y、z-y-x、y-x-z
游戲中使用的是泰特-布萊恩角(Tait–Bryan angles)
泰特-布萊恩角(Tait–Bryan angles)又稱Cardan angles; nautical angles; heading, elevation, and bank; or yaw, pitch, and roll
Yaw(shaking your head to say "no") ,又稱heading,方位角
Pitch (think nodding to say "yes"),又稱elevation, 俯仰角
Roll (tilting your head sideways while looking in a specific direction) ,又稱bank,橫滾角
UE4歐拉角順序為:Yaw-Pitch-Roll
歐拉角 | 旋轉軸方向 | 存儲分量 |
橫滾角(Roll) | -x(向后) | x |
俯仰角(Pitch) | -y(向左) | y |
方位角(Yaw) | +z(向上) | z |
Unity歐拉角順序為:Yaw-Pitch-Roll
歐拉角 | 旋轉軸方向 | 存儲分量 |
橫滾角(Roll) | +z(向前) | z |
俯仰角(Pitch) | +x(向右) | x |
方位角(Yaw) | +y(向上) | y |
值得注意地是,雖然UE4和Unity的歐拉角順序相同,但兩者在Pitch和Roll分量的旋轉方向是相反的
若要將Unity的場景轉換到UE4中,需要進行如下操作:
(1) 計算場景中GameObject在世界坐標系中Location、Rotation和Scale,然后按照如下對應關系寫入到UE4中
string.format("RelativeLocation=(X={0:F6},Y={1:F6},Z={2:F6})", UnityWorldPosition.Z * 100, UnityWorldPosition.X * 100, UnityWorldPosition.Y * 100); string.format("RelativeRotation=(Roll={2:F6},Pitch={0:F6},Yaw={1:F6})", -UnityWorldRotation.Z, -UnityWorldRotation.X, UnityWorldRotation.Y); string.format("RelativeScale3D=(X={0:F6},Y={1:F6},Z={2:F6})", UnityWorldScale.Z, UnityWorldScale.X, UnityWorldScale.Y);
注:Location要乘以100,原因是untiy的單位是m,而UE4的單位是cm
(2)mesh模型導入到UE4中時,需要將Yaw方位角設置成 90,Roll橫滾角設置成-90,另外Location也要乘以100
擴展
Unity導出的模型在Blender中編輯,首先需要切換到Edit Mode。如果要沿某個軸對模型鏡像,可使用菜單 Mesh -- Mirror 中提供的功能來完成
需要注意地是,鏡像后,法線會反向,可使用Mesh Tools面板上的Normals -- Flip Direction來修正(或使用菜單 Mesh -- Normals)
測試場景【2個物體,3個材質】:
obj導出選項
obj文件內容如下
# Blender v2.72 (sub 0) OBJ File: '' # www.blender.org o Cylinder v -0.284460 -0.645782 -0.619485 v -0.284460 1.354218 -0.619485 v -0.089369 -0.645782 -0.600270 v -0.089369 1.354218 -0.600270 v 0.098224 -0.645782 -0.543364 v 0.098224 1.354218 -0.543364 v 0.271111 -0.645782 -0.450954 v 0.271111 1.354218 -0.450954 v 0.422647 -0.645782 -0.326592 v 0.422647 1.354218 -0.326592 v 0.547010 -0.645782 -0.175055 v 0.547010 1.354218 -0.175055 v 0.639420 -0.645782 -0.002168 v 0.639420 1.354218 -0.002168 v 0.696326 -0.645782 0.185425 v 0.696326 1.354218 0.185425 v 0.715540 -0.645782 0.380515 v 0.715540 1.354218 0.380515 v 0.696326 -0.645782 0.575605 v 0.696326 1.354218 0.575605 v 0.639420 -0.645782 0.763198 v 0.639420 1.354218 0.763198 v 0.547010 -0.645782 0.936085 v 0.547010 1.354218 0.936085 v 0.422647 -0.645782 1.087622 v 0.422647 1.354218 1.087622 v 0.271111 -0.645782 1.211985 v 0.271111 1.354218 1.211985 v 0.098224 -0.645782 1.304395 v 0.098224 1.354218 1.304395 v -0.089370 -0.645782 1.361300 v -0.089370 1.354218 1.361300 v -0.284460 -0.645782 1.380515 v -0.284460 1.354218 1.380515 v -0.479550 -0.645782 1.361300 v -0.479550 1.354218 1.361300 v -0.667143 -0.645782 1.304394 v -0.667143 1.354218 1.304394 v -0.840030 -0.645782 1.211984 v -0.840030 1.354218 1.211984 v -0.991567 -0.645782 1.087621 v -0.991567 1.354218 1.087621 v -1.115930 -0.645782 0.936085 v -1.115930 1.354218 0.936085 v -1.208339 -0.645782 0.763198 v -1.208339 1.354218 0.763198 v -1.265245 -0.645782 0.575605 v -1.265245 1.354218 0.575605 v -1.284460 -0.645782 0.380514 v -1.284460 1.354218 0.380514 v -1.265245 -0.645782 0.185424 v -1.265245 1.354218 0.185424 v -1.208339 -0.645782 -0.002169 v -1.208339 1.354218 -0.002169 v -1.115929 -0.645782 -0.175056 v -1.115929 1.354218 -0.175056 v -0.991565 -0.645782 -0.326593 v -0.991565 1.354218 -0.326593 v -0.840029 -0.645782 -0.450955 v -0.840029 1.354218 -0.450955 v -0.667142 -0.645782 -0.543365 v -0.667142 1.354218 -0.543365 v -0.479548 -0.645782 -0.600270 v -0.479548 1.354218 -0.600270 vn 0.098000 0.000000 -0.995200 vn 0.290300 0.000000 -0.956900 vn 0.471400 0.000000 -0.881900 vn 0.634400 0.000000 -0.773000 vn 0.773000 0.000000 -0.634400 vn 0.881900 0.000000 -0.471400 vn 0.956900 0.000000 -0.290300 vn 0.995200 0.000000 -0.098000 vn 0.995200 0.000000 0.098000 vn 0.956900 0.000000 0.290300 vn 0.881900 0.000000 0.471400 vn 0.773000 0.000000 0.634400 vn 0.634400 0.000000 0.773000 vn 0.471400 0.000000 0.881900 vn 0.290300 0.000000 0.956900 vn 0.098000 0.000000 0.995200 vn -0.098000 0.000000 0.995200 vn -0.290300 0.000000 0.956900 vn -0.471400 0.000000 0.881900 vn -0.634400 0.000000 0.773000 vn -0.773000 0.000000 0.634400 vn -0.881900 0.000000 0.471400 vn -0.956900 0.000000 0.290300 vn -0.995200 0.000000 0.098000 vn -0.995200 0.000000 -0.098000 vn -0.956900 0.000000 -0.290300 vn -0.881900 0.000000 -0.471400 vn -0.773000 0.000000 -0.634400 vn -0.634400 0.000000 -0.773000 vn -0.471400 0.000000 -0.881900 vn 0.000000 1.000000 0.000000 vn -0.098000 0.000000 -0.995200 vn -0.290300 0.000000 -0.956900 vn 0.000000 -1.000000 -0.000000 g Cylinder_Cylinder_Material.001 s off f 1//1 2//1 4//1 3//1 f 3//2 4//2 6//2 5//2 f 5//3 6//3 8//3 7//3 f 7//4 8//4 10//4 9//4 f 9//5 10//5 12//5 11//5 f 11//6 12//6 14//6 13//6 f 13//7 14//7 16//7 15//7 f 15//8 16//8 18//8 17//8 f 17//9 18//9 20//9 19//9 f 19//10 20//10 22//10 21//10 f 21//11 22//11 24//11 23//11 f 23//12 24//12 26//12 25//12 f 25//13 26//13 28//13 27//13 f 27//14 28//14 30//14 29//14 f 29//15 30//15 32//15 31//15 f 31//16 32//16 34//16 33//16 f 33//17 34//17 36//17 35//17 f 35//18 36//18 38//18 37//18 f 37//19 38//19 40//19 39//19 f 39//20 40//20 42//20 41//20 f 41//21 42//21 44//21 43//21 f 43//22 44//22 46//22 45//22 f 45//23 46//23 48//23 47//23 f 47//24 48//24 50//24 49//24 f 49//25 50//25 52//25 51//25 f 51//26 52//26 54//26 53//26 f 53//27 54//27 56//27 55//27 f 55//28 56//28 58//28 57//28 f 57//29 58//29 60//29 59//29 f 59//30 60//30 62//30 61//30 f 4//31 2//31 64//31 62//31 60//31 58//31 56//31 54//31 52//31 50//31 48//31 46//31 44//31 42//31 40//31 38//31 36//31 34//31 32//31 30//31 28//31 26//31 24//31 22//31 20//31 18//31 16//31 14//31 12//31 10//31 8//31 6//31 f 63//32 64//32 2//32 1//32 f 61//33 62//33 64//33 63//33 f 1//34 3//34 5//34 7//34 9//34 11//34 13//34 15//34 17//34 19//34 21//34 23//34 25//34 27//34 29//34 31//34 33//34 35//34 37//34 39//34 41//34 43//34 45//34 47//34 49//34 51//34 53//34 55//34 57//34 59//34 61//34 63//34 o Cube v 1.607892 -1.000000 -4.405646 v 1.607892 -1.000000 -2.405647 v -1.000000 -1.000000 -2.405647 v -1.000000 -1.000000 -4.405647 v 1.607892 1.000000 -4.405646 v 1.607891 1.000000 -2.405646 v -1.000000 1.000000 -2.405647 v -1.000000 1.000000 -4.405646 vn 0.000000 -1.000000 0.000000 vn 0.000000 1.000000 0.000000 vn -0.000000 -0.000000 1.000000 vn -1.000000 -0.000000 -0.000000 vn 0.000000 0.000000 -1.000000 vn 1.000000 -0.000000 0.000000 g Cube_Cube_Material s off f 65//35 66//35 67//35 68//35 f 69//36 72//36 71//36 70//36 f 66//37 70//37 71//37 67//37 f 67//38 71//38 72//38 68//38 f 69//39 65//39 68//39 72//39 g Cube_Cube_Material.002 f 65//40 69//40 70//40 66//40
UE4導入選項(選項說明:FBX導入選項參考)
導入后,合並成一個關聯了3個材質的物件