Three.js:将6 Cube Panorama设置为任意一侧(前,后,左等)

时间:2018-06-22 05:14:09

标签: javascript three.js vertex-shader

我将本示例用于旋转6个立方体全景图像的项目:

https://threejs.org/examples/?q=panora#webgl_panorama_cube https://github.com/mrdoob/three.js/blob/master/examples/webgl_panorama_cube.html

scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera( 90, window.innerWidth / window.innerHeight, 0.1, 100 );
camera.position.z = 0.01;

var skyBox = new THREE.Mesh( new THREE.CubeGeometry( 1, 1, 1 ), materials );
skyBox.geometry.scale( 1, 1, - 1 );
scene.add( skyBox );

该多维数据集有6个面:前,后,左,右,下,上。

THREE.Raycaster使我可以利用intersectObjects在用户围绕全景立方体旋转时检测当前立方体侧面。

但是,在初始全景负载下,我希望能够将任何指定的多维数据集(前,后,左或右)设置为初始点。例如,我一开始总是获得背面,但是基于用户的设置,我希望能够将其强制为FRONT,LEFT或RIGHT。

除了可能尝试THREE.Camera.position.y设置之外,我找不到其他方法。为其添加正确的值必须指向侧面的正中心。如果这是正确的方法,如何计算正确的方法?

1 个答案:

答案 0 :(得分:0)

您可以使用以下模式将天空盒几何图形旋转四分之一圈:

aws acm import-certificate --certificate file://cert.crt --private-key file://private.key --certificate-chain file://chain.crt --profile prof --region us-east-1

或者,您可以旋转天空盒网格:

skyBox.geometry.rotateY( value * Math.PI / 2 ); // value = 0, 1, 2, or 3

three.js r.93