Isi kandungan:
Video: Cara membuat portal surga | 100% Berhasil | AETHER PORTAL | Minecraft 2024
Mencipta dunia 3D maya lebih mudah daripada sebelumnya di JavaFX. Dalam contoh ini, anda belajar untuk menambahkan ruang kepada program JavaFX anda, menghidupkannya, dan menambah sumber cahaya kepadanya.
Langkah satu: Tambah sfera
Pertama, tambahkan ruang yang diwakili oleh kelas Sphere. Konstruktor Sphere hanya menerima satu parameter, yang menentukan radius sfera. Contohnya, garisan-garisan ini mewujudkan satu sfera yang radiusnya 100, dan kemudian menerjemahkannya untuk memindahkannya ke pusat titik dunia maya anda:
Sfera sfera = Sfera baru (100); sfera. setTranslateX (-180); sfera. setTranslateY (-100); sfera. setTranslateZ (100); akar. getChildren (). tambah (sfera);
Daripada menggunakan bahan Phong biru yang sama ke dalam bidang, anda boleh melakukan sesuatu yang lebih menarik: menggunakan bahan Phong yang dibina daripada imej unjuran silinder bumi menggunakan kod ini:
Image earthImage = new Image "fail: bumi jpg"); PhongMaterial earthPhong = PhongMaterial baru (); earthPhong. setDiffuseMap (earthImage); sfera. setMaterial (earthPhong);
Angka ini menunjukkan sfera yang terhasil.
Anda boleh membungkus sebarang imej di sekitar sfera (atau mana-mana objek 3D lain, untuk perkara itu) menggunakan teknik ini. Anda juga boleh mendapatkan imej untuk program ini dari Wikipedia. Cuma cari Behrmann Projection dan kemudian muat turun fail tersebut. (Gunakan Windows Paint untuk memotong tepi imej sedikit kerana imej yang terdapat di Wikipedia mempunyai sempadan kecil di sekeliling tepi.)
Langkah dua: Hiaskan objek
Whew! Dunia maya 3D anda kini mempunyai objek: sfera yang kelihatan seperti bumi. Anda juga boleh menambah objek lain pada masa ini.
Dalam langkah ini, tambah animasi ke semua objek untuk mendapatkannya berputar. Setiap objek mendapat animasi RotationTransition yang mudah. Pertama, sfera:
RotateTransition rt4 = RotateTransition baru (); rt4. setNode (sfera); rt4. setDuration (Durasi. millis (9000)); rt4. setAxis (Putar Y_AXIS); rt4. setByAngle (360); rt4. setCycleCount (Animasi INDEFINITE); rt4. setInterpolator (Interpolator LINEAR); rt4. bermain ();
Selepas kaedah main dipanggil, sfera mula berputar, membuat satu pusingan lengkap berputar paksi z setiap tiga saat.
Sfera berputar di sekeliling paksi-y, mewujudkan kesan bahawa dunia berputar. Untuk sfera, kelajuan ditetapkan pada satu revolusi setiap 10 saat.
Langkah ketiga: Tambah sumber cahaya
Langkah terakhir ke dalam pengaturcaraan ini ke dalam dunia pengaturcaraan 3D adalah untuk menambah sumber cahaya.Sumber cahaya akan mengubah keseluruhan pemandangan, seperti yang ditunjukkan di sini.
Untuk menambah sumber cahaya, gunakan kod berikut:
Dunia 3D anda dengan sumber cahaya.Lampu titik cahaya = baru PointLight (Warna. WHITE); cahaya. setTranslateX (-1000); cahaya. setTranslateY (100); cahaya. setTranslateZ (-1000); akar. getChildren (). tambah (cahaya);
Kelas PointLight mentakrifkan sumber cahaya yang berasal dari titik tertentu di tempat kejadian dan memperlihatkan cahaya warna yang diberikan (dalam kes ini, putih lama yang baik). Untuk mewujudkan kesan pencahayaan, alihkan cahaya dengan menerjemahkan koordinatnya 1, 000 ke kiri, 100 ke bawah, dan 1, 000 unit ke arah pengguna. Hasilnya memberikan bayang-bayang yang bagus di belakang objek-objek berputar.