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

「 Java3DAPIのライティングについて」の記事では、ライティングパラメータの設定方法について説明しています。1つの球で光る効果をシミュレートできない場合は、より小さな球を色付きの透明な球に入れてみてください。

于 2010-03-30T07:07:01.080 に答える
0

コードを見てみてください。彼らにはガイドさえあります。

于 2010-03-30T19:06:17.857 に答える