2017-09-01 638 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

相关问题