ความสามัคคี - เข้าใจการชน
การชนกันใน Unity จะแยกออกจาก Sprite จริงโดยแนบเป็นส่วนประกอบแยกต่างหากและคำนวณด้วยตัวมันเอง ตอนนี้ให้เราเรียนรู้สาเหตุที่อยู่เบื้องหลังสิ่งนี้
Everythingในเกมของคุณคือ GameObject แม้แต่กระเบื้องแต่ละชิ้นที่ประกอบขึ้นเป็นระดับของคุณก็เป็น GameObjects ด้วยตัวเอง
เมื่อเราพิจารณาทุกองค์ประกอบเป็น GameObject เราตระหนักดีว่าอาจมี thousandsของ GameObjects ในฉากโต้ตอบกันไม่ทางใดก็ทางหนึ่ง คุณสามารถจินตนาการได้ว่าหาก Unity เพิ่มการชนให้กับ GameObject ทุกรายการเครื่องยนต์จะคำนวณการชนกันไม่ได้สำหรับทุกการชน
เราจะไปข้างหน้าและเพิ่ม "กำแพง" ง่ายๆที่ตัวละครผู้เล่นของเราสามารถชนกันได้ ในการทำเช่นนั้นให้สร้างสไปรต์ขึ้นมาใหม่และปรับขนาดโดยใช้เครื่องมือ Rect เราจะให้สีแดงผ่านไฟล์Color คุณสมบัติในคอมโพเนนต์ Sprite Renderer
ตอนนี้ไปที่ Add Componentในตัวตรวจสอบและพิมพ์“ Box Collider 2D” คลิกองค์ประกอบแรกที่ปรากฏขึ้นและองค์ประกอบใหม่ควรปรากฏขึ้น
คุณจะเห็นเส้นสีเขียวสว่างที่ขอบของ GameObject ของคุณ นี้เป็นcollision boundary. มันคือสิ่งที่กำหนดความเป็นจริงshape ของวัตถุที่ชนกันได้
ทำซ้ำเช่นเดียวกันกับ GameObject ที่เคลื่อนย้ายได้ของเราเช่นกัน
แน่นอนว่าการชนกันใน Unity ไม่ได้ จำกัด อยู่แค่ในกล่องเท่านั้น พวกเขาสามารถมีรูปร่างและขนาดได้หลากหลายและไม่จำเป็นต้องจำลองพารามิเตอร์ของวัตถุ
นอกจากนี้ยังสามารถสร้างรูปทรงหลายเหลี่ยมได้
ไม่ใช่เรื่องแปลกที่จะเห็นนักพัฒนาและนักออกแบบใช้ approximateรูปร่างในขอบเขตการชนเพื่อลดความซับซ้อนของการชนและหลีกเลี่ยงการคำนวณที่ไม่จำเป็นสำหรับเครื่องยนต์ เราจะเรียนรู้วิธีสร้างรูปทรงและขนาดที่แตกต่างกันด้วย colliders ของเราเร็ว ๆ นี้
ตอนนี้เรามีขอบเขตการชนกันแล้วให้กดเล่นและดูการใช้งานจริง
คุณจะสังเกตเห็นว่าวัตถุที่เคลื่อนย้ายได้ของเราไม่ทำงานปกติ เราจะพูดถึงพฤติกรรมของวัตถุในบทต่อไปของเรา