Unity Test Runner: Scene Setup

Chapter 2 [Tutorial] Unity Test Runner: Scene Setup

GatoMaster
3 min readDec 5, 2018

Chapter 1 Introduction to Unity
Chapter 2 [Tutorial] Unity Test Runner: Scene Setup
Chapter 3 [Tutorial] Unity Test Runner: Setup and Dead Zone Test
Chapter 4 [Tutorial] Unity Test Runner: Teardown and Platform Test

บทความนี้จะเป็นการเซทอัพ Scene เกมสำหรับการทำเทส โดยจะทำการสร้าง Player Object, Dead Zone และ Dead Script ตามตัวอย่างต่อไปนี้

Scene Setup

  1. ทำการสร้างโปรเจค

เปิดโปรแกรม Unity และทำการสร้างโปรเจคเมื่อสร้างเสร็จ เราจะได้หน้าต่าง Unity Editor แบบนี้

2.ให้ทำการสร้าง Resources Folder

Resources Folder จะมีหน้าที่เก็บ Object ต่างๆ เอาไว้ที่เดียวเพื่อง่ายต่อการเรียกใช้งาน โดยวิธีการสร้าง ให้ไปที่ Scene คลิกขวาที่ Assets → Create → Folder ตั้งชื่อ Resources

3.สร้าง Player Object

จากนั้นให้เราทำการสร้าง GameObject โดยเราจะ Object อันนี้เป็น Player หรือตัวละครหลักในการเทสของเรา โดยให้ไปที่ Menu bar เลือก GameObject → 3DObject → Sphere

จากนั้นทำการตั้งชื่อ Sphere โดยไปที่ Inspector ทางขวามือ จากนั้นให้ใส่ Tag “Player” โดยการที่เราใส่ tag จะทำให้เราสามารถเรียกใช้งาน Object นี้ได้ง่ายขึ้น และจากนั้นให้ Rigidbody โดยไปที่ ปุ่ม Add Component เลือก Rigidbody

Rigidbody ใส่เพื่อควบคุม physics engine ของ Object นั้น
Use Gravity เลือกเพื่อให้ แรงโน้มถ่วงมีผลกับ Object

เมื่อทำการสร้าง Player Object เสร็จแล้ว ให้ลองทดสอบโดยกดเครื่องหมาย Play

Result: ลูกบอลจะต้องตกลงมา

3.สร้าง Dead Zone

เป้าหมายของการสร้าง Dead Zone คือ เมื่อลูกบอลตกลงมาสัมผัสกับ DeadZone ลูกบอลจะต้องถูกลบออกจากเกม

3.1 สร้าง Create Empty โดยคลิกขวาที่ Hierarchy → Create Empty

ให้ทำการตั้งชื่อ DeadZone จากนั้นทำการ Add Component เลือก Box Collider โดยที่ตัว Box Collider จะเป็น Component ที่มาตรวจสอบการชน

จากนั้นให้เราทำการปรับขนาดของตัว Box Collider ให้เป็นฐานสำหรับไว้ดักลูกบอลที่ตกลงมา

ทำการสร้าง Script โดยคลิกขวาที่ Resources → Create → C# Scripts ตั้งชื่อไฟล์ DeadZone

ใน Script ให้สร้างเมธอด OnCollisionEnter เพื่อเช็ค ถ้าลูกบอลตกลงมาชนกับ Dead Zone ลูกบอลจะต้องถูกลบออกจาก Scene โดยคำสั่งในการลบคือ Destroy()

OnCollisionEnter เป็นเมธอดที่จะถูกเรียกใช้งานเมื่อ collider/rigidbody ชนกับอีก   collider/rigidbody 
ภายในเมธอด จะสร้างเงื่อนไข เมื่อ collider Dead Zone สัมผัสโดน Game Object ที่ติด Tag "Player" จะทำการลบ Player ภายใน 1 วินาที

จากนั้นทำการลาก Script DeadZone ไปไว้ที่ DeadZone ที่เราสร้างไว้

จากนั้นลองกด Play เมื่อลูกบอลหล่นลงมาจะต้องถูกลบออกจากเกม

--

--