我正在使用此代码 Panorama我想在这张全景图的地板上添加图像。有人可以指导我如何做到这一点吗?图像非常小(256x256)
最佳答案
为了在地板上添加图像,您应该创建一个 PlaneGeometry、一个 MeshBasicMaterial,然后将它们应用到 Mesh,然后更改位置和旋转轴。
示例:
var geometry = new THREE.PlaneGeometry( 1, 1 );
var material = new THREE.MeshBasicMaterial( { map : texture, opacity : 1, side : THREE.DoubleSide, transparent : true } );
var sprite = new THREE.Mesh( geometry, material );
其中纹理是您要插入的图像,通过纹理加载器添加。
然后你必须通过position.set函数设置 Sprite 的位置。
将 Sprite 设置为北:
sprite.position.set(0,-360,0);
将 Sprite 设置为南边:
sprite.position.set(0,360,0);
最后一步是将 Sprite 旋转 90 度以便可见,否则它将呈现如下 |并不是 [] 。所以我们必须做一个rotateOnAxis:
sprite.rotateOnAxis( new THREE.Vector3( 1, 0, 0 ), THREE.Math.degToRad(90) );
如果图像太小,您可以使用:
sprite.scale.set( scaleValue, scaleValue, scaleValue );
其中scaleValue是大于0的值。
关于javascript - Three.js:在全景图的地板上添加图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30802209/