在过去的几天里,我一直试图让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);
    }

我正在编写类似行星绕太阳运动的程序,为了移动行星,我正在使用一个函数
CGPointMake(object.center.x + 1, sqrt(75*75*150*150 - 75*75*(object.center.x - 300)*(object.center.x - 300))/150 + 150)
使用椭圆方程,其中 a = 150,b = 75,p = 300,q = 150,但是当物体接近 x = 450 左右时,它的速度会上升,我想这是因为 pitagora,因为它通过的路径是 c = sqrt( (x-x0)^2*(y-y0)^2)
我注意到我的 c 总是在 0.5 左右,但是当它到达 x 域的末尾时它上升到 0.8 所以我需要一个程序或数学解决方案来使对象以相同的速度围绕椭圆曲线移动
谢谢!