Threejs 天空盒超出范围
Threejs skybox out of range
我正在 javascript 使用 threejs 编写 3d 游戏。我制作了一个天空盒,它可以工作,但是如果我将我的相机设置为近距离和远距离太小,它就不会显示。
我明白为什么会这样,连接到我的播放器的相机看不到天空盒。如果我让我的相机 "near" 和 "far" 属性足够大(对应于我的游戏地图的大小)我可以让我的天空盒总是在范围内,但我不想那样,因为我不想让相机看到远处的所有物体。
关于如何强制相机看到天空盒但仍然有一个小 "far" 属性以便看不到世界上所有物体的任何想法?
如有任何帮助,我们将不胜感激。
有scene.background
,可以设置为CubeTexture
只想添加一个示例,因为有人可能会发现它在这里很有用:
var loader = new THREE.CubeTextureLoader();
loader.load([
'./img/sky/galaxy-X.jpg', './img/sky/galaxy+X.jpg',
'./img/sky/galaxy-Y.jpg', './img/sky/galaxy+Y.jpg',
'./img/sky/galaxy-Z.jpg', './img/sky/galaxy+Z.jpg'
] , function(texture)
{
scene.background = texture;
});
我正在 javascript 使用 threejs 编写 3d 游戏。我制作了一个天空盒,它可以工作,但是如果我将我的相机设置为近距离和远距离太小,它就不会显示。
我明白为什么会这样,连接到我的播放器的相机看不到天空盒。如果我让我的相机 "near" 和 "far" 属性足够大(对应于我的游戏地图的大小)我可以让我的天空盒总是在范围内,但我不想那样,因为我不想让相机看到远处的所有物体。
关于如何强制相机看到天空盒但仍然有一个小 "far" 属性以便看不到世界上所有物体的任何想法?
如有任何帮助,我们将不胜感激。
有scene.background
,可以设置为CubeTexture
只想添加一个示例,因为有人可能会发现它在这里很有用:
var loader = new THREE.CubeTextureLoader();
loader.load([
'./img/sky/galaxy-X.jpg', './img/sky/galaxy+X.jpg',
'./img/sky/galaxy-Y.jpg', './img/sky/galaxy+Y.jpg',
'./img/sky/galaxy-Z.jpg', './img/sky/galaxy+Z.jpg'
] , function(texture)
{
scene.background = texture;
});