เริ่มต้น JavaFX 3D พร้อมการตั้งค่า pom.xml
JavaFX เป็นเครื่องมือที่ช่วยให้การพัฒนา UI สำหรับแอปพลิเคชันเดสก์ท็อปง่ายขึ้น และรองรับการทำงานกับกราฟิก 3D ได้อย่างมีประสิทธิภาพ ในบทความนี้ เราจะพูดถึงวิธีการสร้าง 3D Objects ใน JavaFX และการตั้งค่าโปรเจกต์ด้วย Maven โดยการปรับแต่งไฟล์ pom.xml
การตั้งค่า Maven โปรเจกต์
ก่อนอื่น เราต้องเตรียมโปรเจกต์ Maven ให้รองรับ JavaFX และการทำงานกับ 3D
- สร้างโปรเจกต์ Maven ใหม่
- เปิดไฟล์
pom.xmlและเพิ่มการตั้งค่าดังนี้:
ตัวอย่างการตั้งค่า pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>javafx-3d-example</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<javafx.version>20</javafx.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<!-- JavaFX Modules -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>${javafx.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.example.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
หลังจากตั้งค่าเสร็จ ให้รันคำสั่ง mvn install เพื่อตรวจสอบว่าโปรเจกต์ Maven ของคุณพร้อมใช้งาน
การสร้าง 3D Object ใน JavaFX
JavaFX รองรับการทำงานกับกราฟิก 3D โดยใช้คลาสที่มีอยู่ เช่น Box, Sphere, และ Cylinder รวมถึงรองรับการตั้งค่ากล้อง (Camera) และแสง (Lighting)
ตัวอย่างโค้ด JavaFX 3D
import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Box;
import javafx.scene.shape.Sphere;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
// สร้าง Box
Box box = new Box(100, 100, 100);
PhongMaterial boxMaterial = new PhongMaterial();
boxMaterial.setDiffuseColor(Color.CORAL);
box.setMaterial(boxMaterial);
// สร้าง Sphere
Sphere sphere = new Sphere(50);
PhongMaterial sphereMaterial = new PhongMaterial();
sphereMaterial.setDiffuseColor(Color.SKYBLUE);
sphere.setMaterial(sphereMaterial);
sphere.setTranslateX(150);
// เพิ่มแสง
PointLight light = new PointLight(Color.WHITE);
light.setTranslateX(200);
light.setTranslateY(-100);
light.setTranslateZ(-200);
AmbientLight ambientLight = new AmbientLight(Color.GRAY);
// ตั้งค่ากล้อง
PerspectiveCamera camera = new PerspectiveCamera(true);
camera.setTranslateZ(-500);
// เพิ่มองค์ประกอบลงใน Group
Group group = new Group(box, sphere, light, ambientLight);
// สร้าง SubScene
SubScene subScene = new SubScene(group, 800, 600, true, SceneAntialiasing.BALANCED);
subScene.setFill(Color.BLACK);
subScene.setCamera(camera);
// เพิ่ม SubScene ลงใน Scene หลัก
Group root = new Group(subScene);
Scene scene = new Scene(root, 800, 600);
primaryStage.setTitle("JavaFX 3D Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
คำอธิบายโค้ด
การสร้าง Object 3D:
BoxและSphereใช้สำหรับสร้างกล่องและทรงกลมตามลำดับ- ใช้
PhongMaterialเพื่อเพิ่มสีและพื้นผิว
การเพิ่มแสง:
PointLightและAmbientLightใช้สำหรับการตั้งค่าแสงในฉาก
การตั้งค่ากล้อง:
PerspectiveCameraให้มุมมอง 3D ที่สมจริง
การรวมใน SubScene:
SubSceneช่วยแยกการจัดการฉาก 3D และเชื่อมต่อกับ Scene หลัก
สรุป
JavaFX เป็นเครื่องมือที่ทรงพลังสำหรับการพัฒนา UI และการทำงานกับกราฟิก 3D ขั้นพื้นฐาน การตั้งค่าโปรเจกต์ด้วย Maven และการทำงานกับ 3D Object สามารถทำได้ง่ายด้วยคลาสและเครื่องมือที่ JavaFX จัดเตรียมไว้ให้ บทความนี้ช่วยให้คุณเริ่มต้นพัฒนาแอปพลิเคชัน 3D ด้วย JavaFX ได้อย่างมั่นใจ
ความคิดเห็น
แสดงความคิดเห็น