0

我正在寻找一种使用 Java3D 重现这种雾球发光效果的方法。

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

我正在创建一个带有点光源和发射材料球体的变换组,但我无法重现雾气。

想法?

谢谢!

============ 解决方案(感谢佝偻病)===========

    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(); }
4

3 回答 3

2

我很确定“球体”实际上是在 3D 空间中作为广告牌绘制的 2D 精灵,然后在其位置也“绘制”了匹配的颜色光。雾度只是图像的 2D 渐变。

这只是我玩过游戏后的最佳猜测,我还没有查看源代码。

于 2010-03-31T04:37:00.843 回答
1

文章了解 Java 3D API中的光照解释了如何设置光照参数。如果您不能用一个球体模拟发光效果,您可以尝试将一个较小的较亮的球体放入一个彩色透明球体中。

于 2010-03-30T07:07:01.080 回答
0

您可以尝试查看代码。他们甚至有向导

于 2010-03-30T19:06:17.857 回答