การใช้งาน Terrain ใน Unity
การใช้งาน Terrain ใน Unity เป็นวิธีที่มีประสิทธิภาพในการสร้างภูมิทัศน์ขนาดใหญ่และซับซ้อน เช่น ภูเขา, หุบเขา, แม่น้ำ, หรือทุ่งหญ้า มาดูวิธีการใช้งานกันครับ

1. การสร้าง Terrain ใหม่
- เปิด Unity Editor: ตรวจสอบให้แน่ใจว่าคุณเปิดโปรเจกต์ Unity ของคุณอยู่
- สร้าง GameObject Terrain:
- ไปที่เมนู GameObject > 3D Object > Terrain
- คุณจะเห็นพื้นผิวขนาดใหญ่สีเขียวปรากฏขึ้นใน Scene ของคุณ นี่คือ Terrain ที่คุณสร้างขึ้นมา
2. การปรับแต่ง Terrain Settings
เมื่อคุณเลือก Terrain ใน Hierarchy Panel, คุณจะเห็น Terrain Inspector ปรากฏขึ้นใน Inspector Panel. นี่คือส่วนสำคัญที่คุณจะใช้ปรับแต่ง Terrain ของคุณ
- Terrain Collider: Terrain จะมาพร้อมกับ Terrain Collider โดยอัตโนมัติ ซึ่งช่วยให้วัตถุอื่นๆ ใน Scene สามารถชนกับพื้นผิว Terrain ได้
- Resolution: (ไอคอนรูปฟันเฟือง/เกียร์)
- Terrain Width/Length: กำหนดขนาดของ Terrain ในหน่วย Unity Units (เมตร)
- Terrain Height: กำหนดความสูงสูงสุดที่ Terrain สามารถมีได้
- Resolution (Heightmap, Alphamap, Detailmap): ค่าเหล่านี้มีผลต่อคุณภาพและประสิทธิภาพของ Terrain โดยรวม การเพิ่ม Resolution จะทำให้ Terrain มีรายละเอียดมากขึ้นแต่ก็ใช้ทรัพยากรมากขึ้นเช่นกัน
- Heightmap Resolution: จำนวนจุดข้อมูลที่ใช้ในการกำหนดความสูงของ Terrain ยิ่งสูงยิ่งละเอียด
- Alphamap Resolution: ความละเอียดของ Layer สำหรับ Texture ที่จะระบายบน Terrain
- Detail Resolution: ความละเอียดของ Layer สำหรับ Grass และ Detail Meshes
- Base Terrain Height: ความสูงเริ่มต้นของ Terrain ทั้งหมด
3. การ Sculpting Terrain (การปั้นรูปร่าง)
นี่คือส่วนหลักในการสร้างภูมิทัศน์ของคุณ คุณจะใช้เครื่องมือต่างๆ ใน Terrain Inspector (ไอคอนรูปแปรง)
- Raise / Lower Terrain: (ไอคอนรูปภูเขา)
- Brush: เลือกขนาดและรูปร่างของแปรงที่คุณต้องการใช้
- Opacity: กำหนดความเข้มข้นของการเปลี่ยนแปลงความสูงในแต่ละครั้งที่คุณคลิก (เหมือนแรงกดของแปรง)
- Flatten Height: ช่วยให้คุณสามารถกำหนดระดับความสูงเป้าหมายและปรับ Terrain ให้เรียบเสมอกันที่ความสูงนั้นได้
- Set Height: กำหนดความสูงของ Terrain ในบริเวณที่แปรงสัมผัสให้เป็นค่าที่ระบุ (ใช้สร้างที่ราบสูงหรือที่ราบเรียบ)
- Smooth Height: (ไอคอนรูปวงกลมมีขอบเบลอ) ทำให้ Terrain เรียบขึ้นโดยเฉลี่ยความสูงของจุดต่างๆ รอบๆ
- Erode: (ไม่ค่อยได้ใช้โดยตรงในเครื่องมือพื้นฐาน แต่เป็นผลลัพธ์จากการปั้น) เป็นกระบวนการที่สร้างร่องรอยเหมือนน้ำเซาะหรือลมพัด
- Paint Holes: (ถ้ามีในเวอร์ชันที่คุณใช้) ใช้สำหรับเจาะรูใน Terrain ซึ่งมีประโยชน์สำหรับการสร้างถ้ำหรือช่องทางใต้ดิน
4. การระบาย Texture (Paint Texture)
เมื่อ Terrain ของคุณมีรูปร่างแล้ว คุณต้องการให้มันดูเป็นธรรมชาติด้วย Textures (ไอคอนรูปพู่กัน)
- Add Terrain Layer: คลิกที่ “Paint Texture” (ไอคอนรูปพู่กัน)
- Create Layer: คลิกที่ “Edit Terrain Layers” > “Create Layer”
- เลือก Texture ที่คุณต้องการใช้ (เช่น Grass, Rock, Sand) คุณสามารถลาก Texture จาก Project Panel มาใส่ได้เลย หรือคลิกวงกลมเล็กๆ เพื่อเลือกจาก Asset Library
- ทำซ้ำขั้นตอนนี้เพื่อเพิ่ม Layers สำหรับ Textures อื่นๆ ที่คุณต้องการใช้บน Terrain
- Paint Texture:
- เลือก Layer Texture ที่คุณต้องการใช้จากรายการใน Inspector
- เลือก Brush และ Opacity
- ระบาย Texture บน Terrain ใน Scene ได้เลย ยิ่ง Opacity สูง Texture ก็จะปรากฏชัดขึ้น
5. การเพิ่มต้นไม้ (Place Trees)
คุณสามารถเพิ่มต้นไม้บน Terrain ได้อย่างง่ายดาย (ไอคอนรูปต้นไม้)
- Add Tree: คลิกที่ “Paint Trees” (ไอคอนรูปต้นไม้)
- Add Tree Model: คลิกที่ “Edit Trees” > “Add Tree”
- ลาก Prefab ของต้นไม้จาก Project Panel มาใส่ในช่อง “Tree Prefab” หรือเลือกจาก Asset Library
- ปรับ Bend Factor (ถ้ามี) ซึ่งควบคุมการบิดงอของต้นไม้เมื่อถูกลมพัด
- Paint Trees:
- เลือกต้นไม้ที่คุณต้องการจากรายการ
- เลือก Brush และกำหนด Brush Size (ขนาดพื้นที่ที่ต้นไม้จะปรากฏ) และ Tree Density (ความหนาแน่นของต้นไม้ในพื้นที่นั้น)
- คลิกและลากเมาส์บน Terrain เพื่อวางต้นไม้
- Mass Place Trees: คุณสามารถวางต้นไม้จำนวนมากในพื้นที่ที่เลือกโดยอัตโนมัติ
6. การเพิ่มรายละเอียดเล็กๆ (Paint Details – Grass/Meshes)
สำหรับหญ้าและวัตถุขนาดเล็กอื่นๆ เช่น หินเล็กๆ (ไอคอนรูปดอกไม้)
- Add Detail Mesh/Grass Texture: คลิกที่ “Paint Details” (ไอคอนรูปดอกไม้)
- Add Grass Texture: (สำหรับหญ้าที่เคลื่อนไหวได้)
- คลิกที่ “Edit Details” > “Add Grass Texture”
- ลาก Texture ของหญ้ามาใส่
- ปรับ Min/Max Width/Height: ขนาดของหญ้า
- ปรับ Healthy/Dry Color: สีของหญ้าเมื่อมีสุขภาพดีและแห้ง
- ปรับ Noise Spread: การกระจายตัวของหญ้า
- Add Detail Mesh: (สำหรับโมเดล 3D ขนาดเล็ก เช่น หิน)
- คลิกที่ “Edit Details” > “Add Detail Mesh”
- ลาก Prefab ของโมเดลมาใส่
- ปรับ Min/Max Width/Height: ขนาดของโมเดล
- ปรับ Render Mode: (Grass หรือ VertexLit)
- ปรับ Noise Spread: การกระจายตัว
- Paint Details:
- เลือก Detail ที่คุณต้องการจากรายการ
- เลือก Brush และกำหนด Brush Size และ Target Strength (ความหนาแน่น)
- คลิกและลากเมาส์บน Terrain เพื่อวางรายละเอียด
7. การตั้งค่า Wind Settings (การจำลองลม)
เพื่อให้ต้นไม้และหญ้าของคุณดูมีชีวิตชีวา (ไอคอนรูปก้อนเมฆ)
- Wind Settings: คลิกที่ “Terrain Settings” (ไอคอนรูปก้อนเมฆ หรือบางเวอร์ชันอาจอยู่ในไอคอนรูปฟันเฟือง)
- ปรับค่าต่างๆ ที่เกี่ยวข้องกับลม:
- Main Wind: ความแรงลมหลัก
- Turbulence: ความปั่นป่วนของลม
- Grass Wind Speed/Size/Bending: การควบคุมการเคลื่อนไหวของหญ้าตามลม
เคล็ดลับเพิ่มเติม:
- Performance: การใช้ Terrain ที่มีขนาดใหญ่และรายละเอียดสูงอาจส่งผลต่อประสิทธิภาพของเกม คุณสามารถปรับ Pixel Error ใน Terrain Settings ให้สูงขึ้นเพื่อลดความละเอียดของ Terrain ที่อยู่ไกลออกไป (LOD) หรือใช้ Billboarding สำหรับต้นไม้ที่อยู่ไกล
- Spline Tools: สำหรับการสร้างเส้นทาง, ถนน, หรือแม่น้ำที่ซับซ้อน คุณอาจพิจารณาใช้ Asset เสริมจาก Unity Asset Store ที่มีเครื่องมือ Spline ที่ช่วยให้การทำงานง่ายขึ้นมาก (เช่น Road Architect, MegaSplat)
- Heightmap Import/Export: คุณสามารถสร้าง Heightmap ในโปรแกรมภายนอก (เช่น Photoshop หรือ World Machine) แล้วนำเข้ามาใช้ใน Unity หรือส่งออก Heightmap จาก Unity ไปแก้ไขในโปรแกรมอื่นได้
- Terrain Tools (Package): Unity มีแพ็คเกจเสริมชื่อ “Terrain Tools” ที่สามารถติดตั้งได้ผ่าน Package Manager (Window > Package Manager) ซึ่งมีเครื่องมือเพิ่มเติมและปรับปรุงประสิทธิภาพในการ Sculpting Terrain ให้ดียิ่งขึ้น
การใช้งาน Terrain ใน Unity ต้องใช้เวลาในการฝึกฝนและทดลอง แต่เมื่อคุณเข้าใจหลักการแล้ว คุณจะสามารถสร้างภูมิทัศน์ที่สวยงามและสมจริงได้อย่างมีประสิทธิภาพครับ