سؤال

أنا أبحث عن وسيلة لإعادة إنتاج هذا التأثير الزواج الضبابي باستخدام Java3d.

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

أقوم بإنشاء مجموعة تحويل مع مصدر ضوء نقطة وجهاز ما إذا كان لا يمكنني إعادة إنتاج الضباب.

أفكار؟

شكرًا!

============ Solution (بفضل 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(); }
هل كانت مفيدة؟

المحلول

أنا متأكد تمامًا من أن "الكرة" هي في الواقع عفريت ثنائي الأبعاد مرسومة في مساحة ثلاثية الأبعاد كمسافة ، ثم ضوء لون مطابق أيضًا في وضعه. الضباب هو مجرد تدرج ثنائي الأبعاد من الصورة.

هذا هو أفضل تخمين لي من لعب اللعبة رغم ذلك ، لم أنظر إلى المصدر.

نصائح أخرى

المقالة فهم الإضاءة في Java 3D API يشرح كيفية إعداد معلمات الإضاءة. إذا لم تتمكن من محاكاة التأثير المتوهج مع مجال واحد ، فيمكنك محاولة وضع واحد أصغر في مجال شفاف ملون.

قد تحاول النظر في الكود. لديهم حتى يرشد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top