我在WebGL项目中使用立方体贴图,我的同事为我提供了标记为正面,背面,左面,右面,顶部和底部的面部的图像资源.但是,Three.js的示例代码使用标有2个字母的图像.p或n后跟x,y或z.
经过一些反复试验,我相应地制定了我同事的资产地图:
所以看一下,显然x,y和z指的是轴,但p和n并不那么明显.我正在思考正面和负面,但当你看到传统上显示为从左到右增加的x轴时,理论就会失败.z轴让我的头部受伤,因为我不知道当z的值增加时,我是否希望物体靠近我或更远.本能说得更近了.
我的痴迷逻辑方面认为这是对"日常"语言的更合适的翻译:
我的同事提供了一套非标准的资产吗?这是我们在3D建模中不使用日常语言(左,右,顶等)的确切原因吗?我应该要求他们提供标有px,nx,py等的标签吗?
经验丰富的专家将给予一些指导.
按照惯例 - 可能是基于从1990年代的RenderMan规范 - 立方体贴图采用WebGL(和three.js所)在坐标系中指定其中正x为仰视当正-Z轴向右 - 换句话说,在左手坐标系中.通过继续此约定,预先存在的立方体贴图继续正确呈现.
three.js使用右手坐标系.在three.js所使用,因此环境贴图看起来有px和nx交换.(每个three.js立方体贴图示例都是这种情况.)
three.js r.87