Скайбокс Threejs вне досягаемости

Я пишу 3D-игру на javascript с помощью threejs. Я сделал скайбокс, и он работает, но если я сделаю свои камеры слишком маленькими для ближнего и дальнего расстояния, он не будет отображаться.

Я понимаю, почему это происходит, камера, прикрепленная к моему плееру, не видит так далеко, как скайбокс. Если я сделаю атрибуты «ближний» и «дальний» для своих камер достаточно большими (соответствующими размеру моей игровой карты), я смогу сделать так, чтобы мой скайбокс всегда был в пределах досягаемости, но я этого не хочу, так как я не Не хочу, чтобы камера видела все объекты так далеко.

Любые идеи о том, как заставить камеру видеть скайбокс, но при этом иметь небольшой атрибут «далеко», чтобы не видеть все объекты в мире?

Любая помощь будет принята с благодарностью.


person Oha Noch    schedule 29.04.2018    source источник


Ответы (2)


Существует scene.background, для которого можно установить CubeTexture.

person Ben West    schedule 29.04.2018
comment
Спасибо, я сейчас пытаюсь, вы случайно не знаете, должна ли она работать с файлами .tga? - person Oha Noch; 29.04.2018

Просто хочу добавить пример, потому что кто-то может найти его полезным здесь:

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;  
    });
person EscapeNetscape    schedule 15.03.2019