สร้างฉาก 3 มิติใน Java

ฉาก 3 มิติเป็นวิธีหนึ่งในการแสดงรูปร่าง 3 มิติบนคอมพิวเตอร์ ในคู่มือนี้ เราจะเรียนรู้วิธีสร้างฉาก 3 มิติโดยใช้ Java โดยไม่ต้องใช้ซอฟต์แวร์ 3D พิเศษใดๆ หลังจากนั้น เราจะบันทึกฉาก 3 มิติในรูปแบบไฟล์ FBX ซึ่งเป็นวิธีทั่วไปในการแชร์เนื้อหา 3 มิติ เอาล่ะ มาเริ่มกันเลย

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

  1. Java 3D API เพื่อสร้างฉาก 3 มิติ — ดาวน์โหลดฟรี
  2. สร้างฉาก 3 มิติอย่างง่ายใน Java
  3. อ่านฉาก 3 มิติโดยใช้ Java
  4. แหล่งเรียนรู้ฟรี

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 ง่ายๆ ได้โดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Scene
  2. เรียกใช้เมธอด createChildNode() เพื่อเพิ่มรูปทรงเรขาคณิตหรือรูปร่างที่จะแสดงบนหน้าจอ เช่น ทรงกระบอก
  3. ตั้งค่าคุณสมบัติโหนดย่อย เช่น วัสดุ
  4. เริ่มต้นวัตถุคลาส Light
  5. เรียกใช้เมธอด createChildNode() เพื่อเพิ่มเอนทิตี Light
  6. สุดท้าย ให้บันทึกฉากเป็น 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

สร้างฉาก 3 มิติอย่างง่ายโดยใช้ Java

อ่านฉาก 3 มิติโดยใช้ Java

นอกจากนี้เรายังสามารถโหลดเอกสาร FBX และอ่านฉาก 3D ได้โดยทำตามขั้นตอนด้านล่าง:

  1. สร้างอินสแตนซ์ของคลาส Scene
  2. โหลดเอกสาร 3D ที่มีอยู่โดยใช้เมธอด open()
  3. วนซ้ำคุณสมบัติ ChildNodes
  4. สุดท้าย แสดงค่าคุณสมบัติ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการโหลดและอ่านฉาก 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 ง่ายขึ้น ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมการสนับสนุนฟรี

ดูสิ่งนี้ด้วย