Создание светящейся сферы в Java3D
Вопрос
Я ищу способ воспроизвести этот эффект свечения туманной сферы с помощью 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 объясняет, как настроить параметры освещения.Если вы не можете имитировать эффект свечения с помощью одной сферы, вы можете попробовать поместить меньшую и более яркую сферу в цветную прозрачную сферу.
Вы можете попробовать смотрю на код.У них даже есть гид.