??????最近把一套網絡模塊和一套組件模塊從u3d改造到ue4。
網絡模塊通用性很高,畢竟協議都是通用網絡協議,改造后沒啥問題。
但是改造組件模塊的時候就遇到了問題。
首先,unity3d的坐標系是標準左手坐標系,如下:
同時自己的幾何算法都是基于左手坐標系計算的。
結果在ue4中移植代碼的時候發現,ue4居然是非標坐標系,既不是directx的左手坐標系也不是opengl的右手坐標系,而是如下:
一種x軸朝前、y軸朝右、z軸朝上的坐標系。這就麻煩了,不論是左右手坐標系,我僅需少量修改就能自適應,避免改變美術輸出資源的標準。
但是基于ue4的這種坐標系,我自己在blender中用按照同樣的坐標系模式建模,如下:
然后按照左手坐標系的標準導出到ue4才能應用標準左手幾何算法。
我順便測試移植了三個常用的旋鈕組件,分別是自由旋鈕、回彈旋鈕和多檔位旋鈕,如下:
我得在建模工具里預先把坐標系轉換成左右手坐標系后,進ue4才能正常做幾何運算,現在都搞不懂怎么跟美術同事一起定建模規范了。
當然在unity就方便很多,正常建模導入unity就行,如下:
我個人還是比較喜歡標準左右手坐標系的三維引擎,幾何算法匹配起來方便。