บทที่ 5: การสร้าง Animation เบื้องต้น

การสร้าง Animation ในเกมเป็นสิ่งสำคัญที่ช่วยเพิ่มชีวิตชีวาและความน่าสนใจให้กับตัวละครและวัตถุในเกม ใน Unity เราสามารถสร้างแอนิเมชันที่ง่ายและรวดเร็วโดยใช้ Animation Window ในบทนี้ เราจะเรียนรู้วิธีสร้างแอนิเมชันเบื้องต้นให้กับวัตถุในเกม 2D และ 3D


การเปิด Animation Window

  1. ไปที่เมนู Window > Animation > Animation เพื่อเปิด Animation Window
  2. เลือกวัตถุที่ต้องการสร้างแอนิเมชันใน Hierarchy แล้วคลิก Create เพื่อสร้างคลิปแอนิเมชันใหม่
  3. ตั้งชื่อไฟล์แอนิเมชันและบันทึกในโฟลเดอร์ Assets

การสร้างแอนิเมชันการเคลื่อนไหวง่าย ๆ

เราสามารถสร้างการเคลื่อนไหวของวัตถุได้ง่าย ๆ โดยใช้ Keyframes ใน Animation Window โดยทำตามขั้นตอนต่อไปนี้:

  1. ใน Animation Window คลิกที่ปุ่ม Add Property
  2. เลือกคุณสมบัติที่ต้องการเคลื่อนไหว เช่น Position, Rotation, หรือ Scale
  3. ใน Timeline (ไทม์ไลน์) ให้เพิ่ม Keyframe ในจุดเริ่มต้นและจุดสิ้นสุดของการเคลื่อนไหว
  4. ปรับตำแหน่งหรือการหมุนของวัตถุในแต่ละ Keyframe โดย Unity จะสร้างการเคลื่อนไหวระหว่าง Keyframe ให้อัตโนมัติ

ตัวอย่างเช่น เราสามารถสร้างแอนิเมชันให้วัตถุเคลื่อนไหวจากจุดหนึ่งไปยังอีกจุดหนึ่งในฉากได้โดยการเพิ่ม Keyframe ที่ตำแหน่งเริ่มต้นและตำแหน่งสุดท้าย


การสร้างแอนิเมชันการเดินให้กับตัวละคร 2D

สำหรับเกม 2D เราสามารถสร้างแอนิเมชันให้ตัวละครเคลื่อนไหว เช่น การเดิน โดยใช้ภาพ Sprite หลาย ๆ ภาพ (เรียกว่า Sprite Sheet หรือชุดภาพแอนิเมชัน) ขั้นตอนคือ:

  1. นำเข้า Sprite Sheet ที่มีหลายภาพของตัวละครในท่าทางต่าง ๆ เช่น ท่ายืน ท่าเดิน
  2. เลือก Sprite Sheet และคลิกขวา > Sprite Editor เพื่อแยกแต่ละภาพออกจากกัน
  3. ใน Animation Window สร้างแอนิเมชันใหม่และลากแต่ละภาพ Sprite มาวางใน Timeline
  4. ปรับความเร็วในการเปลี่ยนภาพตามที่ต้องการ เพื่อให้ได้แอนิเมชันการเดินที่ลื่นไหล

การใช้งาน Animator Controller

เมื่อเราสร้างแอนิเมชันเสร็จแล้ว เราจะต้องใช้ Animator Controller เพื่อจัดการการเล่นแอนิเมชันต่าง ๆ และควบคุมลำดับการแสดงผล

  1. Unity จะสร้าง Animator ให้โดยอัตโนมัติเมื่อเราสร้างแอนิเมชันใหม่ โดยสามารถดูได้ใน Inspector ของวัตถุ
  2. ดับเบิ้ลคลิกที่ Animator เพื่อเปิด Animator Window
  3. ใน Animator Window เราจะเห็นคลิปแอนิเมชันที่สร้างไว้ และสามารถเชื่อมต่อแอนิเมชันต่าง ๆ ได้โดยการสร้าง Transitions (การเปลี่ยนผ่าน) ระหว่างแอนิเมชัน

ตัวอย่างเช่น เราสามารถสร้างการเปลี่ยนผ่านระหว่างแอนิเมชัน "เดิน" และ "หยุด" โดยเมื่อกดปุ่มเดิน แอนิเมชัน "เดิน" จะทำงาน และเมื่อปล่อยปุ่ม แอนิเมชัน "หยุด" จะเริ่มทำงานแทน


การควบคุมแอนิเมชันด้วยโค้ด

เราสามารถควบคุมการเล่นแอนิเมชันด้วยโค้ด C# ได้โดยใช้ Animator Component ที่ถูกเพิ่มในวัตถุ ตัวอย่างการเขียนโค้ดควบคุมแอนิเมชันคือ:


using UnityEngine;

public class PlayerAnimator : MonoBehaviour
{
    public Animator animator;

    void Update()
    {
        // ตรวจสอบว่าผู้เล่นกำลังเคลื่อนที่หรือไม่
        if (Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0)
        {
            animator.SetBool("isWalking", true); // เล่นแอนิเมชันเดิน
        }
        else
        {
            animator.SetBool("isWalking", false); // หยุดแอนิเมชันเดิน
        }
    }
}

ในตัวอย่างนี้ เราใช้ SetBool เพื่อควบคุมการเปลี่ยนแปลงของแอนิเมชัน "เดิน" โดยเมื่อกดปุ่มเดิน จะเปลี่ยนสถานะของแอนิเมชันเป็น true และเมื่อปล่อยปุ่มจะเปลี่ยนเป็น false ซึ่งทำให้แอนิเมชันเปลี่ยนไปตามการกระทำของผู้เล่น


Free Joomla templates by Ltheme