สร้างเกม - Instantiate (Unity3D Thailand)

           สอน Unity3D การสร้าง object ด้วยคำสั่ง และกำหนด texture ด้วยคำสั่ง - บทความนี้มาดูวิธีการสร้าง Object ด้วยคำสั่งนะครับ และกำหนด texture ด้วยคำสั่ง สำหรับบทความนี้ก็เริ่มจะใช้คำสั่งกันแล้ว เป็นคำสั่งง่ายๆครับลองดูกันเลย มีทั้งวิดีโอและโค้ดตัวอย่างครับ กับ Unity3D Thailand (Thai Unity)


*** ถ้า Video ไม่ขึ้นตามไปที่ลิ่งได้เลยครับ http://youtu.be/-frbEJcPwRY





       
          จากรูปตัวอย่างโค้ดด้านบน เป็นตัวอย่างคำสั่งการสร้าง Object , การตั้งชื่อ Object และการกำหนด Texture คร้าวๆนะครับ คำสั่งที่ใช้สร้างคือ Instantiate นั้นเอง โดยใส่ Object ที่เราจะสร้าง พร้อมใส่ตำแหน่งที่จะให้ไปอยู่นั้นเอง ลองมาดูโค้ดกันที่ละบรรทัดกันเลยนะครับ

  • public GameObject helloObj; คือ การประกาศตัวแปร เป็นชนิด GameObject เป็นแบบ public โดยให้ชื่อว่า helloObj ซึ้งการประกาศเป็น public นั้นจะทำให้ helloObj สามารถกำหนดค่าโดยการลาก Object ต่างๆเข้ามาใส่ในตัวแปรนี้ได้ ในส่วนของ Unity (ไม่เข้าใจให้ดูที่วิดีโอครับ)
  • public Texture2D pic; คือ การประกาศตัวแปร เป็นชนิด Texture2D เป็นแบบ public โดยให้ชื่อว่า picซึ้งการประกาศเป็น public นั้นจะทำให้ pic สามารถกำหนดค่าโดยการลาก ไฟล์รูปภาพต่างๆเข้ามาใส่ในตัวแปรนี้ได้ ในส่วนของ Unity

          ต่อมาภายในส่วนของฟังชั่น Start() มีอยู่ 3 บรรทัดนะครับ ลองมาดูกันทีละบรรทัดเลยครับ

  • บรรทัดแรกนะครับ ประกาศตัวแปรชนิด GameObject ชื่อว่า obj หลังจากนั้นให้เท่ากับครับ คำสั่งต่อมาคือ Instantiate(?????) เป็นคำสั่งที่ใช้สร้าง Object ต่างๆครับ จะสร้างอะไรล่ะ มาดูในวงเล็บกันเลย อันแรก helloObj ก็คือ Object หรือวัตถุที่เราจะสร้างและได้ยัด Object เข้าไปไว้แล้ว (ไม่เข้าใจให้ไปดูวิดีโอครับ) อันที่สอง helloObj.tranform.position ก็คือการกดหนดตำแหน่งที่จะสร้างให้กับ helloObj ว่าจะวางไว้ตรงตำแหน่งไหน helloObj.tranform.rotation ก็คือการกำหนดมุมมองให้กับ helloObj นั้นเองครับ โดยทุกอย่างถูกโยนไปเก็บไว้ที่ตัวแปรที่ชื่อ obj ไว้หมดแล้ว
  • บรรทัดที่สอง ต่อมาเป็นการกำหนดชื่อให้กับ obj โดยใช้ obj.name = "ชื่อที่ต้องการ" ;
  • บรรทัดที่สาม สุดท้ายเป็นคำสั่งกำหนด Texture ให้กับ Object นั้นๆ โดยใช้ obj.renderer.material.mainTexture = pic ;  ซึ้ง pic ก็คือตัวแปรที่เราได้ยัดไฟล์รูปภาพให้กับมันไปแล้ว (ไม่เข้าใจดูวิดีโอครับ)

          ก็ทั้งหมดทั้งมวลข้างบนก็เป็นวิธีการใช้คำสั่งที่ใช้กันบ่อยในการที่เราจะทำเกมส์หรือสร้างเกมส์ใน Unity นะครับ ซึ่งก็สามารถไปประยุกต์ใช้ได้อีกต่อไป ก็หวังว่าข้อมูลนี้จะมีประโยชน์กับเพื่อนๆนะครับ เจอกันบทความต่อไปครับ ^_^

สามารถอ่านบทความที่เกี่ยวข้องของเราที่นี่  >> รวมลิ้งค์บทความ สร้างเกมด้วย Unity

7 ความคิดเห็น:

  1. ไม่ระบุชื่อ7 ธันวาคม 2557 เวลา 15:11

    ดีคับ

    ตอบลบ
  2. ไม่ระบุชื่อ7 ธันวาคม 2557 เวลา 15:15

    เอาอีกเยอะๆเลย

    ตอบลบ
  3. ขออนุญาติเพิ่มเติมเล็กน้อยครับ Unity V.5.0 เปลี่ยนคำสั่งนิดหน่อยครับ
    จาก
    obj.renderer.material.mainTexture = pic
    มาเป็น
    obj.GetComponent().material.mainTexture = pic;

    ตอบลบ
  4. ไม่ระบุชื่อ17 มีนาคม 2559 เวลา 15:15

    V.5.3 เปลี่ยนเป็น
    obj.GetComponent().material.mainTexture = pic;

    ตอบลบ
  5. งงครับ ผมลองใช้ คำสั่ง obj.GetComponent() แต่มันไม่มี .material ให้ ไม่ทราบว่าผิดตรงไหนหรอครับ ขอบคุณครับ

    ตอบลบ
    คำตอบ
    1. ไม่ระบุชื่อ17 มีนาคม 2560 เวลา 14:38

      ติดเหมือนกันครับ

      ลบ
  6. ไม่ระบุชื่อ28 มีนาคม 2560 เวลา 11:40

    V.5.5 เปลี่ยนเป็น
    obj.GetComponent().material.mainTexture = pic;

    ตอบลบ

ขับเคลื่อนโดย Blogger.