# data[].attributes.headline
สร้างเกมส์ #1 - ดูเรื่องของ 3D Text, Prefab ,การสั่นด้วย iTween และการ AddForce

# data[].attributes.subject
สร้างเกมส์ #1 - ดูเรื่องของ 3D Text, Prefab ,การสั่นด้วย iTween และการ AddForce

# data[].attributes.attachment_link.readable_text
สอน Unity 3D ดูเรื่องของ 3D Text, Prefab ,การสั่นด้วย iTween และการ AddForce บทความนี้ จะมาลองเริ่มสร้างเกมส์เล็กๆกันสักเกมส์กับตอนแรกของเกมส์นี้นะครับ ในตัวอย่างจะพูดถึงเรื่องการใช้งาน 3DText ก็คือตัวอักษรนั้นเองครับ ว่าปรับขนาดยังไง แล้วก็เรื่องของ Prefab วิธีการปรับไม่ให้เป็น Prefab อีกยังไง แล้วก็เรื่องการทำให้วัตถุสั่นด้วย iTween และสุดท้ายการ AddForce ครับ ก็ไปชมวิดีโอตัวอย่างกันเลย

จากรูปภาพตัวอย่างข้างบน ก็เป็นสคลิป การสั่นวัตถุด้วย iTween ก็เป็นสิ่งที่สนใจที่สามารถไปนำไปปรับใช้ในเกมส์ต่างๆได้เลยนะครับ โดยใช้ ShakeRotation ครับ อยากจะให้สั่นมากสั่นน้อย เราก็ไปปรับตรงแกน x,y,z มันได้เลยครับ ซึ้งก็มีการใส่ oncomplete เข้าไปด้วยว่า เมื่อสั่นเสร็จแล้วก็ให้เรียกฟังชั่นที่ชื่อว่า changeScene ซึ้งในฟังชั่นก็แค่ Debug.log แสดงเลข 1 ให้ดูเฉยๆครับ

จากรูปภาพตัวอย่างข้างบน ก็เป็นสคลิป ที่ใส่ไว้ใน Object ที่มี Component ที่ชื่อว่า rigibody อยู่ครับ โดยสคลิปนี้ ทำการเช็คคลิกซ้ายว่า ถ้าเมื่อคลิกเมื่อไหร่แล้ว ให้ทำการ AddForce ในส่วนของแกน y ไป 20 ซึ้งเจ้าตัวของ rigibody ถ้าเราใส่ในวัตถุอันไหน มันก็จะมีแรงโน้มถ่วงเกิดมา ทำให้วัตถุนั้นตกลงไปเรื่อยๆ เราจึงใช้คำสั่งนี้ สู้แรงของ rigibody ไม่ให้มันตกลงไปนั้นเอง

เอาละครับ พอจะเห็นแนวเกมส์แล้วใช่มั๊ยครับ ก็บทความต่อไปเนื้อหาก็จะต่อกับบทความนี้นะครับ

-Tip prefab คือ การที่เราได้สร้าง object สำเร็จรูป เตรียมเอาไว้ ใน Project และ เมื่อเราต้องการใช้งานเมื่อไหร่ เราก็แค่ลากมันเข้าไปวางใน Hierachy นั้นเอง แต่ถ้าเราจะใช้มันตอนที่เกมมันเล่นอยู่ เราก็แค่ใช้ คำสั่ง instantiate("prefab xxx",transform, quaternion); เพื่อสร้างมันขึ้นมา

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - Game Project #1 (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D ดูเรื่องของ 3D Text, Prefab ,การสั่นด้วย iTween และการ AddForce บทความนี้ จะมาลองเริ่มสร้างเกมส์เล็กๆกันสักเกมส์กับตอนแรกของเกมส์นี้นะครับ ในตัวอย่างจะพูดถึงเรื่องการใช้งาน 3DText ก็คือตัวอักษรนั้นเองครับ ว่าปรับขนาดยังไง แล้วก็เรื่องของ Prefab วิธีการปรับไม่ให้เป็น Prefab อีกยังไง แล้วก็เรื่องการทำให้วัตถุสั่นด้วย iTween และสุดท้ายการ AddForce ครับ ก็ไปชมวิดีโอตัวอย่างกันเลย จากรูปภาพตัวอย่างข้างบน ก็เป็นสคลิป การสั่นวัตถุด้วย iTween ก็เป็นสิ่งที่สนใจที่สามารถไปนำไปปรับใช้ในเกมส์ต่างๆได้เลยนะครับ โดยใช้ ShakeRotation ครับ อยากจะให้สั่นมากสั่นน้อย เราก็ไปปรับตรงแกน x,y,z มันได้เลยครับ ซึ้งก็มีการใส่ oncomplete เข้าไปด้วยว่า เมื่อสั่นเสร็จแล้วก็ให้เรียกฟังชั่นที่ชื่อว่า changeScene ซึ้งในฟังชั่นก็แค่ Debug.log แสดงเลข 1 ให้ดูเฉยๆครับ

# data[].attributes.headline
สอน Unity - จัดให้ 2 วิธี การส่งค่าข้ามซีน

# data[].attributes.subject
สอน Unity - จัดให้ 2 วิธี การส่งค่าข้ามซีน

# data[].attributes.attachment_link.readable_text
สอน Unity 3D จัดให้ 2 วิธี การส่งค่าข้ามซีน - สำหรับบทความนี้มาดูการส่งค่าข้ามซีน ซึ้งผมก็นำตัวอย่างมาไว้ให้ดูกัน 2 วิธีเลยนะครับ ซึ้งวิธีแรกคือการใช้คำสั่ง PlayerPrefs ในการกำหนดค่าโดยใช้ Set และวิธีการเรียกใช้โดยใช้ Get ครับ

คลิปไม่ขึ้นไปตามลิ้งครับ >> http://youtu.be/57wdzXrPOMA

ในซีนแรกจะเห็นว่าผมใช้ PlayerPrefs.SetString("myName","david"); ในการกำหนดค่า

ก่อนที่จะทำการเปลี่ยนซีนไปยังซีนที่ระบุไว้

จากนั้นในฟังชั่น Start() ของซีนที่สอง ให้ Debug เพื่อที่จะดูค่า myName โดยใช้คำสั่ง

PlayerPrefs.GetString("myName");

จากนั้นก็ใช้คำสั่ง PlayerPrefs.DeleteKey("myName"); เพื่อลบความจำของ key นั้นทิ้งไป

คำสั่งที่ใช้บ่อยๆของ PlayerPrefs มีดังนี้

- PlayerPrefs.DeleteAll();
- PlayerPrefs.DeleteKey("key");
- PlayerPrefs.SetFloat("key", 0.0f);
- PlayerPrefs.SetInt("key", 10);
- PlayerPrefs.SetString("key","value");
- PlayerPrefs.GetFloat("key");
- PlayerPrefs.GetInt("key");
- PlayerPrefs.GetString("key");

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

ซึ้งวิธีนี้ก็เป็นเทคนิคการใช้คำสั่ง
GameObject.Find("name object").GetComponent<sciptObject>().myValiable
เพื่อเรียกใช้ค่าตัวแปรที่อยู่ ใน object ที่เราระบุ พร้อม script ที่เราระบุด้วยครับ

ก็หวังอย่างยิ่งว่าบทความนี้จะประโยชน์กับทุกท่านครับ

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - scene to scene (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D จัดให้ 2 วิธี การส่งค่าข้ามซีน - สำหรับบทความนี้มาดูการส่งค่าข้ามซีน ซึ้งผมก็นำตัวอย่างมาไว้ให้ดูกัน 2 วิธีเลยนะครับ ซึ้งวิธีแรกคือการใช้คำสั่ง PlayerPrefs ในการกำหนดค่าโดยใช้ Set และวิธีการเรียกใช้โดยใช้ Get ครับ คลิปไม่ขึ้นไปตามลิ้งครับ >> http://youtu.be/57wdzXrPOMA ในซีนแรกจะเห็นว่าผมใช้ PlayerPrefs.SetString("myName","david"); ในการกำหนดค่า ก่อนที่จะทำการเปลี่ยนซีนไปยังซีนที่ระบุไว้ จากนั้นในฟังชั่น Start() ของซีนที่สอง ให้ Debug เพื่อที่จะดูค่า myName โดยใช้คำสั่ง PlayerPrefs.GetString("myName"); จากนั้นก็ใช้คำสั่ง PlayerPrefs.DeleteKey("myName"); เพื่อลบความจำของ key นั้นทิ้งไป คำสั่งที่ใช้บ่อยๆของ PlayerPrefs มีดังนี้ - PlayerPrefs.DeleteAll(); - PlayerPrefs.DeleteKey("key"); - PlayerPrefs.SetFloat("key", 0.0f); - PlayerPrefs.SetInt("key", 10); - PlayerPrefs.SetString("key","value"); - PlayerPrefs.GetFloat("key"); - PlayerPrefs.GetInt("key"); - PlayerPrefs.GetString("key"); ส่วนวิธีที่สองในการส่งค่าข้ามซีน โดยใช้เทคนิค DontDestroyOnLoad ก็ทำตามคลิปได้เลย ซึ้งต้องขอแนะนำให้ใช้วิธีในหน้าซีนแรก ที่เป็นซีนโหลดเกมก่อนที่จะไปหน้าเมนู หรือเป็นซีนที่โหลดทีเดียวครับ เพื่อหลีกเหลี่ยงการสร้าง Object นั้นซ้ำๆเวลากลับมาซีนของตัวเองครับ ซึ้งวิธีนี้ก็เป็นเทคนิคการใช้คำสั่ง GameObject.Find("name object").GetComponent ().myValiable เพื่อเรียกใช้ค่าตัวแปรที่อยู่ ใน object ที่เราระบุ พร้อม script ที่เราระบุด้วยครับ ก็หวังอย่างยิ่งว่าบทความนี้จะประโยชน์กับทุกท่านครับ

# data[].attributes.headline
สอน Unity - unity game design ( Thai Unity )

# data[].attributes.subject
สอน Unity - unity game design ( Thai Unity )

# data[].attributes.attachment_link.readable_text
สอน Unity 3D unity game design - สำหรับบทความนี้ (unity game design) ลองมาสร้างโลกของเกมกันเล่นๆดูครับ อยากออกแบบเกมแบบไหน ออกแบบเกมในแบบของเพื่อนๆกัน

ครับผมก็ไม่ยากอย่างที่คิด อยู่ที่จินตนาการและความสามารถของเพื่อนๆกันแล้วว่า ใครจะมีความคิดสร้างสรรค์ได้ดีกว่ากันนะครับ ส่วนในตัวอย่างของผมก็บอกเลยว่าไม่ได้คิดอะไรเลยนะครับ ฮ่าๆๆ ก็ลองไปชมคลิปวิดีโอตัวอย่างกันเลยดีกว่าครับ

ก็หวังว่าบทความนี้จะมีประโยชน์นะครับ ลองไปเล่นกันต่อดูนะครับ ก็สำหรับพวกต้นไม่ หญ้า และพื้น ต่างๆ ถ้าไม่ได้ทำเอง ก็ไปโหลดเอาที่ Asset Store ในแถบเมนู Window ด้านบนนะครับ สมัครฟรี แล้วก็ลงชื่อเข้าใช้ได้เลยนะครับ ของฟรีก็มีให้โหลดมาลองเยอะครับ ไม่ฟรีก็มีเหมือนกันครับ

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - ออกแบบเกมส์กัน unity game design (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D unity game design - สำหรับบทความนี้ (unity game design) ลองมาสร้างโลกของเกมกันเล่นๆดูครับ อยากออกแบบเกมแบบไหน ออกแบบเกมในแบบของเพื่อนๆกัน ครับผมก็ไม่ยากอย่างที่คิด อยู่ที่จินตนาการและความสามารถของเพื่อนๆกันแล้วว่า ใครจะมีความคิดสร้างสรรค์ได้ดีกว่ากันนะครับ ส่วนในตัวอย่างของผมก็บอกเลยว่าไม่ได้คิดอะไรเลยนะครับ ฮ่าๆๆ ก็ลองไปชมคลิปวิดีโอตัวอย่างกันเลยดีกว่าครับ ก็หวังว่าบทความนี้จะมีประโยชน์นะครับ ลองไปเล่นกันต่อดูนะครับ ก็สำหรับพวกต้นไม่ หญ้า และพื้น ต่างๆ ถ้าไม่ได้ทำเอง ก็ไปโหลดเอาที่ Asset Store ในแถบเมนู Window ด้านบนนะครับ สมัครฟรี แล้วก็ลงชื่อเข้าใช้ได้เลยนะครับ ของฟรีก็มีให้โหลดมาลองเยอะครับ ไม่ฟรีก็มีเหมือนกันครับ

# data[].attributes.attachment_link.readable_text
สอน Unity 3D 1 ในเทคนิคการ run sprite - บทความนี้ มาดู 1 ในเทคนิคการ run sprite ซึ้งแน่นอน การ run sprite นั้น มีหลายเทคนิคหลายวิธีการตามที่โปรแกรมเมอร์หลายๆท่านถนัดต่างกันไปครับ วิธีต่อไปนี้ก็เป็นเพียงเทคนิคง่ายๆอีกหนึ่งเทคนิคครับ ก็ไปชมคลิปกันเลย

ในตัวอย่างก็เป็นการใช้ประโยชน์จาก ฟังชั่นที่เป็นแบบ IEnumerator เพื่อจะให้รอที่จะเปลี่ยน Texture เป็นอีกรูปหนึ่งนั้นเอง แล้วก็วน loop ในการวนเปลี่ยนรูปไปเรื่อยๆเพียงเท่านั้นครับ

ลองมาไล่โค้ดกันดูทีละบรรทัดกันเลยนะครับ ตามรูปภาพโด้ดด้านบนนะครับ

public Texture2D[] pic = new Texture2D[5]; เป็นการประกาศตัวแปรชนิด Texture2D เป็นแบบ array 2 มิติ จำนวน 5 ชื่อว่า pic เป็น public ใน Unity ก็ให้เราเลือกรูปที่จะใช้มา 5 รูป แล้วก็ลากมาใส่ตัวแปรนี้ครับ

StartCoroutine(runSprite()); เรียกฟังชั่นที่ว่า runSprite() ครับ

ภายในฟังชั่น runSprite()

int i=0; ประกาศ i ให้มีค่าเท่ากับ 0 ครับ

while (true) ให้วนไปเรื่อยๆครับ

yield return new WiatForSecond(0.5f) ให้หน่วงเวลาครี่งวินาทีครับ เพื่อไม่ให้ Unity ค้างครับ

ให้ i++ คือเพิ่มค่า i นั้นเเอง

if (i==5) คือเซ็คว่าถ้าเท่ากับ 5 แล้วให้เริ่มเป็น 0 ใหม่ครับ

gaemObject,GetComponent<renderer>().material,mainTexture = pic[i]; เป็นการกำหนด texture ให้กับ Object ตามรูปที่ตัว pic[i] ซึ้งก็จะเปลี่ยนรูปไปเรื่อยตามตัวแปร i ครับ

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

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - run sprite (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D 1 ในเทคนิคการ run sprite - บทความนี้ มาดู 1 ในเทคนิคการ run sprite ซึ้งแน่นอน การ run sprite นั้น มีหลายเทคนิคหลายวิธีการตามที่โปรแกรมเมอร์หลายๆท่านถนัดต่างกันไปครับ วิธีต่อไปนี้ก็เป็นเพียงเทคนิคง่ายๆอีกหนึ่งเทคนิคครับ ก็ไปชมคลิปกันเลย ในตัวอย่างก็เป็นการใช้ประโยชน์จาก ฟังชั่นที่เป็นแบบ IEnumerator เพื่อจะให้รอที่จะเปลี่ยน Texture เป็นอีกรูปหนึ่งนั้นเอง แล้วก็วน loop ในการวนเปลี่ยนรูปไปเรื่อยๆเพียงเท่านั้นครับ ลองมาไล่โค้ดกันดูทีละบรรทัดกันเลยนะครับ ตามรูปภาพโด้ดด้านบนนะครับ public Texture2D[] pic = new Texture2D[5]; เป็นการประกาศตัวแปรชนิด Texture2D เป็นแบบ array 2 มิติ จำนวน 5 ชื่อว่า pic เป็น

# data[].attributes.headline
สอน Unity - เรื่องของ void และ IEnumerator

# data[].attributes.subject
สอน Unity - เรื่องของ void และ IEnumerator

# data[].attributes.attachment_link.readable_text
สอน Unity 3D คำสั่ง click ที่วัตถุหรือ Object และคำสั่งเปลี่ยน scene- บทความนี้พูดถึงการใช้คำสั่งคลิก หรือฟังชั่น OnMouseDown() นั้นเอง เราจะใส่ Void หรือ IEnumerator ก็ได้นะครับ แต่ในวิดีโอเป็น IEnumerator ครับ สำหรับ IEnumerator เป็นฟังชั่นที่ต้อง return ค่า ที่จะใช้หน่วงเวลานั้น แต่ถ้าใส่ void ก็ไม่จำเป็นต้อง return ค่านะครับ ลองกันดูครับ กับ Unity3D Thailand (Thai Unity)
ตัวอย่างการคลิกไปยัง object นั้นๆนะครับ ลองดูกันนะครับ ^_^

** ถ้าคลิปไม่ขึ้นไปตามลิ้งเลยครับ http://youtu.be/ZUkE5QdQBzc

ก็ภายในตัวอย่างวิดีโอก็เป็นการใช้ คำสั่ง click ที่วัตถุหรือ Object และคำสั่งเปลี่ยน scene ครับ หลังจากที่เราสร้าง scene ขึ้นมาเพิ่มเป็น 2 scene แล้ว เราก็ไปทำการ เพิ่มซีนเข้าไปใน Build Setting โดยไปที่ File เลือก Build Setting แล้วก็ลากซีนมาไว้ข้างในส่วนของ scene in build ตามรูปด้านล่างแล้วกดปิดไปครับ

จากรูปด้านบนจะเห็นว่ามี scene2 เพิ่มเข้ามาเป็นสอน scene นะครับ และตัวเลขด้านขวาที่มี 0 กับ 1 นั้นก็เป็น index ของ scene นั้นๆ ซึ้งสามารถนำไปเรียกใช้ตอนเขียนโค้ดได้ครับ ถ้าเราต้องการให้ scene1 เป็น index ที่ 0 เราก็สามารถเปลี่ยนได้โดยการลากมันเลื่อนขึ้นไปนะครับ หรือถ้าต้องการลบซีนออก ก็สามารถลบได้ โดยการคลิกเลือกแล้วกดปุ้ม delete ได้เลยครับ

รูปด้านบนก็เป็นตัวอย่างโค้ดคร้าวๆครับ โดยใช้คำสั่ง Application.LoadLevel("ระบุชื่อซีน"); ซึ้งจำเป็นต้อง add ซีนเข้าไปไว้ใน scene in build เสียก่อนตามรูปด้านล่างครับ ส่วนเราอยากคลิกที่ Object ไหน เราก็ใส่คลิปที่เรามีฟังชั่น OnMouseDown() เข้าไปใน Object นั้นๆครับ ซึ้งไม่ได้มีแค่ OnMouseDown() ครับ ยังมีอื่นๆอีกเช่น OnMouse() , OnMouseUp() เป็นต้นครับ

ลองมาไล่โค้ดดูทีละบรรทัดกันเลยครับ

บรรทัดแรก IEnumerator OnMouseDown() {} - IEnumerator จะคล้ายๆกับ void อย่างที่บอกไปตอนต้นบทความครับ ที่บอกว่า IEnumerator เป็นฟังชั่นที่ต้อง return ค่า ที่จะใช้หน่วงเวลานั้น แต่ถ้าใส่ void ก็ไม่จำเป็นต้อง return ค่า ส่วน OnMouseDown() นั้นเป็นชื่อฟังชั่นที่ตายตัวครับ ไม่ได้เป็นชื่อฟังชั่นที่เราเรียกมาเอง คือเป็นฟังชั่นเฉพาะนั้นเองครับ ฟังชั่น OnMouseDown() เป็นฟังชั่นที่คอยตรวจสอบการคลิกนั้นเองครับ ซึ่งถ้าคำสั่ง อยู่ในสคริปที่ยัดไว้ใน Object ตัวไหน เมื่อเราคลิกที่ Object ตัวนั้น การทำงานก็จะเข้าทำภายในฟังชั่น OnMouseDown() นั้นเองครับ ซึ้งเราสามารถใช้ void ก็ได้ แต่ในตัวอย่างอยากลองยกตัวอย่าง IEnumerator มาให้รู้จักกันเพียงเท่านั้นเองครับ

บรรทัดสอง yield return new WaitForSeconds(0f); - เป็นคำสั่งที่จะ return ค่าที่เราได้หน่วงเวลาไว้เป็นวินาที ในวงเล็บจะเห็นว่าเป็น 0f ก็คือไม่ได้หน่วงเวลาเลยนั้นเองครับ ซึ่งพอเป็นฟังชั่นแบบ IEnumerator แบบนี้ก็จำเป็นต้องมีบรรทัด return ค่าบรรทัดไว้ในฟังชั่นทุกครั้ง ซึ้งเอาไว้บรรทัดไหนก็ได้แล้วแต่เราจะไปปรับใช้นะครับ

บรรทัดสาม - ก็เป็นการแสดงผลธรรมดาเหมือนในบทความก่อนหน้านี้ครับ

บรรทัดสี่ - Application.LoadLevel("scene2"); - เป็นคำสั่งเป็น scene นั้นเองครับ ซึ่งในวงเล็บสามารถที่จะใช้เป็น string โดยใส่ชื่อ "scene2" หรือใช้เป็น index ก็ได้โดยในวงเล็บก็ใส่ 0 หรือ 1 ... ก็ได้ครับ ตามรูปแรก

- บทความนี้ มาดูการใช้งาน IEnumerator ที่เมื่อเราประกาศฟังชั่นเป็นแบบนี้ ก็ต้องใช้คำสั่งรีเทิร์นค่าที่เป็นการหน่วงเวลาไว้ภายในฟังชั่นที่เป็น IEnumerator นี้ด้วยครับ

ข้างล่างนี้เป็นรูปแบบการเรียกใช้และประกาศฟังชั่นแบบ void ที่เราใช้กันบ่อยๆ ภายในฟังชั่น มีการ Debug.log เพื่อให้แสดงผลว่า
"hi"
"david"

เพียงเท่านี้เราก็จะได้การคลิกที่ Object และการเปลี่ยน scene ไปทั้งสองอย่างหวังว่าจะเป็นประโยชน์กับเพื่อนๆนะครับ

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - OnMouseDown and void/IEnumeretor (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D คำสั่ง click ที่วัตถุหรือ Object และคำสั่งเปลี่ยน scene- บทความนี้พูดถึงการใช้คำสั่งคลิก หรือฟังชั่น OnMouseDown() นั้นเอง เราจะใส่ Void หรือ IEnumerator ก็ได้นะครับ แต่ในวิดีโอเป็น IEnumerator ครับ สำหรับ IEnumerator เป็นฟังชั่นที่ต้อง return ค่า ที่จะใช้หน่วงเวลานั้น แต่ถ้าใส่ void ก็ไม่จำเป็นต้อง return ค่านะครับ ลองกันดูครับ กับ Unity3D Thailand (Thai Unity) ตัวอย่างการคลิกไปยัง object นั้นๆนะครับ ลองดูกันนะครับ ^_^ ** ถ้าคลิปไม่ขึ้นไปตามลิ้งเลยครับ http://youtu.be/ZUkE5QdQBzc ก็ภายในตัวอย่างวิดีโอก็เป็นการใช้ คำสั่ง click ที่วัตถุหรือ

# data[].attributes.headline
สอน Unity - เรื่องของ RPC โหมด

# data[].attributes.subject
สอน Unity - เรื่องของ RPC โหมด

# data[].attributes.attachment_link.readable_text
สอน Unity 3D server และ client แถม RPC ให้นิดๆหน่อยๆ - บทความนี้เกี่ยวกับเรื่องของ server และ client ครับ จะมาบอกวิธีการสร้างเกม server แล้วจะให้ client เชื่อมต่อไปยัง server ยังไงนะครับ สำหรับ Unity แล้วก็ดูฟังชั่นที่ใช้งานร่วมกันบ่อยๆนั้นมีอะไรบ้างนะครับ
ส่วนเรื่อง RPC ก็เป็นตัวอย่างนิดเดียวเท่านั้นนะครับ เดี๋ยวบทความต่อไปจะขยายความเรื่องของ RPC ให้มากกว่านี้ครับ ก็เดี๋ยวไปชมวิดีโอกันก่อนเลยครับ

โค้ดตัวอย่างของ server ครับ ก็มีคำสั่ง Network.InitializeServer(); ที่เป็นคำสั่ง start server นั้นเองครับ แล้วก็มีฟังชั่นที่ใช้งานบ่อยๆอย่าง

OnserverIntialized() ที่ตรวจสอบว่า server ทำงานแล้ว

OnPlayerConnected() ที่ตรวจสอบว่ามีการเชื่อมต่อเข้ามาแล้ว

OnPlayerDisConnected() ก็ตรงตัวครับ คือยกเลิกการเชื่อต่อแล้ว

ก็จะทำอะไรภายในฟังชั่นนี้ๆก็แล้วแต่เราเลยครับ อย่างในตัวอย่างผมก็ Debug.log แสดงผลตามที่ผมต้องการครับ
ตัวอย่างโค้ด client ก็ไม่มีไรมากครับ คำสั่ง Network.Connect() ก็คือสั่งให้เชื่อมต่อไปยัง server ที่เราต้องการนั้นเอง โดยกำหนด ip และ port ที่ตามที่เครื่อง server ตั้งไว้ครับ

แล้วก็ Component ที่จำเป็นของเรื่องนี้ก็คือ Network View ครับ ตามรูปด้านล่างเลย

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

คำสั่งที่เอาไว้เรียกใช้ RPC ครับ

คือคำสั่ง networkView.RPC นั้นเองครับ ส่วนค่าข้างในมีอะไรบ้าง

อันแรกเป็นชื่อฟังชั่นที่เป็น RPC ของเรานั้นเองครับ ของผมเป็น myRPC ตามกรอบด้านล่างที่สร้างไว้

อันสองเป็นโหมดครับ มีโหมดอะไรบ้างมาดูกัน

RPCMode.All = ทำกับทังหมด

RPCMode.AllBuffered = ทำกับทั้งหมด รวมทั้งที่มาทีหลังด้วย ( ตัวอย่างเช่น ถ้าฟังชั่นนั้นเป็นฟังชั่นนับเวลา ก็จะเห็นเวลาเท่ากับของอันที่นับไปก่อนแล้ว )

RPCMode.Others = ทำกับทั้งหมด ยกเว้นตัวเอง

RPCMode.OthersBuffered = ทำกับทั้งหมด ยกเว้นตัวเอง รวมทั้งที่มาทีหลังด้วย (คล้ายๆ AllBuffered )

RPCMode.Server = ทำเฉพาะกับ Server

อันสุดท้ายก็เป็น parameter มีกี่ค่าก็ใช้เครื่องหมาย "," คั่นไปเรื่อยครับ

_____________________________________

_____________________________________

สำหรับบทความนี้ก็สั้นๆง่ายๆครับขอบคุณที่ตามอ่านกันครับ

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - server/client and RPC (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D server และ client แถม RPC ให้นิดๆหน่อยๆ - บทความนี้เกี่ยวกับเรื่องของ server และ client ครับ จะมาบอกวิธีการสร้างเกม server แล้วจะให้ client เชื่อมต่อไปยัง server ยังไงนะครับ สำหรับ Unity แล้วก็ดูฟังชั่นที่ใช้งานร่วมกันบ่อยๆนั้นมีอะไรบ้างนะครับ ส่วนเรื่อง RPC ก็เป็นตัวอย่างนิดเดียวเท่านั้นนะครับ เดี๋ยวบทความต่อไปจะขยายความเรื่องของ RPC ให้มากกว่านี้ครับ ก็เดี๋ยวไปชมวิดีโอกันก่อนเลยครับ โค้ดตัวอย่างของ server ครับ ก็มีคำสั่ง Network.InitializeServer(); ที่เป็นคำสั่ง start server นั้นเองครับ แล้วก็มีฟังชั่นที่ใช้งานบ่อยๆอย่าง OnserverIntialized() ที่ตรวจสอบว่า server ทำงานแล้ว OnPlayerConnected() ที่ตรวจสอบว่ามีการเชื่อมต่อเข้ามาแล้ว OnPlayerDisConnected() ก็ตรงตัวครับ

# data[].attributes.headline
สอน Unity - server และ client แถม RPC ให้นิดๆหน่อยๆ

# data[].attributes.subject
สอน Unity - server และ client แถม RPC ให้นิดๆหน่อยๆ

# data[].attributes.headline
สอน Unity - เรียกใช้ตัวแปรหรือฟังชั่นของอีก class (Thai Unity)

# data[].attributes.subject
สอน Unity - เรียกใช้ตัวแปรหรือฟังชั่นของอีก class (Thai Unity)

# data[].attributes.attachment_link.readable_text
สอน Unity 3D เรียกใช้ตัวแปรหรือฟังชั่นของอีก class - บทความนี้เกี่ยวกับการเรียกใช้ตัวแปรหรือฟังชั่นของอีก class ครับ โดยที่ class นั้นจะต้องประเป็น public static ตามด้วยชื่อ class แล้วก็ชื่อ instance ครับ เพื่อให้ class อื่นๆที่ต้องการเรียกใช้งานฟังชั่นหรือตัวแปรนั้นเห็นครับ ก็มาดูตัวอย่างจากวิดีโอกันก่อนเลยครับ

ตัวอย่างจากสคลิปในรูปด้านล่างนะครับ เป็นสคลิปชื่อว่า class1 เป็นการเรียกใช้ฟังชั่น helloword() ที่อยู่คนละสคลิปกัน และเรียกใช้ตัวแปร myText จาก class2 ครับ ที่อยู่คนละสคลิปเช่นกันครับ

ส่วนตัวอย่างในรูปด้านล่างเป็นสคลิป class2 ซึ้งถ้าอยากให้ class อื่นๆเห็น ก็ต้องประกาศคลาสในบรรทัดแรกเป็น public static class2 instance; ครับ แล้วก็ส่วนของตัวแปรก็ประกาศเป็น public ครับ ส่วนใน void Awake() เป็นฟังชั่นที่ทำงานก่อน void Start() นั้นเองครับ ซึ้งกำหนดค่าตัวแปรที่ชื่อ instance ให้มีค่าเท่ากับ this ครับ ส่วนตัวแปรหรือฟังชั่นไหนๆที่ต้องการให้เรียกใช้ก็ประกาศเป็น public ไว้เพียงเท่านั้นครับ

และทั้งหมดก็เป็นตัวอย่างการเรียกใช้ตัวแปรหรือฟังชั่นของอีก class แบบง่ายๆครับ ซึ้งตัวอย่างนี้ใช้งานกันบ่อยมากครับ

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.description
สอน Unity 3D เรียกใช้ตัวแปรหรือฟังชั่นของอีก class - บทความนี้เกี่ยวกับการเรียกใช้ตัวแปรหรือฟังชั่นของอีก class ครับ โดยที่ class นั้นจะต้องประเป็น public static ตามด้วยชื่อ class แล้วก็ชื่อ instance ครับ เพื่อให้ class อื่นๆที่ต้องการเรียกใช้งานฟังชั่นหรือตัวแปรนั้นเห็นครับ ก็มาดูตัวอย่างจากวิดีโอกันก่อนเลยครับ ตัวอย่างจากสคลิปในรูปด้านล่างนะครับ เป็นสคลิปชื่อว่า class1 เป็นการเรียกใช้ฟังชั่น helloword() ที่อยู่คนละสคลิปกัน และเรียกใช้ตัวแปร myText จาก class2 ครับ ที่อยู่คนละสคลิปเช่นกันครับ ส่วนตัวอย่างในรูปด้านล่างเป็นสคลิป class2 ซึ้งถ้าอยากให้ class อื่นๆเห็น ก็ต้องประกาศคลาสในบรรทัดแรกเป็น public static class2 instance; ครับ แล้วก็ส่วนของตัวแปรก็ประกาศเป็น public ครับ ส่วนใน void Awake() เป็นฟังชั่นที่ทำงานก่อน void Start() นั้นเองครับ ซึ้งกำหนดค่าตัวแปรที่ชื่อ instance ให้มีค่าเท่ากับ this ครับ ส่วนตัวแปรหรือฟังชั่นไหนๆที่ต้องการให้เรียกใช้ก็ประกาศเป็น public ไว้เพียงเท่านั้นครับ และทั้งหมดก็เป็นตัวอย่างการเรียกใช้ตัวแปรหรือฟังชั่นของอีก class แบบง่ายๆครับ ซึ้งตัวอย่างนี้ใช้งานกันบ่อยมากครับ

# data[].attributes.headline
สอน Unity - เรื่องของ Class ที่ชื่อว่า WWW แล้วแถม Database นิดๆหน่อย

# data[].attributes.subject
สอน Unity - เรื่องของ Class ที่ชื่อว่า WWW แล้วแถม Database นิดๆหน่อย

# data[].attributes.attachment_link.readable_text
สอน Unity 3D เรื่องของ Class ที่ชื่อว่า WWW แล้วแถม Database นิดๆหน่อยๆ - บทความนี้มาดูเรื่องของ Class ที่ชื่อว่า WWW ว่าทำงานกันยังไงนะครับ แล้วแถมเรื่อง Database ให้นิดๆหน่อย

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

ถ้าคลิปไม่ขึ้น ตามลิ้งครับ >> www.youtube.com/embed/IeU4nFH2UDc

ตัวอย่างโค้ดใน Unity ครับ

จากรูปภาพด้านบนจะสังเกตุเห็นว่า การประกาศฟังชั่นเป็น IEnumerator ไม่ใช่ void การเรียกใช้ฟังชั่นนั้นจึงต้องใช้คำสั่ง StartCoroutine(myMethod()); ในการเรียกใช้

ลองมาไล่โค้ดกันดูภายในฟังชั่น testWWW() ทีละบรรทัดกันนะครับ

WWWForm form = new WWWForm(); เป็นการประกาศตัวแปรชนิด WWWForm ชื่อว่า Form เป็นเหมือนคล้ายๆกับ patameter ครับ

form.AddField(???,???) เป็นการตั้งชื่อ index แล้วก็เก็บค่า ซึ้งสามารถมีกี่ index ก็ได้ ในตัวอย่างมี 3 อันครับ

WWW ww = new WWW(url,form); เป็นการประกาศตัวแปรชนิด WWW ชื่อว่า ww ซึ้งส่งตัว parametor ไปสองตัวครับ คือ url แล้วก็ form

yield return ww; เป็นการรอการติดต่อกันระหว่าง Unity กับเว็บที่เรากำหนดไว้ใน url ครับ

จากนั้นเช็คว่าสำเร็จหรือไม่ ถ้าไม่ให้เรียกอีกครั้ง แต่ถ้าสำเร็จแล้วให้แสดงค่าของ ww.text เราก็จะได้ค่าที่เราดึงมาจากเว็บครับ

ส่วนคลาส WWW ก็ใช้ควบคู่กันไปกับคลาส WWWForm เพื่อมีการส่งค่าไปยังเว็บไซต์ที่เราจะทำการเชื่อมต่อ

จากรูปด้านบนจะเห็นว่าเป็นโค้ดจาก asp.Net เป็นเว็บนั้นเองครับ ซึ้งจะเห็นในฟังชั่นของ pageLoad ซึ้งก็จะมีการเช็คเหงือนไข if else ว่าเป็นการ run เว็บไซต์ที่ถูกเรียกมาจาก Unity หรือว่า run ปกติครับ ลองมาดูใน if แรก ก็คือการเรียกมาจาก Unity นั้นเองครับ แล้วก็เข้าไปมีอีก if นึงครับ ซึ้งเป็นการเช็คค่าของ rarameter ที่ส่งมาที่ชื่อว่า stats มีค่าเท่ากับ testWWW หรือป่าวถ้าใช้ก็ให้เข้าเหงือนไขเลยครับ จากนั้นให้ Response.Write() ออกไปเป็นชนิด string ครับ ซึ้งก็จะเป็นคำที่แสดงใน Unity ของตัวแปร ww.Text นั้นเองครับ

ส่วนลิ้งข้างล่างเป็นคลิปสอน asp.net ครับ

part 1 : http://youtu.be/pSDkH4CA0Ws
part 2 : http://youtu.be/RGj495uQtRk
part 3 : http://youtu.be/ixiGMlGhdYE
part 4 : http://youtu.be/TIXdrGBjzk4
part 5 : http://youtu.be/yTa5ijoJVHg

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - Class WWW And Database (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D เรื่องของ Class ที่ชื่อว่า WWW แล้วแถม Database นิดๆหน่อยๆ - บทความนี้มาดูเรื่องของ Class ที่ชื่อว่า WWW ว่าทำงานกันยังไงนะครับ แล้วแถมเรื่อง Database ให้นิดๆหน่อย คือถ้าเราใช้วิธีนี้มันจะไม่ติดปัญหาเวลาที่เรา Build ตังเกมส์ลงในโทรศัพท์ แล้วก็เป็นเพียงแนวทางสำหรับที่ใครอยากจะติดต่อ database ดูนะครับ ส่วนวิธีที่เราจะติดต่อ database ทางอื่นมันก็มีหลายวิธี ส่วนตัวอย่างของผมมันก็เป็นวิธีแบบง่ายๆนั้นเอง ถ้าคลิปไม่ขึ้น ตามลิ้งครับ >> www.youtube.com/embed/IeU4nFH2UDc ตัวอย่างโค้ดใน Unity ครับ จากรูปภาพด้านบนจะสังเกตุเห็นว่า การประกาศฟังชั่นเป็น IEnumerator ไม่ใช่ void การเรียกใช้ฟังชั่นนั้นจึงต้องใช้คำสั่ง StartCoroutine(myMethod()); ในการเรียกใช้ ลองมาไล่โค้ดกันดูภายในฟังชั่น testWWW() ทีละบรรทัดกันนะครับ WWWForm form = new WWWForm(); เป็นการประกาศตัวแปรชนิด WWWForm ชื่อว่า Form เป็นเหมือนคล้ายๆกับ patameter ครับ form.AddField(???,???)

# data[].attributes.headline
สอน Unity - เรื่องของตำแหน่ง (position) และ click move (Thai Unity)

# data[].attributes.subject
สอน Unity - เรื่องของตำแหน่ง (position) และ click move (Thai Unity)

# data[].attributes.attachment_link.readable_text
สอน Unity 3D เรื่องของตำแหน่ง (position) และ click move - บทความนี้เราจะมาดูเรื่องของตำแหน่ง การเก็บค่าตำแหน่งยังไง และแถมเรื่องของ click move สำหรับเพื่อนที่ตั้งคำถามมา กับ Unity3D Thailand | Thai Unity

โค้ดตัวอย่างคำสั่งคลิกแล้วให้ Object เคลื่อนไปยังตำแหน่งที่เราคลิกนะครับ โดยใช้ iTween

คำสั่งคลิกก็คือ if(Input.GetMouseButtonDown(0){} สังเกตุว่า จะใช้ if และคำสั่งอยู่ใน Update() ด้วย

เพราะว่าใน Update() จะทำงานตลอดเวลานั้นเอง ถ้าเอาไว้ในฟังชั่น Start() ก็จะไม่ทำงาน ซึ้งไม่ได้อธิบายไว้ในวิดีโอนะครับ

จากนั้นให้เก็บตำแหน่งที่คลิกลงไปไว้ใน myPos (เก็บไว้เพื่อไปใช้อย่างอื่นอีกครับ) แล้วก็เรียกฟังชั่น moveToPosition(); ที่เราใช้ iTween สั่งให้ Object ที่เรากำหนด เคลื่อนไปตามตำแหน่งที่เราคลิกนั้นเองครับ ตัวอย่างนี้จะออกไปทางแนวเกม 2 มิติ สักหน่อย

จากโค้ดในรูปด้านบน ดูแล้วอาจจะยังไม่เข้าใจนะครับ ยังไงก็ลองมาไล่โค้ดดูกันทีละบรรทัดเลยดีกว่านะครับ

public GameObject c; คือประกาศตัวแปรชนิด GameObject ที่ชื่อว่า c เป็นแบบ public ครับ แล้วใน Unity ให้เราลาก Object ที่จะใช้ให้เคลื่อนไหว ลากเข้ามาในตัวแปรนี้ครับ

public Vector3 myPos; คือประกาศตัวแปรชนิด Vector3 ซึ่งเป็นตัวแปรไว้เก็บตำแหน่งเป็น Position ครับ ที่ชื่อว่า myPos เป็นแบบ public ครับ ประกาศมาไว้ดูตำแหน่งของ Object ที่เคลือนที่ ใน Unity ครับ

ในฟังชั่น Update() ต่อเลยครับ

if(Input.GetMouseButtonDown(0)) ถ้าคลิกซ้ายเราก็จะเข้าเหงือนไขนี้ครับ เป็นการตรวจสอบคลิกซ้ายนั้นเอง

myPos = camera.ScreeToWorldPoint(Input.mousePosition); ให้ตำแหน่งของ myPos เท่ากับ ตำแหน่งของเมาส์ที่เราคลิกลงไปนั้นเองครับ

moveToPosition() เป็นการเรียกฟังชั่นครับ

ในฟังชั่น moveToPosition() กันต่อเลยครับ

ภายในฟังชั่นเป็นการเรียกใช้ iTween.MoveTo โดย กำหนดให้ Object ที่ชื่อว่า c เคลื่อนที่ไปยังตำแหน่งที่คลิกลงไปที่เก็บไว้ในตัวแปร myPos ครับ

เพียงเท่านี้เราก็จะได้การคลิกไปตามตำแหน่งที่ต้องการแล้วครับ ถ้าไม่เข้าใจยังไงก็ลองชมวิดีโอตัวอย่างได้เลยครับ

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - click move 2D (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D เรื่องของตำแหน่ง (position) และ click move - บทความนี้เราจะมาดูเรื่องของตำแหน่ง การเก็บค่าตำแหน่งยังไง และแถมเรื่องของ click move สำหรับเพื่อนที่ตั้งคำถามมา กับ Unity3D Thailand | Thai Unity โค้ดตัวอย่างคำสั่งคลิกแล้วให้ Object เคลื่อนไปยังตำแหน่งที่เราคลิกนะครับ โดยใช้ iTween คำสั่งคลิกก็คือ if(Input.GetMouseButtonDown(0){} สังเกตุว่า จะใช้ if และคำสั่งอยู่ใน Update() ด้วย เพราะว่าใน Update() จะทำงานตลอดเวลานั้นเอง ถ้าเอาไว้ในฟังชั่น Start() ก็จะไม่ทำงาน ซึ้งไม่ได้อธิบายไว้ในวิดีโอนะครับ จากนั้นให้เก็บตำแหน่งที่คลิกลงไปไว้ใน myPos (เก็บไว้เพื่อไปใช้อย่างอื่นอีกครับ) แล้วก็เรียกฟังชั่น moveToPosition(); ที่เราใช้ iTween สั่งให้ Object

# data[].attributes.headline
.สอน Unity - การกระทบกันของวัตถุ และ rigi body ( Thai Unity )

# data[].attributes.subject
.สอน Unity - การกระทบกันของวัตถุ และ rigi body ( Thai Unity )

# data[].attributes.attachment_link.readable_text
ถ้าคลิปไม่ขึ้น ตามลิ้งนี้ครับ http://youtu.be/V6bIhSVutFE

จากวีดิโอตัวอย่างในเรื่องของ rigi body จะเห็นว่าเมื่อเราใส่ component rigi body เข้าไปใน Object นั้นๆแล้วเนี๊ยะ Object นั้นก็จะมีแรงโน้มถ้วงเกิดขึ้น เมื่อเรา Run ก็จะเห็นว่า Object นั้นมันล่วงลงไปเรื่อย ซึ่งเป็นเพราะมันมีน้ำหนักขึ้นมาแล้วนั้นเองครับ ซึ้งวิธีการนั้น ให้เราเลือก Object ที่เราจะทำการใส่ rigi body จากนั้นไปที่แถบเมนู แล้วเลือก Component แล้วก็เลือก Physics แล้วเลือก Rigibody ครับ ตามรูปตัวอย่างด้านล่าง

จากนั้นเมื่อลอง Run ดูจะเห็นว่า Object นั้นทีเราใส่ component Rigibody เข้าไปมันก็จะล่วงลงไปเรื่อยๆครับ

ในกรณีที่เราต้องการจะตรวจสอบการกระทบกันของวัตถุหรือ Object นั้นให้เราใส่ component Rigibody เข้าไปด้วย แล้วถ้าไม่อยากให้มันล่วงลงมา ให้เราไปติํกเอา Use Gravity ออก ที่อยู่ในส่วนของ Rigibody ก็ได้ครับถ้าไม่อยากให้มันล่วงนะ แล้วจากนั้นเราก็ทำการเขียนโค้ดกันเลย

รูปตัวอย่างโค้ดด้านล่างก็เป็นการใช้ฟังชั่น OnCollisionEnter() ที่ใช้ในการตรวจสอบการกระทบกันของวัตถุครับ โดยเราแค่ใส่ฟังชั่นนี้เข้าไปในสคลิปที่เราเอาไปใส่ใน Object ที่เราต้องการตรวจสอบการกระทบกันของวัตถุนั้นเอง ซึ่งไปกระทบกับอะไรนั้น ก็จะถูกส่งเข้าไปใน collision นั้นเอง ซึ้งในตัวอย่างก็ได้ทำการ Debug.log ชื่อของ Object ที่มากระทบกับ Object ที่เรายัดสคริปเข้าไปนั้นเองครับ

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

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.description
ถ้าคลิปไม่ขึ้น ตามลิ้งนี้ครับ http://youtu.be/V6bIhSVutFE จากวีดิโอตัวอย่างในเรื่องของ rigi body จะเห็นว่าเมื่อเราใส่ component rigi body เข้าไปใน Object นั้นๆแล้วเนี๊ยะ Object นั้นก็จะมีแรงโน้มถ้วงเกิดขึ้น เมื่อเรา Run ก็จะเห็นว่า Object นั้นมันล่วงลงไปเรื่อย ซึ่งเป็นเพราะมันมีน้ำหนักขึ้นมาแล้วนั้นเองครับ ซึ้งวิธีการนั้น ให้เราเลือก Object ที่เราจะทำการใส่ rigi body จากนั้นไปที่แถบเมนู แล้วเลือก Component แล้วก็เลือก Physics แล้วเลือก Rigibody ครับ ตามรูปตัวอย่างด้านล่าง จากนั้นเมื่อลอง Run ดูจะเห็นว่า Object นั้นทีเราใส่ component Rigibody เข้าไปมันก็จะล่วงลงไปเรื่อยๆครับ ในกรณีที่เราต้องการจะตรวจสอบการกระทบกันของวัตถุหรือ Object นั้นให้เราใส่ component Rigibody เข้าไปด้วย แล้วถ้าไม่อยากให้มันล่วงลงมา ให้เราไปติํกเอา Use Gravity ออก ที่อยู่ในส่วนของ Rigibody ก็ได้ครับถ้าไม่อยากให้มันล่วงนะ แล้วจากนั้นเราก็ทำการเขียนโค้ดกันเลย รูปตัวอย่างโค้ดด้านล่างก็เป็นการใช้ฟังชั่น OnCollisionEnter() ที่ใช้ในการตรวจสอบการกระทบกันของวัตถุครับ โดยเราแค่ใส่ฟังชั่นนี้เข้าไปในสคลิปที่เราเอาไปใส่ใน Object ที่เราต้องการตรวจสอบการกระทบกันของวัตถุนั้นเอง ซึ่งไปกระทบกับอะไรนั้น ก็จะถูกส่งเข้าไปใน collision นั้นเอง ซึ้งในตัวอย่างก็ได้ทำการ Debug.log ชื่อของ Object ที่มากระทบกับ Object ที่เรายัดสคริปเข้าไปนั้นเองครับ เพียงเท่านี้เราก็จะได้การตรวจสอบการกระทบกันของวัตถุแล้วก็เรื่องของแรงโน้มถ่วงแล้วนะครับ ก็สามารถไปปรับใช้ในทางอื่นได้อีก แล้วเจอกันบทความต่อไปครับ

# data[].attributes.headline
สอน Unity - การใส่เสียง แบบธรรมดา และ เล่นเสียงด้วยคำสั่ง แถมด้วยการลบ Object ( Thai Unity )

# data[].attributes.subject
สอน Unity - การใส่เสียง แบบธรรมดา และ เล่นเสียงด้วยคำสั่ง แถมด้วยการลบ Object ( Thai Unity )

# data[].attributes.attachment_link.readable_text
สอน Unity 3D การใส่เสียง แบบธรรมดา และ เล่นเสียงด้วยคำสั่ง แถมด้วยการลบ Object- บทความนี้ มาดูการใส่เสียง แบบธรรมดา และ เล่นเสียงด้วยคำสั่ง แล้วก็แถมด้วยการลบ Object ด้วยคำสั่ง Destroy นะครับ ซึ้งเป็นคำสั่งที่ใช้กันบ่อยและได้ใช้แน่นอนครับเพื่อน ก็ลองไปชมวิดีโอตัวอย่างกันก่อนเลยดีกว่าครับ กับ Unity3D Thailand (Thai Unity)

จากวิดีโอตัวอย่าง ในการที่เราจะเล่นเสียงนะครับ ให้เราคลิกเลือกที่ Object ที่เราจะเขียนสคริปหรือ Object ใดๆก็ได้ แล้วจากนั้นให้เราไปที่แถบเมนูด้านบนเลือกไปที่ Component แล้วเลือก Audio แล้วเลือก Audio Source จากรูปตัวอย่างด้านล่าง

เมื่อเราคลิกเลือกมาแล้ว ที่ Object ก็จะมา Audio Source เข้ามา จากนั้นให้เราเลือกเสียงที่จะใช้ แล้วลากเข้ามาใน Project แล้วลากต่อไปที่ Audio Clip จะเห็นในตัวอย่างของเรานั้นเป็น พูดไม่คิดของ season five ตามรูปตัวอย่างด้านล่างครับ

จากนั้นให้เราลอง Run ดู จะเห็นว่ามันเล่นเสียงตามที่เราได้กำหนดใส่ไปในขั้นตอนนั้น ซึ้งเป็นเพราะใน Component Audio Source เราได้เลือก Play On Awake ไว้ในตอนต้น ทำให้มันเล่นเลยนั้นเอง นอกจากนี้ยังมีวิธีใช้คำสั่งในการเล่นเสียงแบบใช้คำสั่งอยู่อีกวิธี โดยให้เราเอาเสียงเพลงที่เลือกตรง Audio Clip ออกให้เป็น none ไปก่อน จากนั้นลอกไปดูรูปด้านล่างกันก่อนเลยครับ

จะเห็นว่าบรรทัดแรก public AudioClip ss; เป็นการประกาศตัวแปรชนิด AudioClip ชื่อว่า ss เป็นแบบ public ซึ่งเมื่อประกาศแบบนี้แล้ว ใน Unity ให้เราไปลากไฟล์เสียงที่เราจะใช้ ให้ลากไปที่วางที่ตัวแปร ss ให้ Object ที่เรายัดสคลิปไว้

จากนั้นเป็นคำสั่งเล่นเสียง audio.PlayOneShot(ss); ในฟังชั่น start(){} ก็จะทำให้มันเล่นเสียงเลยเมื่อเรา Run เพราะคำสั่งอยู่ในฟังชั่น start() ถ้าเราอยากให้เล่นเสียงเมื่อเราคลิกที่ Object เราก็ใส่ไว้ในฟังชั่น OnMouseDown() นั้นเเองครับ

ส่วนอีกอันที่ในวิดีโอตัวอย่างได้กล่าวไว้คือการลบ Object ครับ โดยใช้คำสั่ง Destroy(* ในวงเล็บ ชื่อ Object ที่เราจะลบ ซึ่งจะเป็น gameObject หรือ This หรือจะเป็น Object อื่นๆที่ประกาศเป็น public ก็ได้ครับ)

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.description
สอน Unity 3D การใส่เสียง แบบธรรมดา และ เล่นเสียงด้วยคำสั่ง แถมด้วยการลบ Object- บทความนี้ มาดูการใส่เสียง แบบธรรมดา และ เล่นเสียงด้วยคำสั่ง แล้วก็แถมด้วยการลบ Object ด้วยคำสั่ง Destroy นะครับ ซึ้งเป็นคำสั่งที่ใช้กันบ่อยและได้ใช้แน่นอนครับเพื่อน ก็ลองไปชมวิดีโอตัวอย่างกันก่อนเลยดีกว่าครับ กับ Unity3D Thailand (Thai Unity) จากวิดีโอตัวอย่าง ในการที่เราจะเล่นเสียงนะครับ ให้เราคลิกเลือกที่ Object ที่เราจะเขียนสคริปหรือ Object ใดๆก็ได้ แล้วจากนั้นให้เราไปที่แถบเมนูด้านบนเลือกไปที่ Component แล้วเลือก Audio แล้วเลือก Audio Source จากรูปตัวอย่างด้านล่าง เมื่อเราคลิกเลือกมาแล้ว ที่ Object ก็จะมา Audio Source เข้ามา จากนั้นให้เราเลือกเสียงที่จะใช้ แล้วลากเข้ามาใน

# data[].attributes.headline
สอน Unity - เคลื่อนที่ object ด้วย iTween ( Thai Unity )

# data[].attributes.subject
สอน Unity - เคลื่อนที่ object ด้วย iTween ( Thai Unity )

# data[].attributes.attachment_link.readable_text
จากวิดีโอตัวอย่างด้านบนนะครับ ขั้นตอนแรกให้เราเข้าไปที่ Asset Store กันก่อนเพื่อจะไปโหลด ตัวปลักอิน iTween มาใช้กัน โดยไปที่แถบเมนูด้านบน เลือกไปที่ Windows แล้วเลือก Asset Store จะเห็นว่ามันเปิดหน้าต่างมาเป็น Asset Store ให้เรานะครับ ให้เราสมัครโดยใช้ Email ของเรา พอสมัครไปแล้ว ให้เราไปยืนยันที่ Email ครับ จากนั้นก็ login เข้าใช้งานใน Asset Store จากนั้นก็ค้นหา iTween ครับ แล้ว download มาเสร็จแล้ว ให้กด Import อีกที iTween ก็จะเข้ามาอยู่ในโปรเจ็กของเราแล้วน่ะครับ

จากนั้นให้เราลองสร้าง Object อะไรก็ได้สักอันนึงครับ เพื่อจะลองให้มันเคลื่อนไหวครับ แล้วเราก็เขียนสคริปขึ้นมาตามโค้ดด้านล่าง แล้วก็เอาสคริปไปยัดใส่ไว้ในตัว Object ตัวนั้นครับ จากนั้นลอง Run เลยครับ

ลองมาดูที่โค้ดกันเลยนะครับ iTween.MoveTo(); ก็จะเป็นคำสั่งที่ใช้ให้ Object นั้นๆเคลื่อนตำแหน่งนะครับ ซึ้งมันก็จะสามารถกำหนดตำแหน่ง และความไวในการเคลื่อนที่ แล้วก็สามารถตรวจสอบได้ว่า เริ่มเคลื่อนที่แล้ว หรือ กำลังเคลื่อนที่อยู่ หรือเคลื่อนที่เสร็จแล้ว ให้ทำอะไรต่อไปอีกก็ได้ครับ ภายในวงเล็บของคำสั่ง iTween.MoveTo();

ลองมาดูในวงเล็บอันแรกนะครับ เป็น gameObject ซึ้งแทนตัวมันเองครับ เราจะใช้ gameObject หรือใช้ this ก็ได้นะครับ อันต่อมาเป็น iTween.Hash() เป็นการโยนเข้าฟังชั่นอีกที ซึ้งก็คือค่ารายละเอียดต่างๆที่ Object จะเคลื่อนไปยังไงนั้นเองครับ ลองมาดูแต่ละอันว่ามีอะไรบ้างครับ

"time" ก็คือกำหนดเวลาที่จะให้มันเคลื่อนที่ไปถึงช้าหรือไวยัง ในตัวอย่างเป็น 5f ก็คือ 5 วินาทีนั้นเองครับ

"x" ก็คือตำแหน่งในแกน x ที่จะให้ Object เคลื่อนไปหาครับ

"y" ก็คือตำแหน่งในแกน y ที่จะให้ Object เคลื่อนไปหาครับ

"z" ก็คือตำแหน่งในแกน z ที่จะให้ Object เคลื่อนไปหาครับ

"easetype" เป็นรูปแบบการเคลื่อนครับ ในตัวอย่างเป็น iTween.EaseType.spring คือจะเคลื่อนที่ไปแล้วพอถึงจุดหมายก่อนหยุดมันจะเด้งเหมือนสปริงครับ ซึ้งคำสั่งนี้มีหลายรูปแบบมาก ลองเลือกดูครับ

"onComplete" ก็คือเมื่อเคลื่อนที่จนเสร็จแล้วครับ ในตัวอย่างเป็น "moveDownComplete" ซึ้งเป็นการเรียกฟังชั่น moveDownComplete เมื่อเคลื่อนที่เสร็จแล้วนั้นเองครับ นอกจาก "onComplete" ก็ยังมี "onStart" , "onUpdate" และอื่นๆอีกครับ

"onCompleteParam" ก็เป็นส่งค่าไปยังฟังชั่นที่เรียกใช้ ซึ้งในตัวอย่างฟังชั่น "moveDownComplete" ไม่มีการรับค่าก็เลยส่ง gameObject ไปเฉยๆครับ

"onCompleteTarget" ให้เราใส่ไปตามนั้นครับ

จะมีฟังชั่น moveDownComplete() ซึ้งจะเป็นฟังที่จะแสดงผลลัพว่า "ok" จะเห็นว่าพอเราลอง run แล้ว Object ของเราจะเคลื่อนที่ไปยังตำแหน่งและความเร็วที่เรากำหนด พอถึงจุดหมายแล้วก็จะแสดง "ok" ตามคำสั่งที่เขียนไว้ในสคริปนั้นเองครับ

ตัวอย่างโค้ด iTween ที่ทำให้ gameObject ของเราเคลื่อนที่ไปตามตำแหน่งที่เรากำหนดนะครับ
*** ถ้าสคลิปนี้อยู่ที่กล้อง gameObject ก็คือกล้อง แล้วกล้องจะเคลื่อนที่
*** ถ้าสคลิปนี้อยู่ที่ plane gameObject ก็คือ plane แล้ว plane จะเคลื่อนที่

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.description
จากวิดีโอตัวอย่างด้านบนนะครับ ขั้นตอนแรกให้เราเข้าไปที่ Asset Store กันก่อนเพื่อจะไปโหลด ตัวปลักอิน iTween มาใช้กัน โดยไปที่แถบเมนูด้านบน เลือกไปที่ Windows แล้วเลือก Asset Store จะเห็นว่ามันเปิดหน้าต่างมาเป็น Asset Store ให้เรานะครับ ให้เราสมัครโดยใช้ Email ของเรา พอสมัครไปแล้ว ให้เราไปยืนยันที่ Email ครับ จากนั้นก็ login เข้าใช้งานใน Asset Store จากนั้นก็ค้นหา iTween ครับ แล้ว download มาเสร็จแล้ว ให้กด Import อีกที iTween ก็จะเข้ามาอยู่ในโปรเจ็กของเราแล้วน่ะครับ จากนั้นให้เราลองสร้าง Object อะไรก็ได้สักอันนึงครับ เพื่อจะลองให้มันเคลื่อนไหวครับ แล้วเราก็เขียนสคริปขึ้นมาตามโค้ดด้านล่าง แล้วก็เอาสคริปไปยัดใส่ไว้ในตัว Object ตัวนั้นครับ จากนั้นลอง

# data[].attributes.headline
สอน Unity - คำสั่ง click ที่วัตถุหรือ Object และคำสั่งเปลี่ยน scene ( Thai Unity )

# data[].attributes.subject
สอน Unity - คำสั่ง click ที่วัตถุหรือ Object และคำสั่งเปลี่ยน scene ( Thai Unity )

# data[].attributes.attachment_link.readable_text
สอน Unity 3D คำสั่ง click ที่วัตถุหรือ Object และคำสั่งเปลี่ยน scene- บทความนี้พูดถึงการใช้คำสั่งคลิก หรือฟังชั่น OnMouseDown() นั้นเอง เราจะใส่ Void หรือ IEnumerator ก็ได้นะครับ แต่ในวิดีโอเป็น IEnumerator ครับ สำหรับ IEnumerator เป็นฟังชั่นที่ต้อง return ค่า ที่จะใช้หน่วงเวลานั้น แต่ถ้าใส่ void ก็ไม่จำเป็นต้อง return ค่านะครับ ลองกันดูครับ กับ Unity3D Thailand (Thai Unity)
ตัวอย่างการคลิกไปยัง object นั้นๆนะครับ ลองดูกันนะครับ ^_^

** ถ้าคลิปไม่ขึ้นไปตามลิ้งเลยครับ http://youtu.be/ZUkE5QdQBzc

ก็ภายในตัวอย่างวิดีโอก็เป็นการใช้ คำสั่ง click ที่วัตถุหรือ Object และคำสั่งเปลี่ยน scene ครับ หลังจากที่เราสร้าง scene ขึ้นมาเพิ่มเป็น 2 scene แล้ว เราก็ไปทำการ เพิ่มซีนเข้าไปใน Build Setting โดยไปที่ File เลือก Build Setting แล้วก็ลากซีนมาไว้ข้างในส่วนของ scene in build ตามรูปด้านล่างแล้วกดปิดไปครับ

จากรูปด้านบนจะเห็นว่ามี scene2 เพิ่มเข้ามาเป็นสอน scene นะครับ และตัวเลขด้านขวาที่มี 0 กับ 1 นั้นก็เป็น index ของ scene นั้นๆ ซึ้งสามารถนำไปเรียกใช้ตอนเขียนโค้ดได้ครับ ถ้าเราต้องการให้ scene1 เป็น index ที่ 0 เราก็สามารถเปลี่ยนได้โดยการลากมันเลื่อนขึ้นไปนะครับ หรือถ้าต้องการลบซีนออก ก็สามารถลบได้ โดยการคลิกเลือกแล้วกดปุ้ม delete ได้เลยครับ

รูปด้านบนก็เป็นตัวอย่างโค้ดคร้าวๆครับ โดยใช้คำสั่ง Application.LoadLevel("ระบุชื่อซีน"); ซึ้งจำเป็นต้อง add ซีนเข้าไปไว้ใน scene in build เสียก่อนตามรูปด้านล่างครับ ส่วนเราอยากคลิกที่ Object ไหน เราก็ใส่คลิปที่เรามีฟังชั่น OnMouseDown() เข้าไปใน Object นั้นๆครับ ซึ้งไม่ได้มีแค่ OnMouseDown() ครับ ยังมีอื่นๆอีกเช่น OnMouse() , OnMouseUp() เป็นต้นครับ

ลองมาไล่โค้ดดูทีละบรรทัดกันเลยครับ

บรรทัดแรก IEnumerator OnMouseDown() {} - IEnumerator จะคล้ายๆกับ void อย่างที่บอกไปตอนต้นบทความครับ ที่บอกว่า IEnumerator เป็นฟังชั่นที่ต้อง return ค่า ที่จะใช้หน่วงเวลานั้น แต่ถ้าใส่ void ก็ไม่จำเป็นต้อง return ค่า ส่วน OnMouseDown() นั้นเป็นชื่อฟังชั่นที่ตายตัวครับ ไม่ได้เป็นชื่อฟังชั่นที่เราเรียกมาเอง คือเป็นฟังชั่นเฉพาะนั้นเองครับ ฟังชั่น OnMouseDown() เป็นฟังชั่นที่คอยตรวจสอบการคลิกนั้นเองครับ ซึ่งถ้าคำสั่ง อยู่ในสคริปที่ยัดไว้ใน Object ตัวไหน เมื่อเราคลิกที่ Object ตัวนั้น การทำงานก็จะเข้าทำภายในฟังชั่น OnMouseDown() นั้นเองครับ ซึ้งเราสามารถใช้ void ก็ได้ แต่ในตัวอย่างอยากลองยกตัวอย่าง IEnumerator มาให้รู้จักกันเพียงเท่านั้นเองครับ

บรรทัดสอง yield return new WaitForSeconds(0f); - เป็นคำสั่งที่จะ return ค่าที่เราได้หน่วงเวลาไว้เป็นวินาที ในวงเล็บจะเห็นว่าเป็น 0f ก็คือไม่ได้หน่วงเวลาเลยนั้นเองครับ ซึ่งพอเป็นฟังชั่นแบบ IEnumerator แบบนี้ก็จำเป็นต้องมีบรรทัด return ค่าบรรทัดไว้ในฟังชั่นทุกครั้ง ซึ้งเอาไว้บรรทัดไหนก็ได้แล้วแต่เราจะไปปรับใช้นะครับ

บรรทัดสาม - ก็เป็นการแสดงผลธรรมดาเหมือนในบทความก่อนหน้านี้ครับ

บรรทัดสี่ - Application.LoadLevel("scene2"); - เป็นคำสั่งเป็น scene นั้นเองครับ ซึ่งในวงเล็บสามารถที่จะใช้เป็น string โดยใส่ชื่อ "scene2" หรือใช้เป็น index ก็ได้โดยในวงเล็บก็ใส่ 0 หรือ 1 ... ก็ได้ครับ ตามรูปแรก

- บทความนี้ มาดูการใช้งาน IEnumerator ที่เมื่อเราประกาศฟังชั่นเป็นแบบนี้ ก็ต้องใช้คำสั่งรีเทิร์นค่าที่เป็นการหน่วงเวลาไว้ภายในฟังชั่นที่เป็น IEnumerator นี้ด้วยครับ

ข้างล่างนี้เป็นรูปแบบการเรียกใช้และประกาศฟังชั่นแบบ void ที่เราใช้กันบ่อยๆ ภายในฟังชั่น มีการ Debug.log เพื่อให้แสดงผลว่า
"hi"
"david"

เพียงเท่านี้เราก็จะได้การคลิกที่ Object และการเปลี่ยน scene ไปทั้งสองอย่างหวังว่าจะเป็นประโยชน์กับเพื่อนๆนะครับ

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - OnMouseDown and void/IEnumeretor (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D คำสั่ง click ที่วัตถุหรือ Object และคำสั่งเปลี่ยน scene- บทความนี้พูดถึงการใช้คำสั่งคลิก หรือฟังชั่น OnMouseDown() นั้นเอง เราจะใส่ Void หรือ IEnumerator ก็ได้นะครับ แต่ในวิดีโอเป็น IEnumerator ครับ สำหรับ IEnumerator เป็นฟังชั่นที่ต้อง return ค่า ที่จะใช้หน่วงเวลานั้น แต่ถ้าใส่ void ก็ไม่จำเป็นต้อง return ค่านะครับ ลองกันดูครับ กับ Unity3D Thailand (Thai Unity) ตัวอย่างการคลิกไปยัง object นั้นๆนะครับ ลองดูกันนะครับ ^_^ ** ถ้าคลิปไม่ขึ้นไปตามลิ้งเลยครับ http://youtu.be/ZUkE5QdQBzc ก็ภายในตัวอย่างวิดีโอก็เป็นการใช้ คำสั่ง click ที่วัตถุหรือ

# data[].attributes.headline
สอน Unity - การสร้าง object ด้วยคำสั่ง และกำหนด texture ด้วยคำสั่ง ( Thai Unity )

# data[].attributes.subject
สอน Unity - การสร้าง object ด้วยคำสั่ง และกำหนด texture ด้วยคำสั่ง ( Thai Unity )

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

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

จากรูปตัวอย่างโค้ดด้านบน เป็นตัวอย่างคำสั่งการสร้าง 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

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - Instantiate (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D การสร้าง object ด้วยคำสั่ง และกำหนด texture ด้วยคำสั่ง - บทความนี้มาดูวิธีการสร้าง Object ด้วยคำสั่งนะครับ และกำหนด texture ด้วยคำสั่ง สำหรับบทความนี้ก็เริ่มจะใช้คำสั่งกันแล้ว เป็นคำสั่งง่ายๆครับลองดูกันเลย มีทั้งวิดีโอและโค้ดตัวอย่างครับ กับ Unity3D Thailand (Thai Unity) *** ถ้า Video ไม่ขึ้นตามไปที่ลิ่งได้เลยครับ http://youtu.be/R0lxBKhOlo0 จากรูปตัวอย่างโค้ดด้านบน เป็นตัวอย่างคำสั่งการสร้าง 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(?????)

# data[].attributes.headline
สอน Unity - การเอารูปภาพมาแสดงในเกม ( Thai Unity )

# data[].attributes.subject
สอน Unity - การเอารูปภาพมาแสดงในเกม ( Thai Unity )

# data[].attributes.attachment_link.readable_text
สอน Unity 3D การเอารูปภาพมาแสดงในเกม - บทความนี้เราจะมาพูดถึงการเอารูปมาใส่ในเกมส์ ใน Unity หรือการใส่ Texture ให้กับ Object นั้นๆ นั่นเองนะครับ ไม่น่าจะอยากเท่าไหร่ แค่เพียงเราลากรูปที่ต้องการมาใส่ในโปรเจ็ก ในโปรแกรม Unity แล้วก็ลากไปใส่ที่ Object นั้นๆต่อ หรือท่าไม่เข้าใจ ก็ลองชมวิดีโอข้างล่างนี้ได้เลยนะครับ กับ (Unity3D Thailand | Thai Unity)

หลังจากที่เราเปิดโปรแกรม Unity ขึ้นมาแล้วให้เราลอง ทำตามขั้นตอนต่อไปนี้นะครับ

1. เลือกรูปที่เราต้องการจะนำมาใช้ครับ
- เป็นรูปที่อยู่ในเครื่องคอมพิวเตอร์ของเรา
- รูปภาพอะไรก็ได้ที่ไม่ใช่ภาพเคลื่อนไหว
- ขนาดของรูปมีส่วนสำคัญ ถ้ารูปเล็กแล้วมาขยายใน Unity จะทำให้ภาพเบลอ แต่ถ้ารูปใหญ่แล้วมาย่อใน Unity จะทำให้ภาพแตก ภาพไม่ชัด

2. จากนั้นให้เราคลิกซ้ายลากไฟล์รูปของเราไปที่โปรแกรม Unity แล้ววางในส่วนของแถบ Project ในโปรแกรม Unity ครับ
- ลากรูปไปวางที่ Project ได้ที่เดียว
- ในแถบ Project จะเป็นส่วนที่ไว้เก็บไฟล์ต่างๆที่เราจะใช้หรือไม่ใช้ก็ได้ เพราะในส่วนที่ใช้จริงๆ จะอยู่ในแถบ Hierarchy ที่เป็นส่วนที่เก็บ Object ของแต่ละซีนๆ นั้นเองครับ

3. จะเห็นว่ามันมีไฟล์รูปเข้ามาแล้วในส่วนของแถบ Project ใน Unity
- ไฟล์รูปจะแสดงในแถบ Project
- จะแสดงให้เห็นเป็นรูปเล็กๆ และชื่อรูป

4. ใน Unity ตรงแถบ Hierarchy เราคลิกแล้วเลือก Plane
- แถบ Hierarchy เป็นส่วนที่เก็บ Object ของแต่ละซีนๆ
- Plane เป็น Object หรือวัตถุที่มีลักษณะคล้ายป้าย เหมาะกับเกมส์ที่เป็น 2D หรือ 2 มิติครับ

5. ตั้งชื่อ Plane แล้วลากรูปจาก Project ที่เราลากเข้ามาก่อนหน้า ให้ลากไปใส่ไว้ใน Plane
- การลากไฟล์รูปจาก Project ไปไว้ที่ Plane เป็นการกำหนด Texture ให้กับ Plane หรือเรียกอีกอย่างนึงคือการใส่รูปแบบหรือสีสรรให้กับ Plane นั้นเองครับ
- เราสามารถลากไฟล์รูปไปใส่ได้ในทุก Object ที่มีรูปทรงเช่น Plane , Cube หรือ โมเดลอื่นๆ ที่เรา Import เข้ามาได้ เพื่อนกำหนด Texture ให้กับ Object นั้นๆ

6. ลองปรับองศาหรือ Rotation ของ Plane ให้ได้ฉากตามที่ต้องการ

เราก็จะได้วิธีในการแสดงรูป ที่เราได้ลากเข้ามาใส่ ซึ้งมันเป็นวิธีการ การกำหนด Texture ให้กับ Object นั้นๆเองครับ ซึ้งในตัวอย่าง มันคือการกำหนด Texture ให้กับ Plane นั้นเองครับ

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
สร้างเกม - Add Texture (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity 3D การเอารูปภาพมาแสดงในเกม - บทความนี้เราจะมาพูดถึงการเอารูปมาใส่ในเกมส์ ใน Unity หรือการใส่ Texture ให้กับ Object นั้นๆ นั่นเองนะครับ ไม่น่าจะอยากเท่าไหร่ แค่เพียงเราลากรูปที่ต้องการมาใส่ในโปรเจ็ก ในโปรแกรม Unity แล้วก็ลากไปใส่ที่ Object นั้นๆต่อ หรือท่าไม่เข้าใจ ก็ลองชมวิดีโอข้างล่างนี้ได้เลยนะครับ กับ (Unity3D Thailand | Thai Unity) หลังจากที่เราเปิดโปรแกรม Unity ขึ้นมาแล้วให้เราลอง ทำตามขั้นตอนต่อไปนี้นะครับ 1. เลือกรูปที่เราต้องการจะนำมาใช้ครับ - เป็นรูปที่อยู่ในเครื่องคอมพิวเตอร์ของเรา - รูปภาพอะไรก็ได้ที่ไม่ใช่ภาพเคลื่อนไหว - ขนาดของรูปมีส่วนสำคัญ ถ้ารูปเล็กแล้วมาขยายใน Unity จะทำให้ภาพเบลอ แต่ถ้ารูปใหญ่แล้วมาย่อใน Unity จะทำให้ภาพแตก ภาพไม่ชัด 2.

# data[].attributes.headline
สอน Unity - วิธีทำให้ unity3d เปิดสคลิปด้วย visual studio ( Thai Unity )

# data[].attributes.subject
สอน Unity - วิธีทำให้ unity3d เปิดสคลิปด้วย visual studio ( Thai Unity )

# data[].attributes.attachment_link.readable_text
สอน Unity 3D วิธีทำให้ unity เปิดสคลิปด้วย visual studio - สำหรับเพื่อนๆพี่ๆน้องๆที่อยากจะใช้ตัวโปรแกรม Visual Studio หรือจะเป็นเอนจิ้นตัวอื่นๆก็ได้ที่เราถนัดนะครับที่จะคอยใช้ในการเขียนหรือแก้ไขโค้ดของเรา มากกว่าที่จะไปใช้เจ้าตัว MonoDevelop ที่มันมาพร้อมกับ Unity ในตอนแรก แต่เราไม่อยากจะใช้มันแล้วนะครับ ผมก็จะมาบอกเล่าถึงวิธีการเปลี่ยนไปใช้อันอื่นนะครับ มาเริ่มกันเลยดีกว่ากับ Unity3D Thailand (Thai Unity)

ขั้นตอนแรก ให้เรากดไปที่แทบเมนูด้านซ้ายบนของ Unity นะครับ จากนั้นให้เลือกไปที่ Edit > Preferences.. ตามรูปเลยครับ

พอกดแล้วก็จะมีหน้าต่างแสดงขึ้นมาตามรูปด้านล่างนะครับ ฝั่งซ้ายมือให้เราเลือกไปที่ External Tools ด้านซ้ายมือ แล้วจากนั้นด่านขวาตรง External Script Editor ให้เลือกตามที่เราอยากใช้เลยครับ ของผม เปลี่ยนเป็น Microsoft Visual Studio 2010 ตามรูปด้านล่างเลยครับ

เลือกเสร็จแล้วเราก็กดปิด แล้วก็ลองเปิดสคริปของเราดูอีกทีครับ เพียงเท่านี้เราก็ได้วิธี ทำให้ unity เปิดสคลิปด้วย visual studio แล้วน่ะครับ ก็เป็นขั้นตอนง่ายๆครับลองทำกันดูได้เลยนะครับ แล้วเจอกันบทความต่อไปได้เลยครับ เร็วๆนี้

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

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.description
สอน Unity 3D วิธีทำให้ unity เปิดสคลิปด้วย visual studio - สำหรับเพื่อนๆพี่ๆน้องๆที่อยากจะใช้ตัวโปรแกรม Visual Studio หรือจะเป็นเอนจิ้นตัวอื่นๆก็ได้ที่เราถนัดนะครับที่จะคอยใช้ในการเขียนหรือแก้ไขโค้ดของเรา มากกว่าที่จะไปใช้เจ้าตัว MonoDevelop ที่มันมาพร้อมกับ Unity ในตอนแรก แต่เราไม่อยากจะใช้มันแล้วนะครับ ผมก็จะมาบอกเล่าถึงวิธีการเปลี่ยนไปใช้อันอื่นนะครับ มาเริ่มกันเลยดีกว่ากับ Unity3D Thailand (Thai Unity) ขั้นตอนแรก ให้เรากดไปที่แทบเมนูด้านซ้ายบนของ Unity นะครับ จากนั้นให้เลือกไปที่ Edit > Preferences..

# data[].attributes.headline
สอน Unity - New Project และ Hello World ( Thai Unity )

# data[].attributes.subject
สอน Unity - New Project และ Hello World ( Thai Unity )

# data[].attributes.attachment_link.readable_text
สอน Unity3D - บทความที่ 2 ครับ มาสร้างโปรเจ็กแรกกันเลย นั้นคือโปรเจ็ก Hello Word ซึ่งเป็นโปรเจ็กแรก โปรเจ็กที่คุ้นหูคุ้นตากันดีน่ะครับ ภายในวดีโอก็จะมีตัวอย่างการสอนการใช้งานตัวโปรแกรม Unity ให้ด้วยนิดๆหน่อยๆครับ พวกวิธีการสร้างโปรเจ็กใหม่ การสร้างสคริป การนำสคริปไปใช้ยังไง แล้วดูผลลัพย์หรือผลการ Run กัน ยังไงก็ลองไปชมวิดีโอกันเลยกับ Unity3D Thailand (Thai Unity)

บทความนี้เราจะมาดูวิธี New Project และ Hello World กันน่ะครับ เริ่มกันเลยกับบทความนี้ น่ะครับ ให้เราคลิกที่แทบเมนูด้านซ้ายบนน่ะครับ แล้วให้เราเลือกไปที่ File แล้วเลือกที่ New Project... ตามรูปเลยแล้วกันนะครับ

คลิก File>New Project..

จากนั้นรูปด้านล่างให้เราเลือกว่าจะเซฟที่ไหน แล้วตั้งชื่อ Project ได้เลยครับ ส่วนของผมตั้งชื่อ Project ว่า HelloWolrd แล้วกด Create ได้เลยครับ

เท่านี้เราก็พร้อมสำหรับ Project ใหม่ของเราแล้ว ทีนี้เราจะมาลองเขียนโปรแกรมในตำนานกันเลยดีกว่านะครับ นั้นก็คือโปรแกรม Hello World !!! ให้เราเริ่มจากการสร้าง สคลิป C# ขึ้นมา โดย ให้เราคลิกที่แทบเมนูด้านซ้ายบนน่ะครับ ให้เราเลือก Asset > Create > C# Script (ตามรูปด้านล่างเลยครับ)

จากนั้น ตัวของ C# Script จะไปอยู่ในส่วนของ Project ตามรูปด้านล่างน่ะครับ แล้วให้เราตั้งชื่อมันสะนะครับ ของผมตั้งว่า HelloWorld น่ะครับ (ตามรูปด้านล่างเลยครับ)

เสร็จแล้วให้เรากดดับเบิ้ลคลิกที่ สคลิป HelloWorld ของเรานะครับ เพื่อจะทำการแก้ไขสคริปเลยนะครับ จะเห็นว่ามันจะเปิดตัวโปรแกรม MonoDevelop ขึ้นมา ซึ้งเราอาจจะไม่รู้จัก ก็ไม่เป็นไรครับ เดี๋ยวบทความต่อไปผมจะบอกวิธี เปิดด้วย Visual Studio หรืออื่นๆ อีกทีแล้วกัน

มาต่อกันครับในรูปข้างล่าง จะเห็นว่าชื่อ class มันไม่ตรง เพราะตอนแรกเราตั้งว่า HelloWorld ตามรูปด้านบน แต่มันดันเป็น NewBehaviourScript สะงั้น ให้เราเปลี่ยนเป็น HelloWorld ให้ตรงกับที่เราสร้างไว้แต่แรกนั้นเอง หรือถ้าตรงแล้วก็ข้ามขั้นตอนนี้ไปเลยได้เลยครับ ซึ้งจะเห็นว่า มันจะสร้างฟังชั่นมาให้เราไว้สองฟังชั่นเลย คือ Start() และ Update() ตามรูปเลยน่ะครับ

จากรูปด้านล่าง เมื่อเราเปลี่ยนชื่อ class ให้เป็น HelloWorld ตามที่เราตั้งไว้ในตอนแรกแล้วนั้น แล้วเราก็ลองใส่โค้ด Debug.Log("Hello Wolrd") แทรกเข้าไปในฟังชั่น Start() ซึ้งการทำงานของฟังชั่น Start() จะทำงานในตอนแรกของการรันโปรแกรมเพียงครั้งเดียวครับ ส่วนฟังชั่น Update() จะทำงานตลอดเวลาครับ ลองทำตามรูปด้านล่างเลยได้เลยครับ

เอาล่ะครับ ทำเสร็จกันแล้ว Save ดีกว่า ^_^ เมื่อกด Save แล้ว จากนั้นเรากลับไปที่ Unity ครับ ให้เราลากสคลิป HelloWorld ของเราไปใส่ไว้ใน Main Camera ตามรูปแล้วจะเห็นว่า สคลิป HelloWorld จะไปอยู่ใน Main Camera แล้ว วิธีตรวจสอบให้เราคลิกที่ Main Camera ในส่วนของ Hierarchy ในเป็นแทบสีน้ำเงิน แล้วดูในส่วนของ แล้วดูในส่วนของแทบ Inspector จะเห็นว่าสคลิป HelloWorld ของเราได้เข้าไปอยู่ใน Main Camera เรียบร้อย (*ถ้าไม่ลากสคริปไปไว้ในกล้องหรือตัว object อื่นๆ อันใดอันนึง สคริปก็จะไม่ทำงานนะครับ นี่เป็นสาเหตุว่าทำไมต้องลากสคริปไปยัดไว้ในกล้องนะครับ ) ตามรูปด้านล่างเลยครับ

เมื่อเราลากสคริปเข้ามาแล้ว จากนั้นให้เรากด Ctrl + S เพื่อเซฟกันเลย การเซฟคราวนี้เป็นการเซฟ scene ครับ (*scene คืออะไร ถ้าเปรียบกับหนังสือ scene ก็เหมือน หน้าในหนังสือหน้าใดหน้าหนึ่งนั้นเอง พอมาเป็นเกมส์ scene ก็คือหน้าของเกมส์ แต่ละหน้านั้นเองครับ) เอาล่ะครับต่อกันเลย ผมจะเซฟ scene ชื่อว่า scene1 แล้วกด save ตามรูปเลยครับ

เราจะเห็นว่า scene1 ของเราก็จะไปอยู่ใน Project ของเราเรียบร้อยตามรูปด้านล่างน่ะครับ

จากนั้นเรามาลองทดสอบกันเลย โดยกด run ได้เลยครับ หรือจะ Ctrl + P ก็ได้ แล้วเราก็ได้แล้ว Hello World ดูในแทบ Console ตามรูปด้านล่างครับ ซึ่งเป็นผลลัพที่เราได้จากคำสั่ง Debug.log นั้นเองครับ

บทความนี้เป็นบทความแบ่งปันความรู้เท่านั้น ไม่ได้ตั้งใจมาสอนอะไร ขอให้ได้อะไรไปจากบทความนี้บ้าง ขอบคุณที่เข้ามาอ่านครับ แล้วเจอกันใหม่ในบทความต่อไป ^______^

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

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
New Project and Hello World (Unity3D Thailand)

# data[].attributes.attachment_link.description
สอน Unity3D - บทความที่ 2 ครับ มาสร้างโปรเจ็กแรกกันเลย นั้นคือโปรเจ็ก Hello Word ซึ่งเป็นโปรเจ็กแรก โปรเจ็กที่คุ้นหูคุ้นตากันดีน่ะครับ ภายในวดีโอก็จะมีตัวอย่างการสอนการใช้งานตัวโปรแกรม Unity ให้ด้วยนิดๆหน่อยๆครับ พวกวิธีการสร้างโปรเจ็กใหม่ การสร้างสคริป การนำสคริปไปใช้ยังไง แล้วดูผลลัพย์หรือผลการ Run กัน ยังไงก็ลองไปชมวิดีโอกันเลยกับ Unity3D Thailand (Thai Unity) บทความนี้เราจะมาดูวิธี New Project และ Hello World กันน่ะครับ เริ่มกันเลยกับบทความนี้ น่ะครับ ให้เราคลิกที่แทบเมนูด้านซ้ายบนน่ะครับ แล้วให้เราเลือกไปที่ File แล้วเลือกที่ New Project... ตามรูปเลยแล้วกันนะครับ คลิก File>New Project..

# data[].attributes.headline
เริ่มต้น เขียน Unity3D

# data[].attributes.subject
เริ่มต้น เขียน Unity3D

# data[].attributes.attachment_link.readable_text
บทความนี้เก่าแล้วนะครับ ปัจจุบัน Download ด้วยวิธีนี้ >> Unity3D Download 2017 << ตามลิ้งไปเลยครับ

สวัสดีกันก่อนเลยแล้วกันครับ เรามาโหลด โปรแกรมสร้างเกมส์ที่ชื่อว่า Unity กันเลยนะครับ โปรแกรม Unity นี้ทำอะไรได้บ้าง ง่ายๆเลยครับ Unity เป็นโปรแกรมที่เอาให้เหล่าโปรแกรมเมอร์ทั้งหลายได้ใช้พัฒนาเกมส์นั้นเอง ซึ่งตัวของ Unity เมื่อเราสร้างเกมส์ใหดเกมส์หนึ่งเสร็จแล้วก็สามารถที่จะเอาไปลงในแพทฟอร์มต่างได้เกือบจะทุกแพทฟอร์มเลยก็ว่าได้ เช่น เกมส์บนเว็บ,ในโทรศัพท์,ในเครื่องคอมพิวเตอร์ , เครื่อง XBox เป็นต้น โปรแกรม Unity สามารถทำได้ทั้งแบบ 2D,3D,ออนไลน์ เป็นโปรแกรมที่ใช้ฟรี ใช่ง่าย

เนื่องด้วยข้อมูล Unity ในไทยเรา ไม่ค่อยจะมีใครเผยแพร่สักเท่าไหร่ ผมก็เลยจัดให้เลยกับบทความเกี่ยวกับ Unity นี้สะเลย ต้องขอออกตัวก่อนเลยว่าไม่ได้เป็นคนเก่งอะไร แต่พอจะมีความรู้บ้างเล็กๆน้อยๆ เอาล่ะครับมาเริ่มกันเลยดีกว่า กับ Unity3D Thailand (Thai unity)
ใครที่ต้องการโหลดโปรแกรมน่ะครับ ไปที่เว็บหลักได้เลยจ้า ตามลิ้งนี้เลยครับ unity3d.com/unity/download

กดโหลดเสร็จแล้วเราก็รอกันยาวๆครับ ขอให้โหลดกันสดวกๆน่ะครับ 5555 พอโหลดเสร็จแล้วก็ลงเลยครับ ขั้นตอนการลงก็ไม่อยาก Next อย่าง รูปประกอบสักหน่อยแล้วกัน

สำหรับหน้าแรกก็เป็นข้อความยินดีต้อนรับของ Unity ธรรมดาครับ เกี่ยวกับการ Setup ต่างๆ เราก็สามารถกด Next ไปยังขั้นตอนต่อไปได้เลยครับ

ส่วนหน้านี้ก็เป็นเงื่อนไขและเรื่องของลิขสิทธิ์ต่างๆที่ให้เราอ่านแล้วต้องยอมรับไปครับ โดยกดที่ปุ่ม I Agree เพื่อไปต่อขั้นตอนต่อไปครับ

ส่วนหน้านี้ก็เป็นหน้าที่ให้เราเลือกลงโปรแกรมต่างๆ เราก็เลือกให้หมดเลยครับ หรือจะไม่เอา MonoDevelop ก็ได้ครับถ้าเราจะใช้ Visual Studio หรืออื่นๆ จากนั้นเราก็กด Next เพื่อไปขั้นตอนต่อไปครับ

หน้านี้ก็เป็นหน้าที่ให้เราเลือกที่อยู่ที่เราจะลงโปรแกรมครับจะกด Install เลยหรือจะเลือกที่ลงโปรแกรมที่อื่นก็ได้ครับ

หลังจากที่เรากด Install แล้ว หน้านี้ก็จะเป็นหน้าแสดงรายละเอียดต่างๆที่ว่ามีไฟล์อะไรบ้าง เราก็รอจนกว่าจะเสร็จครับ

ขั้นตอนการลงโปรแกรมของเราก็เสร็จแล้วครับ ตามรูปเลยครับ ง่ายๆเอง ^_^ จากนั้นก็กด Finish เพื่อจบขั้นตอน พอลงเสร็จโปรแกรมก็ออกมาหน้าตาประมาณรูปด้านล่างนี้ครับ

ก็บทความแรกขอเอาไว้เท่านี้ก่อนครับ ใครที่ชอบหรือพอใจบทความก็เอาไปแชร์ให้เพื่อนๆก็ได้ครับ ขอบคุณที่เข้ามาอ่าน Unity3D Thailand ( Thai Unity )

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.description
สวัสดีกันก่อนเลยแล้วกันครับ เรามาโหลด โปรแกรมสร้างเกมส์ที่ชื่อว่า Unity กันเลยนะครับ โปรแกรม Unity นี้ทำอะไรได้บ้าง ง่ายๆเลยครับ Unity เป็นโปรแกรมที่เอาให้เหล่าโปรแกรมเมอร์ทั้งหลายได้ใช้พัฒนาเกมส์นั้นเอง ซึ่งตัวของ Unity เมื่อเราสร้างเกมส์ใหดเกมส์หนึ่งเสร็จแล้วก็สามารถที่จะเอาไปลงในแพทฟอร์มต่างได้เกือบจะทุกแพทฟอร์มเลยก็ว่าได้ เช่น เกมส์บนเว็บ,ในโทรศัพท์,ในเครื่องคอมพิวเตอร์ , เครื่อง XBox เป็นต้น โปรแกรม Unity สามารถทำได้ทั้งแบบ 2D,3D,ออนไลน์ เป็นโปรแกรมที่ใช้ฟรี ใช่ง่าย เนื่องด้วยข้อมูล Unity ในไทยเรา ไม่ค่อยจะมีใครเผยแพร่สักเท่าไหร่ ผมก็เลยจัดให้เลยกับบทความเกี่ยวกับ Unity นี้สะเลย ต้องขอออกตัวก่อนเลยว่าไม่ได้เป็นคนเก่งอะไร แต่พอจะมีความรู้บ้างเล็กๆน้อยๆ เอาล่ะครับมาเริ่มกันเลยดีกว่า กับ Unity3D Thailand (Thai unity) ใครที่ต้องการโหลดโปรแกรมน่ะครับ ไปที่เว็บหลักได้เลยจ้า ตามลิ้งนี้เลยครับ unity3d.com/unity/download กดโหลดเสร็จแล้วเราก็รอกันยาวๆครับ ขอให้โหลดกันสดวกๆน่ะครับ 5555 พอโหลดเสร็จแล้วก็ลงเลยครับ ขั้นตอนการลงก็ไม่อยาก

# data[].attributes.body
อยากสร้างเกมด้วย Unity3D ตั้งแต่ต้นจนจบต้องรู้อะไรบ้าง

# data[].attributes.attachment_link.provider_name
DE : Digital media & game system Engineering

# data[].attributes.attachment_link.title
อยากสร้างเกมด้วย Unity3D ตั้งแต่ต้นจนจบต้องรู้อะไรบ้าง ? (1)

# data[].attributes.attachment_link.description
พอดีมีน้องคนหนึ่งได้มาถามเข้ามาว่าอยากจะสร้างเกมแบบ The Sim...

# data[].attributes.headline
มาเริ่มเขียนเกมส์ด้วย Unity3D

# data[].attributes.subject
มาเริ่มเขียนเกมส์ด้วย Unity3D

# data[].attributes.attachment_link.keywords[]
อยากเขียนเกมส์ อยากทำเกมส์ อยากสร้างเกมส์ สอนใช้งาน unity3d thailand เขียนโปรแกรมเบื้องต้น ภาษา c#

# data[].attributes.attachment_link.title
รวม Tutorial ( สอน Unity อยากเขียนเกม อยากสร้างเกม)

# data[].attributes.attachment_link.description
อยาก สร้างเกม เริ่มจากตรงไหน ในเว็บนี้ สร้างเกม ด้วย Unity - เราได้รวบรวมทุกบทความของ Unity Thailand ไว้ที่นี่นะครับ สำหรับเพื่อน...