แสดงบทความที่มีป้ายกำกับ Unity แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Unity แสดงบทความทั้งหมด

วันอังคารที่ 26 มกราคม พ.ศ. 2559

Unity 3D-2D ทำ Animator ตัวละคร Part3

วันนี้จะขอบันทึกเรื่องการกำหนดเงื่อนไขในการเปลี่ยนท่าทางตัวละครโดยใช่เงื่อใข เช่น
หากอยู่กับที่ให้เป็นท่ายืนตลอด แต่พอตอนวิ่งค่อยเปลี่ยนท่าทาง ประมาณนี้
1.ไปที่หน้าต่าง Animator จากนั้นเลือก Parameters กด +  > Bool ตามด้วยต้งชื่อ
2.เลือกลูกศรที่ต้องการ จากนั้น กด + ที่อยู่ในส่วน Conditions เพื่อใช้เป็นเงื่อนไขตรวจสอบ และอย่าลืมเพิ่มลูกศรกลับไปที่ Animation หลักด้วย เพื่อที่จะให้ย้อนภาพกลับไปเป็นภาพหลักได้
เมื่อเสร็จแล้วจะได้รูปด้านล่าง

3. ต่อไปจะเป็นการเขียนสคริปในการเปลี่ยนท่าตัวละคร สร้างสคริปต์ชื่อ Animation

using UnityEngine;
using System.Collections;

public class Animation : MonoBehaviour {
//ประกาศตัวแปรไว้เก็บค่า Animation ไว้ในตัวแปร Move
private Animator move; 
// Use this for initialization
void Start () {
//เก็บค่า Animation
move = GetComponent<Animator> ();
}
// Update is called once per frame
void Update () {
}
//สร้าง GUI ขึ้นมา
void OnGUI(){
//เป็นคำสั่งกำหนดปุ่ม ชื่อ Wallk
if (GUI.Button (new Rect (0, 0, 100, 50), "Wallk")) {
//กำหนดค่า Parameter ให้เป็นจริง เมื่อกดปุ่ม
move.SetBool("Wallk",true);
}
if (GUI.Button (new Rect (0, 50, 100, 50), "Stand")) {
//เมื่แกดปุ่ม Stand กำหนดค่าให้เป็น เท็จ
move.SetBool("Wallk",false);
}
}
}

4. เมื่อเสร็จแล้วให้นำ สคริปไปใส่ในตัวละคร จากนั้นให้ลองรันเกมดูจะเห็นว่ามีปุ่มขึ้นมาสองปุ่ม และเมื่อกด จะทำให้เกิดท่าทางที่ต่างกัน


วันจันทร์ที่ 18 มกราคม พ.ศ. 2559

Unity 3D-2D ทำ Animator ตัวละคร Part2

วันนี้จะเป็นการเพิ่ม Animation Clip เข้าไปเนื่องจากว่าตอนที่แล้วนั้นเราทำไปแค่ ท่าทางเดียว
ซึ่งที่จริงแล้วก็ไม่มีอะไรแค่ทำเหมือนตอนที่แล้วนั่นเอง
1. ไปที่หน้าต่าง Animation แล้วเลือก Create New Clip ตั้งชื่อ Sprite ที่เราต้องการ แล้วกดตกลงได้เลย

2. นำภาพที่เราจะทำให้เคลื่อนไหวไปวาง ในเฟรม เละกำหนดค่า Sample ให้เหมาะสม
3.เปิดไฟล์ Animator ที่เราสร้างไว้เมื่อตอนที่แล้วขึ้นมา จะได้หน้าตาประมาณนี้
    * ในส่วนสีส้มนั้นหมายถึง Animation หลัก ส่วนสีเทานั้นคือ Animation รอง ซึ่งในส่วนการทำงานนั้นจะเริ่มทำงานที่ส่วนหลักก่อนเสมอ จากนั้นจึงไปตามเล่นลูกศร (Transition)
4. สร้างเส้นลูกศรนึ้มมาโดยการคลิ๊กที่ Animation หลักและเลือ Make Transition แล้วคลิกลงไปที่ Animation Clip รอง และจะขึ้นลูกศรนำทาง
5. เมื่อทดสอบรัน จะเห็นว่า Animation วิ่งตาม ลูกษรที่เราได้กำหนดไว้ โดยจะเริ่มในท่าทางแรก
จากนั้นจะไปท่าทางที่สอง และจะอยู่ที่ท่าทางสองตลอด เพราะว่าไม่มีการกำหนดต่อไป หากเราต้องต้องการให้ย้อนกลับเราก็สร้าง ลูกศร ไปที่ไปที่ Animation แรกได้เหมือกัน

     หากเราต้องการเพิ่มให้มีหลายท่าทางเราก็ทำการเพิ่ม Animation  เข้าไปอีก




วันศุกร์ที่ 1 มกราคม พ.ศ. 2559

Unity การสร้าง GUI อย่างง่าย

GUI เปรีบเมสอนปุ่มเมนูต่างภายในเกมหรือแอป(โดยความเข้าใจส่วนตัว) รวมทั้งปุ่มกดบนทัชสกรีนด้วย
เริ่มต้นด้วยการสร้าง สคริป ขึ้นมาชื่อว่า MainGUI ละกัน
เพิ่ม Void OnGUI () เข้าไปจะได้ดังนี้




















จากนั้นลองเพิ่มคำสั่งนี้ลงไปดู   
GUI.box(new rect(0,0,100,20),"Score");
อธิบายได้ดังนี้ 
เรียกใช้กล่องข้อความโดยกำหนดตำแหน่ง ดังนี้ (ตำแหน่ง X,ตำแหน่ง Y,กว้าง,สูง),ข้อความที่จะแสดง

หากทดลองรันเกมจะได้ดังนี้














จะเห็นได้ว่ามีกล่องสี่ดหลี่มและมีคำว่า Score อยู่ข้างในกล่อง
แต่หากว่าเราไม่ต้องการให้มีกล่องสี่เหลี่ยมดำๆก็แค่เปลี่ยนจาก box เป็น label แทนกล่องก็จะหายไป

หากเราต้องการให้มีคะแนนหรือแสดงค่าตัวแปรให้เราทำการประกาศตัวแปรก่อนแล้วนำตัวแปรมาใส่แทนตัวอักษร
ตามตัวอย่างด้านล่างเลย





พอรันเกมก็จะได้ดังนี้















จะเห็นว่าใต้กล่อง Score จะมีเลข 0โผล่ขึ้นมาซึ่งเป็นตัวแปรที่เราประกาศไว้และเราก็เรียกมาใช้งาน
แต่หากว่าเราต้องการจะให้คะแนนเพิ่มหละต้องทำไง ง่ายมากเราก็แค่สร้างปุ่มเพิ่มคะแนนขึ้นมาครับ








if = คำสั่งตรวจเช็คเงื่อนไข
GUI.Button = คำสั่งปุ่มกดGUI 
Screen.height -20 = การนำความสูงของหน้าจอมาคำนวนเช่น
                                ขนาดหน้าจอ สูง 640 ก็จะได้ 640-20= 620
                                620 คือตำแหน่งที่จะแสดงปุ่มกดเพิ่มคะแนนนั่นเอง

PlayerScore +=10 = บวกค่าให้ตัวแปร PlayerScore จำนวน 10 ค่านั่นเอง

จากนั้นลองรันเกมและกดปุ่มเพิ่มคะแนนดู














จะเห็นได้ว่าเลข 0 จะบวกขึ้นไปที่ละ 10 
หากว่าลองทำดูแล้วไม่ขึ้นหรือเออเร่อลองตรวจสอบดูตามนี้ว่าตรงหรือไม่