Question

Je suis à la recherche d'un moyen de reproduire cet effet brumeuse-sphère lumineuse en utilisant Java3D.

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

Je crée un groupe de transformation avec une source de lumière ponctuelle et un émissive-matière sphère, mais je ne peux pas reproduire le foggyness.

Idées?

Merci!

============ SOLUTION (Merci à 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(); }
Était-ce utile?

La solution

Je suis assez sûr que la « sphère » est en fait un sprite 2D dessiné dans l'espace 3D comme un panneau d'affichage, puis une lumière de couleur assortie également « tiré » à sa position. Le brouillard est juste un gradient 2D de l'image.

Ceci est juste ma meilleure estimation d'avoir joué le jeu bien, je ne l'ai pas regardé à la source.

Autres conseils

L'article Éclairage Comprendre l'API Java 3D explique comment configurer les paramètres d'éclairage. Si vous ne pouvez pas simuler l'effet lumineux avec une sphère, vous pouvez essayer de mettre un petit brigther un dans une sphère transparente de couleur.

Vous pouvez essayer regardant le code . Ils ont même un guider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top