บทเรียนการใช้เครื่องมือควบคุมตัวละคร Player Controls จาก Blue Print ของ Unreal Engine 4 โดยยกตัวอย่างการแก้ไขตัวละครให้วิ่งไปข้างหน้าอัตโนมัติ ตามเวลาของเกม
บทเรียนก่อนหน้านี้ที่ควรศึกษาก่อนลงมือในบทเรียนนี้
- Game Engine: Unreal Engine (UDK 4) ติดตั้งตัวโปรแกรม
- UDK – Unreal Engine 4.8.1 การใช้งาน ViewPort และ Material
- Unreal Engine 4 วัตถุแตกกระจาย (Destructible) ร่วมกับ Physics
เปิด Unreal Engine 4.8.1 ขึ้นมาครับเลือก Template เป็น Third Person Game Template
รอประมวลผลสักครู่เราจะได้ ฉากตัวอย่างของเกมเราพร้อมให้พัฒนาเรียบร้อย ให้ลองกด Play เกมลองเล่นก่อน
ทดสอบโดยการกด Play แล้วลองควบคุมตัวละครของเราโดยกดปุ่ม W,A,S,D และ Space ครับ
ไปที่ Content Browser คลิกที่ Third Person Character ของเราครับ ระบบจะพาเราเข้าสู่หน้าจอส่วนของ Player Control
หากสังเกตจะเห็นว่า มันคือ Automation ในส่วนของการรับค่า Keyboards, Mouse และ Touch Input ให้ตัวละครของเราดำเนินการตามคำสั่งของตัว Control Input ครับ
เข้าเรื่องก็คือจุดประสงค์เราจะสร้างเกมโดยบังคับให้ตัวละครวิ่งไปข้างหน้าเรื่อยๆ ครับไม่มีหยุดดังนั้น เราต้องทำการลบส่วนการควบคุมที่ไม่เกี่ยวข้องออกไปก่อน
เริ่มลบส่วนของ touch Input ออกไปก่อนครับ โดยคลิกที่ Group ของมันแล้วคลิกขวา Delete หรือ กดปุ่มลบไปเลย
ตามด้วยส่วนของ Mouse Input ที่เราคงไม่จำเป็นต้องใช้ Mouse นะครับในตัวอย่างนี้, เมื่อทำการลบส่วนของ Player control ทั้ง 2 ส่วนคือ Touch Input และ Mouse Input ไปแล้วให้ไปที่ tab ชื่อ Viewport ครับ เราจะไปตั้งค่า กล้อง หรือ Camera กัน (เราจะใช้แค่การปรับ Camera Angle เท่านั้น)
เลือกที่ Camera Boom ดูเส้นสีแดง ที่เป็นมุมมองของกล้องที่ถ่ายตัวละคร
ให้ทำการปรับ Angle ของ Camera ดังนี้ Socket Offset ของแกน Z เป็น 100.0 (ค่าเป็น float)
เมื่อปรับมุมมองได้เหมือนตัวอย่างแล้วให้กดเมนู Compile เพื่อบันทึกค่าที่ปรับ control ครับ
กลับไปที่ Tab ชื่อ Event Graph ครับ ให้เราคลิกขวาสร้าง Event Tick ขึ้นมาครับเพื่อรับค่าเวลา (DeltaTime เวลา Time ของเกมนั่นแหละ) ขึ้นมาครับ
เมื่อสร้างขึ้นมาแล้วทำการเชื่อมโยงตัว Event Tick ไปที่ Add Movement Input
ส่วนของ InputAxis MoveForward เราคงไม่ได้ใช้ให้ทำการลบไปเลยครับ
ทำการ Compile อีกครั้ง
ปิดหน้า Player Control แล้วไปทดสอบ Play เกมของเราครับ ก่อนจะเล่นให้ลากตำแหน่งตัวละครของเราถอยหลังจากวัตถุให้มีพื้นที่วิ่งเล็กน้อย
ทดสอบ และดูผลลัพธ์
เป็นอันจบเรียบร้อยตัวอย่างของการสร้างเกมด้วย Unreal Engine ในส่วนของ Player control และ Blue Print ครับ