将网格定位在球体内,使纹理适合

时间:2018-02-16 12:26:06

标签: javascript three.js geometry

我正在尝试在完整的SphereGeometry中定位正在SphereGeometry的一部分上渲染的纹理的一部分。

我附上了一个jsfiddle所以你可以看到我的意思:

https://jsfiddle.net/ggL3uemh/23/

如果打开链接,您会看到场景中较小的纹理是较大纹理的一部分。

较大的一个渲染在一个大的整个球体上。

较小的一个渲染在球体的一部分上。

我想给较小的Mesh提供正确的位置,旋转和缩放,这样它就可以完美地适应球体内部,使它看起来像较小的那个甚至不存在。

我怀疑球体的一部分也不正确......

this.videoCustomGeometry = new THREE.SphereBufferGeometry(500, 64, 64, 1, 1.8, 1, 0.9);
this.videoCustomGeometry.scale( - 1, 1, 1 );

我接近找到位置,使用raycaster并将下一个代码附加到mousemove事件:

this.raycaster.setFromCamera(this.mouse, this.camera);
var intersects = this.raycaster.intersectObjects([this.pano], false);

然后,我得到了较小网格应该定位的确切位置,但我不知道旋转,比例,或者网格较小的几何图形是否正确。

我被卡住了......先谢谢了!

0 个答案:

没有答案