Frage

ich nach einer Möglichkeit, diese nebelig-Kugel-glühenden Effekt zu reproduzieren Java3D verwendet wird.

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

Ich erstelle eine Transformationsgruppe mit einer Punktlichtquelle und einem emittierenden Material-Bereich, aber ich kann die foggyness nicht reproduzieren.

Ideen?

Danke!

============ SOLUTION (Dank 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(); }
War es hilfreich?

Lösung

Ich bin ziemlich sicher, dass die „Kugel“ ist eigentlich ein 2D-Sprite im 3D-Raum als eine Plakatwand gezogen, und dann auch noch ein passendes Farblicht ‚gezeichnet‘ an seiner Position. Die Vernebelung ist nur eine 2D-Gradienten des Bildes.

Dies ist nur meine beste Vermutung aus, das Spiel gespielt zu haben, obwohl, habe ich nicht an der Quelle sehe.

Andere Tipps

Der Artikel Verstehen Beleuchtung in der Java 3D API , wie die Beleuchtungsparameter einrichten erklärt. Wenn Sie die leuchtende Wirkung mit einer Kugel nicht simulieren können Sie könnten versuchen, eine kleinere brigther ein in eine farbige transparente Kugel zu setzen.

Sie könnten versuchen, Blick auf den Code . Sie haben sogar ein führen .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top