วันอังคารที่ 21 สิงหาคม พ.ศ. 2561

Vuforia + Unity Tutorial Part 1 : ลองซนกับ Vuforia! (Fail)

จากบทความ https://www.instructables.com/id/How-to-Markerless-GPS-Based-Augmented-Reality/

     เนื้อหาในบทความจะเป็นการสอนเกี่ยวกับการทำ AR โดยใช้ระบบ GPS ซึ่งในบทความจะอธิบายค่อนข้างละเอียดซึ่งบทความคาดว่าน่าจะเขียนมาประมาณ 1 ปีกว่าๆ โดยจะเป็นการสอนการใช้โปรแกรม Unity 3D กับ SDK ของ Vuforia โดยในบทความจะมีอธิบายทั้งแบบลายลักษณ์อักษร และแบบคลิปวิดิโอ ซึ่งผมก็ได้ลองทำตามดู แต่ก็ยังไม่ประสบผลสำเร็จเหมือนกับตัวอย่าง โดยสิ่งที่ผมจะพูดถึงในโพสต์นี้ก็คือ

1. สิ่งที่ผมได้เรียนรู้

การใช้โปรแกรม Unity ขั้นพื้นฐาน ( พื้นฐานมากๆ ) ในที่นี้หมายถึง

    1.1) การสร้างโปรเจคท์ใหม่ การเปิดโปรเจคท์เก่า การ save scene ต่างๆ
    1.2) การ import ตัวเครื่องมือต่างๆ ในที่นี้คือการ import sdk ของ vuforia
    1.3) การตั้งค่าตัว object การปรับขนาด การเปลี่ยนตำแหน่งต่างๆ


    1.4) การตั้งค่า AR Camera ซึ่งจะเป็นตัวแทนสำหรับตัวกล้องของอุปกรณ์ในที่นี้จะเป็นแทนตัวกล้องโทรศัพท์นั้นเองซึ่งจะต้องมีการใส่ License ซึ่งจะต้องไปเอาจากในเว็บของ Vuforia โดยตรง


    1.6) การสร้าง App License บนเว็บ Vuforia จำเป็นที่จะต้องสร้างเพื่อที่จะสามารถใช้งาน ARCamera ใน Unity 3D ได้


    เพิ่มเติมเล็กน้อยนะครับ ในส่วนของที่มีปุ่ม Get กับ Buy มันจะแตกต่างกันที่ขีดจำกัดของตัว App ครับ ถ้าเรากด Get เราจะได้มาเป็น Key ฟรีครับ ซึ่งจะสามารถใช้งานได้ตามสเปคดังรูปด้านล่างครับผม 




    1.5) การสร้าง Text, Image หรือ UI ต่างๆใน Unity 3D


    1.6) การสร้าง Script ให้กับตัวโมเดล ในรูปตัวอย่างด้านล่างจะเป็นการสร้าง Script ให้กับตัวโมเดล UFO ที่เราโหลดมาใช้กับ Tutorial นี้ครับโดยเราจะเขียนเป็นในภาษา C# ซึ่งทางผู้เขียนบทความเองนั้นก็ได้ให้ Source Code เรามา



    1.7) การตั้งค่า Build Setting ครับส่วนนี้ถือเป็นส่วนสำคัญในการทำงาน เพราะว่าเราจะต้องเลือก Platform ที่เราต้องการจะ Build out (เหมือนกับสร้างไว้ใช้กับ Platform นั้นๆ)  อย่างในตัวอย่างจะเป็นการ Build out ในระบบ Android


    ซึ่งในส่วนนี้จะไม่ได้แค่สามารถเลือก Platform ได้เท่านั้นถ้าหากเราเลือกที่ปุ่ม Player Setting นั้นจะสามารถตั้งค่าได้อีกเช่น ชื่อ Application, Icon ของ Application รวมถึงคุณสมบัติอื่นๆมากมาย ตามรูปด้านล่าง



รูปตัวอย่างจะเป็นส่วนนึงของการตั้งค่า จะมีการเลือกเวอร์ชั่น Script ที่ใช้ ชื่อ Package ขั้นต่ำของเวอร์ชั่น Andriod ฯลฯ

    1.8) เกือบลืมประเด็นสำคัญไปครับ ว่าก่อนที่เราจะใช้งาน SDK ของ Vuforia นั้นเราจะต้องไปตั้งค่าก่อนว่าให้ตัวโปรเจคท์นี้มัน Support กับ Vuforia ซึ่งจะอยู่ใน Player Setting ไม่งั้นเราจะไม่สามารถตั้งค่าใดๆเกี่ยวกับ AR Camera ได้เลย



2. ปัญหาที่พบ

    2.1) เวอร์ชั่นของ Vuforia ที่โหลดมาในตอนแรกใช้ไม่ได้กับเวอร์ชั่น Unity 3D ซึ่งในคลิปวิดิโอกับบทความจะเป็นเวอร์ชั่นที่เก่ากว่าซึ่งในข้อนี้ผมก็ไม่ได้ Capture รูปภาพไว้ครับขออภัยด้วยครับ ซึ่งวิธีแก้นั้นก็ง่ายมากเพราะ Unity 3D จะขึ้นข้อความมาว่าให้ไปดาว์นโหลดเวอร์ชั่นนี้นะ แล้วสามารถที่จะกด Link ไปที่หน้าโหลดได้เลย

    2.2) หลังจากที่เจอปัญหาในข้อที่ 2.1) ไปแล้วก็ได้ทำตาม Tutorial ไปอย่างง่ายสบายมาก โดยไม่พบปัญหาใดๆ จนมาเจอกับปัญหาที่ 2.2) ซึ่งเป็นปัญหาใหญ่นั้นคือไฟล์ Script ที่เอาไว้สำหรับใช้กับโมเดล UFO นั้นมีปัญหาไม่สามารถ Compile ได้ซึ่งในขณะที่ผมกำลังเขียนบล็อกอยู่นี้ ผมก็ยังไม่สามารถแก้ไขได้ แต่ตัดสินใจมาเขียนบล็อกรายงานก่อนครับ โดยโค้ดส่วนที่มีปัญหามีดังนี้


    ส่วนที่มีปัญหาคือคำสั่ง GetComponent() เหมือนจะทำงานไม่ได้ ผมคิดว่าน่าจะมีการเปลี่ยนแปลงวิธีการใช้งานคำสั่งเนื่องจากบทความนี้ถูกจัดทำขึ้นเมื่อ 1 ปี ที่แล้วซึ่งก็มีคนติดปัญหาเช่นเดียวกับผม และได้โพสต์ไปที่บทความนี้ครับ


    ซึ่งก่อนที่ผมจะมาเขียนโพสต์นี้ผมก็ได้ลองไปหาข้อมูลมาดูแล้ว แต่ว่ายังไม่สามารถแก้ไขปัญหานี้ได้ คาดว่าจะลองศึกษาต่อไปเรื่อยๆ เพื่อที่จะทำ Tutorial นี้ให้เสร็จครับผม

    ในบทความนั้นได้มีโปรไฟล์ของผู้จัดทำอยู่ซึ่งเขามี Channel Youtube ซึ่งเขาได้อัพโหลดวิดิโอสอนเกี่ยวกับ AR ไว้เป็นจำนวนมาก และเป็นวิดิโอที่ใหม่กว่าในบทความที่ผมอ่าน เพราะฉะนั้นผมจึงคิดว่าก็น่าจะเป็นเรื่องที่ดีที่จะไปลองทำตามในวิดิโอเหล่านั้นเพื่อศึกษา Concept หรือ แนวคิดในการสร้าง AR ครับผม




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










ไม่มีความคิดเห็น:

แสดงความคิดเห็น