2017-09-01 634 views
1

我在WebGL項目上使用立方體貼圖,我的同事爲我提供了標記爲前面,後面,左側,右側,頂部和底部的面部的圖像資產。但是Three.js's example code使用標有2個字母的圖像。 pn其次是x,yz爲什麼立方體貼圖的面被標記爲px,nx,py,ny,pz,nz?

帶着幾分試驗和錯誤我的工作我的同事的資產相應地圖:

  • PX =左
  • NX =右
  • PY =頂部
  • NY =底部
  • pz = back
  • nz =前

所以看這個,很明顯x,y和z是指軸,但p和n不是那麼明顯。我在想正面負面但是,當你看傳統上顯示爲從左向右遞增的x軸時,該理論會下降。 z軸令我頭疼,因爲我不知道當z值增加時,我是否會期望物體靠近我或離得更遠。本能說更接近。

我癡迷邏輯側面認爲這是一個比較合適的翻譯爲 「日常」 語言:

  • PX =右
  • NX =左
  • PY =頂部
  • NY =底部
  • pz =正面
  • nz =背面

我的同事是否提供了一套非標準資產?這是我們在3D建模中不使用日常語言(左,右,上等)的確切原因嗎?我是否應該要求他們提供標記爲px,nx,py等的標記?

一些經驗豐富的專家的指導將不勝感激。

+0

這是一個很好的問題,不應該被downvoted。 – WestLangley

回答

4

按照慣例 - 可能是基於從1990年代的RenderMan規範 - 立方體貼圖採用WebGL(和three.js所)在座標系中的正-X是右指定查找的正性時, z軸 - 換句話說,在左手座標系中。通過繼續這個約定,預先存在的立方體貼圖繼續正確渲染。

three.js所採用的是右手座標系。因此three.js中使用的環境映射似乎有pxnx交換。 (這是每一個three.js所立方體貼圖的情況爲例。)

three.js所r.87

相關問題