إنشاء كرة متوهجة في Java3d
سؤال
أنا أبحث عن وسيلة لإعادة إنتاج هذا التأثير الزواج الضبابي باستخدام 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 يشرح كيفية إعداد معلمات الإضاءة. إذا لم تتمكن من محاكاة التأثير المتوهج مع مجال واحد ، فيمكنك محاولة وضع واحد أصغر في مجال شفاف ملون.
قد تحاول النظر في الكود. لديهم حتى يرشد.