1

我有一个 360° 全景图片(纹理),我围绕一个球体进行映射,并将我的相机放在球体内部进行球面投影。现在纹理投影在球体的外侧。我想“把纹理从里到外”,我读到它可以通过应用矩阵来完成。

我想将矩阵应用于 Rajawali/OpenGL 中的球体(Object3D)。

这可以像这样在 ThreeJS 中完成:

var sphere = new THREE.SphereGeometry(100, 100, 40);
sphere.applyMatrix(new THREE.Matrix4().makeScale(-1, 1, 1));

applyMatrix 的三个.js 文档:

这将使用矩阵更新位置、旋转和缩放。

我想在拉贾瓦里这样做:

mSphere = new Sphere(100, 100, 40);
//Apply the matrix here

Matrix/Object3D 的文档可以在这里找到 Matrix4 Object3D

或者有没有其他方法可以做到?

4

2 回答 2

1

这已修复!

mSphere = new Sphere(100, 100, 40);
mSphere.setScaleX(-1);
mSphere.setScaleY(1);
mSphere.setScaleZ(1);
于 2015-02-22T16:34:58.423 回答
0

这真的不是material.side的工作吗?

引用材料的three.js doc:

。边

定义将渲染哪些面侧 - 正面、背面或两者。默认为 THREE.FrontSide。其他选项是 THREE.BackSide 和 THREE.DoubleSide。

所以从内部看球面应该使用THREE.BackSide

于 2016-10-01T09:46:34.523 回答