เล่นไฟล์ Video บนแอนดรอยกันดีกว่า

Business-Insider-Mobile-Video-Ad-Revenue-Growth-1

สวัสดีครับ กลับมาพบกับทิปดีๆกันอีกเช่นเคยนะครับ ในวันนี้เราจะพูดถึงเรื่องของ Video ใน Unity กันครับ

การเล่นวิดีโอภายในเกมของเราเนี่ย มีหลากหลายเทคนิคขึ้นอยู่กับ Platform ที่เราต้องการเอาเกมไปลงนะครับ โดยวันนี้เราจะพูดถึงมือถือเป็นหลัก เอาให้เจาะลึกลงไปอีกนิดก็คือ Android นั่นเองครับ วันนี้เราจะมาทำให้ Android ของเราเล่นไฟล์ Video ได้ครับ

ในบทความนี้ผมจะข้ามส่วนของการตั้งค่า Android sdk ไปนะครับ ไว้โอกาสหน้าผมจะมาเจาะลึกเรื่องการติดตั้งให้ Unity สามารถ Export ลง Android ได้ แต่ในวันนี้สมมติว่าเพื่อนๆทุกคนทำได้กันหมดแล้วเนาะ

อ้อ อีกอย่างนึงที่เราต้องติดตั้งไว้ก่อนก็คือ Quick time นั่นเอง เพราะ Unity จะImport .mp4 ไม่ได้ ถ้าเราไมได้ลง Quick time ไว้ ดังนั้น ก่อนที่จะทำตาม ให้ติดตั้ง Quick time ให้เรียบร้อยก่อนนะครับ ถ้าทำทุกอย่างเสร็จแล้วก็เริ่มกันเลยครับ

01

จากภาพจะเห็นได้ว่าไม่มีอะไรแตกต่างจาก Scene ปกติมากเท่าไหร่ มีเพียงแค่ MainScript และ โฟลเดอ StreamingAssets พร้อมไฟล์ 01 สิ่งสำคัญในการเล่นไฟล์ Video คือเราต้องสร้างโฟลเดอ StreamingAssets ( เป็น Case sensitive นะครับ ตัวเล็กใหญ่มีค่าไม่เท่ากัน ) ส่วนไฟล์ 01 ก็คือไฟล์ Video ที่เราเตรียมไว้ครับ ถ้าด้านล่างไม่มีเออเร่ออะไรก็แปลว่าเราพร้อมที่จะเขียนสคริปกันแล้วครับ

02

จากภาพตัวอย่าง เมื่อเปิดเกมขึ้นมา ผมก็จะสั่งให้มันเล่น 01.mp4 เลยทันที เพราว่าฟังชั่นก์นี้ถูกเขียนไว้ใน start ฟังชั่นก์นะครับ มาดูส่วนประกอบของฟังชั่นก์นี้กันครับ

Handheld.PlayFullScreenMovie(“01.mp4”, Color.black, FullScreenMovieControlMode.Full);

  • 01.mp4 = ชื่อไฟล์ที่เราใส่ไว้ใน StreamingAssets โฟลเดอครับ
  • Color.black = สีของ Background ของวิดีโอครับ
  • FullScreenMovieControlMode.Full = รูปแบบการควบคุม Video มีทั้งหมด 4 รูปแบบครับ
  • Full – มีสไลเดอร์บา มีปุ่ม Fast forward และปุ่ม Rewind
  • Minimal – มีสไลเดอร์บา มีปุ่ม Fast forward และปุ่ม Rewind
  • CancelOnInput – ถ้ากดหน้าจอ จะเป็นการ Cancel video โดยอัตโนมัติ
  • Hidden – ไม่มีแผงควบคุม

ลอง Export เป็น .Apk แล้วไปรันบน Android ดูครับ

2016-07-07 00.41.18

 

เป็นไงบ้างครับ การเล่น Video ด้วยฟังชั่นก์นี้ จะเป็นการ Pause ตัวเกมไว้ด้านหลัง แล้วเมื่อวิดีโอเล่นจบ ก็จะกลับไปที่ตัวเกมแล้ว Resume เกมต่อนะครับ แล้วพบกับทิป Unity ดีๆได้อีกในโอกาสต่อไปครับ