ทำประตูเปิดง่ายๆด้วย Door manager script

การใช้งาน Unity

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

Asset ตัวนี้เป็นการทำประตูที่สามารถกดปุ่ม E เพื่อเปิดได้ครับ แต่ว่าตัวล่าสุดที่ผมดาวโหลดมาจะต้องมีการแก้ไขนิดหน่อย ในอนาคตผู้พัฒนาอาจจะแก้ไขบั๊กนี้แต่ถ้ายังไม่แก้มีวิธีแก้ไขดังนี้ครับ

เมื่อเรากด Play จะเกิด Error ฟ้องว่า Tag: D is not defined. ซึ่งวิธีแก้ไขก็ง่ายๆครับ เพียงแค่เราเพิ่ม Tag ใหม่ที่ชื่อว่า Door แล้วเปลี่ยน Object Door ให้ใช้แท็กนี้ เท่านี้ก็สามารถใช้งาน Asset ตัวนี้ได้แล้วครับ

มาดูตัวอย่าง Scene ที่สมบูรณ์กันครับ เราสามารถควบคุมตัวละครโดยปุ่ม wasd และเปิดประตูโดยใช้ปุ่ม E ครับ

 

ส่วนสำคัญของ Asset ตัวนี้มี 2 ส่วนด้วยกันนะครับ ส่วนแรกคือตัว Player ที่เราควบคุมเพื่อที่จะสั่งให้เปิดประตู มี Component ที่น่าสนใจคือ Detection มีพารามิเตอร์ดังนี้ครับ

Reach – ระยะห่างที่ตัวละครเราสามารถเปิดประตูได้ ยิ่งน้อยตัวเรายิ่งต้องเข้าไปใกล้เพื่อที่จะสามารถกดตัว E ได้ครับ

Debug Setting – ใช้กำหนดสีเส้น Debug ที่ตัวผู้เล่นจะยิงออกไปครับ

อีกส่วนก็คือตัวประตูครับ มาดูพารามิเตอร์ที่น่าสนใจกัน

Initial Angle  – ค่าเริ่มต้นมุมการหมุนของประตู

Rotation Angle  – เมื่อเปิดแล้วประตูจะหมุนกี่องศา

Hinge Side  – เปิดเปิดประตู จะหมุนไปทิศทางไหน

Speed  Rotating – ความเร็วการหมุนของประตู

Times Moveable  – จำนวนครั้งที่เปิดประตูได้ ถ้าเป็น 0 จะเปิดกี่ครั้งก็ได้

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

ถ้าเพื่อนๆคนไหนสนใจ สามารถดาวโหลดได้ ที่นี่ ครับ แล้วพบกันใหม่โอกาสหน้าครับ

 

 

 

 

บทความที่เกี่ยวข้อง

ไม่มีบทความที่เกี่ยวข้อง 🙇‍♂️

Menu