![สร้างฉาก 3 มิติใน Java](images/create-3d-scene-using-java.jpg#center)
ฉาก 3 มิติเป็นวิธีหนึ่งในการแสดงรูปร่าง 3 มิติบนคอมพิวเตอร์ ในคู่มือนี้ เราจะเรียนรู้วิธีสร้างฉาก 3 มิติโดยใช้ Java โดยไม่ต้องใช้ซอฟต์แวร์ 3D พิเศษใดๆ หลังจากนั้น เราจะบันทึกฉาก 3 มิติในรูปแบบไฟล์ FBX ซึ่งเป็นวิธีทั่วไปในการแชร์เนื้อหา 3 มิติ เอาล่ะ มาเริ่มกันเลย
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- Java 3D API เพื่อสร้างฉาก 3 มิติ — ดาวน์โหลดฟรี
- สร้างฉาก 3 มิติอย่างง่ายใน Java
- อ่านฉาก 3 มิติโดยใช้ Java
- แหล่งเรียนรู้ฟรี
Java 3D API เพื่อสร้างฉาก 3 มิติ - ดาวน์โหลดฟรี
เราจะใช้ Aspose.3D for Java API เพื่อสร้างและอ่านฉาก 3 มิติ เป็น API อันทรงพลังที่ช่วยให้คุณสร้าง แก้ไข และบันทึกฉาก 3 มิติใน รูปแบบ ต่างๆ ช่วยให้สามารถสร้างและแก้ไขตาข่าย วัสดุ และพื้นผิวสามมิติได้ API ยังช่วยเพิ่มและกำหนดค่าไฟ กล้อง และภาพเคลื่อนไหวได้อีกด้วย
โปรด ดาวน์โหลด JAR ของ API หรือเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-3d</artifactId>
<version>23.9.0</version>
</dependency>
สร้างฉาก 3 มิติอย่างง่ายโดยใช้ Java
เราสามารถสร้างฉาก 3D ง่ายๆ ได้โดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Scene
- เรียกใช้เมธอด createChildNode() เพื่อเพิ่มรูปทรงเรขาคณิตหรือรูปร่างที่จะแสดงบนหน้าจอ เช่น ทรงกระบอก
- ตั้งค่าคุณสมบัติโหนดย่อย เช่น วัสดุ
- เริ่มต้นวัตถุคลาส Light
- เรียกใช้เมธอด createChildNode() เพื่อเพิ่มเอนทิตี Light
- สุดท้าย ให้บันทึกฉากเป็น FBX โดยใช้เมธอด save() ใช้เส้นทางไฟล์เอาต์พุตและ FileFormat.FBX7500ASCII เป็นอาร์กิวเมนต์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างฉาก 3 มิติอย่างง่ายโดยใช้ Java
// ตัวอย่างโค้ดนี้สาธิตวิธีการสร้างฉาก 3 มิติอย่างง่ายและบันทึกเป็นไฟล์ FBX
// เริ่มต้นฉาก 3D
Scene scene = new Scene();
// เริ่มต้นวัตถุรูปทรงกระบอก
Cylinder cylinder = new Cylinder();
cylinder.setName("Cylinder");
// สร้างโหนดลูกและเพิ่มวัตถุทรงกระบอก
Node node = scene.getRootNode().createChildNode(cylinder);
// ตั้งค่าคุณสมบัติโหนดลูก
LambertMaterial material = new LambertMaterial();
material.setDiffuseColor(null);
material.setName("Lambert");
node.setMaterial(material);
// เพิ่มเอนทิตี Light
Light light = new Light();
light.setLightType(LightType.POINT);
light.setName("Light");
scene.getRootNode().createChildNode(light).getTransform().setTranslation(new Vector3(10, 0, 10));
// เส้นทางไฟล์เอาต์พุต
String output = "C:\\Files\\document.fbx";
// บันทึกเอกสารฉาก 3 มิติ
scene.save(output, FileFormat.FBX7500ASCII);
![สร้างฉาก 3 มิติอย่างง่ายโดยใช้ Java](images/create-3d-scene.jpg#center)
สร้างฉาก 3 มิติอย่างง่ายโดยใช้ Java
อ่านฉาก 3 มิติโดยใช้ Java
นอกจากนี้เรายังสามารถโหลดเอกสาร FBX และอ่านฉาก 3D ได้โดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส Scene
- โหลดเอกสาร 3D ที่มีอยู่โดยใช้เมธอด open()
- วนซ้ำคุณสมบัติ ChildNodes
- สุดท้าย แสดงค่าคุณสมบัติ
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการโหลดและอ่านฉาก 3 มิติโดยใช้ Java
// ตัวอย่างโค้ดนี้สาธิตวิธีการอ่านฉาก 3 มิติจากไฟล์ FBX
// เริ่มต้นวัตถุคลาสฉาก
Scene scene = new Scene();
// โหลดเอกสาร 3D ที่มีอยู่
scene.open("C:\\Files\\document.fbx");
for(Node node : scene.getRootNode().getChildNodes())
{
Entity entity = node.getEntity();
System.out.println("Entity Name: " + entity.getName());
if (node.getMaterial() != null)
{
Material material = node.getMaterial();
System.out.println("Material Name: " + material.getName());
PropertyCollection props = material.getProperties();
// แสดงรายการคุณสมบัติทั้งหมดโดยใช้ foreach
for(Property prop : props)
{
System.out.println(prop.getName() + " : " + prop.getValue());
}
}
}
Entity Name: Cylinder
Material Name: Lambert
Emissive : (0 0 0)
Diffuse : (1 1 1)
Ambient : (0 0 0)
Entity Name: Light
รับใบอนุญาตฟรี
คุณสามารถ [รับใบอนุญาตชั่วคราวฟรี] เพื่อทดลองใช้ Aspose.3D for Java โดยไม่มีข้อจำกัดในการประเมิน
แหล่งเรียนรู้ฟรี
นอกเหนือจากการสร้างหรืออ่านฉาก 3D ง่ายๆ แล้ว เรียนรู้เพิ่มเติมเกี่ยวกับไลบรารีและสำรวจคุณสมบัติอื่นๆ มากมายโดยใช้แหล่งข้อมูลด้านล่าง:
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีสร้างฉาก 3 มิติใน Java แล้ว นอกจากนี้เรายังได้เห็นวิธีการเรนเดอร์ฉาก 3D ในรูปแบบ FBX และอ่านบันทึกย่อยและคุณสมบัติโดยทางโปรแกรมใน Java ด้วยการใช้ประโยชน์จาก Aspose.3D for Java คุณสามารถทำให้การเขียนโปรแกรมกราฟิก 3D ในแอปพลิเคชัน Java ง่ายขึ้น ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมการสนับสนุนฟรี