我正在寻找一种使用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(); }
答案 0 :(得分:2)
我很确定“球体”实际上是在3D空间中作为广告牌绘制的2D精灵,然后在其位置也“绘制”匹配的颜色光。模糊只是图像的2D渐变。
这只是我玩游戏时的最佳猜测,我没有看过来源。
答案 1 :(得分:1)
文章Understanding Lighting in the Java 3D API解释了如何设置照明参数。如果你无法用一个球体来模拟发光效果,你可以尝试将一个较小的一个球体放入一个彩色的透明球体中。
答案 2 :(得分:0)
您可以尝试looking at the code。他们甚至有guide。