Как я могу визуализировать «атмосферу» поверх изображения Земли в Three.js?

Последние несколько дней я пытался заставить работать текстурирование Three.js. Проблема, с которой я столкнулся, заключалась в том, что мой браузер блокировал загрузку текстур, что было решено, следуя инструкциям здесь.

В любом случае, я делаю игру про космический навигатор для одного из своих классов, которая демонстрирует навигацию космического корабля в космосе. Итак, я визуализирую кучу планет, Земля одна из них. Я включил изображение моего рендеринга Земли ниже. Выглядит нормально, но я пытаюсь сделать его более реалистичным, добавив «атмосферу» вокруг планеты.

Я осмотрелся и нашел несколько действительно аккуратно выглядящих творений, которые имеют дело со свечением, но, к сожалению, не думаю, что они применимы к моей ситуации.

А вот код, который добавляет землю в мою сцену (это модифицированная версия кода, которую я получил из учебника по Three.js):

    function addEarth(x,y){

        var sphereMaterial =
        new THREE.MeshLambertMaterial({
            //color: 0x0000ff,
            map: earthTexture
        });

        // set up the sphere vars
        var radius = 75;
        segments = 16;
        rings = 16;

        // create a new mesh with
        // sphere geometry - we will cover
        // the sphereMaterial next!
        earth = new THREE.Mesh(

        new THREE.SphereGeometry(
        radius,
        segments,
        rings),

        sphereMaterial);

        earth.position.x = x;
        earth.position.y = y;

        // add the sphere to the scene
        scene.add(earth);
    }

enter image description here

19
задан Ben Mack 6 July 2015 в 00:46
поделиться