Вопрос

Я ищу способ воспроизвести этот эффект свечения туманной сферы с помощью Java3D.

http://bzflag.org/screenshots/bzfi0021.jpg http://bzflag.org/screenshots/bzfi0019.jpg http://bzflag.org/screenshots/bzfi0022.jpg

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

Идеи?

Спасибо!

============ РЕШЕНИЕ (Спасибо Ricket) ===========

    try
    {
        TextureLoader myLoader = new TextureLoader( new File("./data/grad.png").toURI().toURL(), this );

        ImageComponent2D myImage = myLoader.getImage( );

        Raster raster = new Raster( );
        raster.setPosition( new Point3f( 0.0f, 0.0f, 0.0f ) );
        raster.setType( Raster.RASTER_COLOR );
        raster.setSize( 50, 50);
        raster.setImage( myImage );

        TransparencyAttributes ta =  new TransparencyAttributes( TransparencyAttributes.BLENDED, 0.0f );
        Appearance app = new Appearance();
        app.setTransparencyAttributes( ta );

        objScale.addChild( new OrientedShape3D(raster, app, OrientedShape3D.ROTATE_ABOUT_POINT, new Point3f( 0.0f, 0.0f, 0.0f )));


    }
    catch (MalformedURLException e) { throw new RuntimeException(); }
Это было полезно?

Решение

Я почти уверен, что «сфера» на самом деле представляет собой 2D-спрайт, нарисованный в 3D-пространстве в виде рекламного щита, а затем на его месте «рисуется» свет соответствующего цвета.Туманность — это всего лишь 2D-градиент изображения.

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

Другие советы

Статья Понимание освещения в Java 3D API объясняет, как настроить параметры освещения.Если вы не можете имитировать эффект свечения с помощью одной сферы, вы можете попробовать поместить меньшую и более яркую сферу в цветную прозрачную сферу.

Вы можете попробовать смотрю на код.У них даже есть гид.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top