Daftar Isi:

Menggunakan Blender untuk Membuat Model Java3D: 3 Langkah
Menggunakan Blender untuk Membuat Model Java3D: 3 Langkah

Video: Menggunakan Blender untuk Membuat Model Java3D: 3 Langkah

Video: Menggunakan Blender untuk Membuat Model Java3D: 3 Langkah
Video: Apa gunanya belajar 3D Modelling? 2024, Juni
Anonim
Menggunakan Blender untuk Membuat Model Java3D
Menggunakan Blender untuk Membuat Model Java3D

Jika Anda seorang programmer Java, Anda mungkin ingin memprogram dalam 3D di beberapa titik. Tapi bagaimana caranya? Anda bisa menggunakan Java3D dan mengetik perlahan setiap titik dalam poligon 3D (mencobanya percayalah itu ide yang buruk), atau Anda bisa menggunakan Blender (https://blender.org) program pemodelan 3D gratis dan open source bersama dengan skrip yang disebut Blend2Java (https://sourceforge.net/projects/blend2java/). Namun dokumentasi pada Blend2Java hampir tidak ada jadi itu sebabnya saya duduk di sini menulis ini.

Langkah 1: Unduh Program

Anda memerlukan Blender (https://blender.org) dan Blend2Java (https://sourceforge.net/projects/blend2java/). Ok kemudian setelah Anda memiliki keduanya mulailah dengan membuat model sederhana (atau hanya menggunakan kubus standar) di Blender.

Langkah 2: Ekspor Model Anda ke XML

Ekspor Model Anda ke XML
Ekspor Model Anda ke XML

Setelah Anda memiliki model yang ingin Anda gunakan di Blender, buka Edit Mode dan tekan tombol "a" untuk memilih semua titik. Di panel bawah pilih editor teks. Buka file baru di editor teks. Buka file blend2java.py yang Anda unduh. Jalankan. Ok objek Anda sekarang harus berada di. XML di mana pun Anda menyimpannya (jika ada dan pesan kesalahan pastikan Anda hanya memiliki 1 bahan untuk objek). Ganti nama objek (itu akan memiliki nama yang aneh).

Langkah 3: Impor Objek ke Java

Impor Objek ke Java
Impor Objek ke Java

Shape3D fred = nol; coba { XMLDecoder e = new XMLDecoder(new BufferedInputStream(new FileInputStream("c:/HandShape3D.xml"))); //nama file anda disini fred = (Shape3D) e.readObject(); e.tutup(); } catch(Pengecualian e) { e.printStackTrace(); } ColoringAttributes at=new ColoringAttributes(); Penampilan ap = Penampilan baru(); Color3f col = Color3f baru(1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes(col, ColoringAttributes. NICEST); ap.setColoringAttributes(ca); fred.setAppearance(ap); obj.addChild(fred);masukkan ini ke dalam kode 3d apa pun atau gunakan seluruh kode di sini import java.io.*;import java.beans. XMLDecoder;import java.applet. Applet;import java.awt.*;import java. awt.event.*;import com.sun.j3d.utils.applet. MainFrame;import com.sun.j3d.utils.universe.*;import javax.media.j3d.*;import javax.vecmath.*;import java.applet. Applet;import java.awt. BorderLayout;import java.awt. Frame;import com.sun.j3d.utils.applet. MainFrame;import com.sun.j3d.utils.geometry. ColorCube;import com.sun. j3d.utils.universe.*;import com.sun.j3d.utils.behaviors.mouse.*;import javax.media.j3d.*;import javax.vecmath.*;import java.awt.event.*;import java.util. Enumeration; kelas publik MouseBehaviorApp meluas Applet { public BranchGroup createSceneGraph() { BranchGroup objRoot = new BranchGroup(); TransformGroup objTransform = new TransformGroup(); objTransform.setCapability(TransformGroup. ALLOW_TRANSFORM_WRITE); objTransform.setCapability(TransformGroup. ALLOW_TRANSFORM_READ); objRoot.addChild(objTransform); Shape3D fred = nol; coba { XMLDecoder e = new XMLDecoder(new BufferedInputStream(new FileInputStream("c:/HandShape3D.xml"))); fred = (Bentuk3D) e.readObject(); e.tutup(); } catch(Pengecualian e) { e.printStackTrace(); } ColoringAttributes at=new ColoringAttributes(); Penampilan ap = Penampilan baru(); Color3f col = Color3f baru(1.0f, 0.0f, 1.0f); ColoringAttributes ca = new ColoringAttributes(col, ColoringAttributes. NICEST); ap.setColoringAttributes(ca); fred.setAppearance(ap); objTransform.addChild(fred); MouseRotate myMouseRotate = baru MouseRotate(); myMouseRotate.setTransformGroup(objTransform); myMouseRotate.setSchedulingBounds(BoundingSphere baru()); objRoot.addChild(myMouseRotate); MouseTranslate myMouseTranslate = new MouseTranslate(); myMouseTranslate.setTransformGroup(objTransform); myMouseTranslate.setSchedulingBounds(BoundingSphere baru()); objRoot.addChild(myMouseTranslate); MouseZoom myMouseZoom = baru MouseZoom(); myMouseZoom.setTransformGroup(objTransform); myMouseZoom.setSchedulingBounds(BoundingSphere baru()); objRoot.addChild(myMouseZoom); objRoot.compile(); kembali objRoot; } public MouseBehaviorApp() { setLayout(BorderLayout baru()); Canvas3D canvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration()); add("Tengah", canvas3D); adegan BranchGroup = createSceneGraph(); SimpleUniverse simpleU = SimpleUniverse baru(canvas3D); simpleU.getViewingPlatform().setNominalViewingTransform(); simpleU.addBranchGraph(adegan); } public static void main(String args) { Frame frame = new MainFrame(new MouseBehaviorApp(), 256, 256); }}gunakan ini untuk programtada yang lengkap! Anda selesai! dan kemudian Anda mengatakan "sekarang apa"? Saya tidak tahu! Saya baru belajar Java sebulan yang lalu lol!

Direkomendasikan: