30/09/2018, 19:16

Thắc mắc về Layer trong Unity

Cho mình hỏi Layer trong Unity là gì vậy? Sự khác nhau giữa Layer và Tag? Mình có tham khảo tài liệu của Unity rồi nhưng còn khá mơ hồ, mong các bác giải thích hộ mình

Nguyễn Hoàng Trung viết 21:30 ngày 30/09/2018

Mình không có xem qua lý thuyết nhưng qua quá trình làm thì mình thấy: Tag là để phân loại, còn Layer thì cũng dùng để phân loại để hiển thị trong màn chơi Nếu hiểu sai nhờ cao nhân chỉnh sửu giúp

Hỉnh Lê viết 21:25 ngày 30/09/2018

Bạn nói rõ hơn nữa được không

Nguyễn Hoàng Trung viết 21:30 ngày 30/09/2018

Lên Youtube xem cho rõ đi bác, cái tag mới chỉ thấy để bắt va chạm, còn Layer để chọn những vật có được xuất hiện trong game hay bị ẩn đi.

viết 21:29 ngày 30/09/2018

Tag là nhóm, chỉ đơn thuần để nhóm các object có chung đặc điểm lại với nhau. Ví dụ có nhiều loại enemy thì có thể nhóm lại thành Enemy, rồi ground thì có thể có nhiều loại tile khác nhau, nhóm chung lại thành tag Ground, hay nhiều loại Weapon, thậm chí có thể xài thêm EnemyWeapon. Xài tag thì dễ check trong OnCollisionEnter2D(Collider coll), chỉ cần kiểm tra tag của coll là biết va chạm với Ground hoặc Enemy. Nếu ko có thì chắc phải if else cả chục lần để kiểm tra Có thể đặt tên object theo kiểu Ground_Stone, Ground_Dirt, Enemy_Orc, Enemy_Goblin, Weapon_Arrow, Weapon_Bullet, Weapon_Sword rồi check cái tên này có contain Enemy hay Ground hay Weapon ko, thì thôi chế ra thêm cái tag rồi xài tag để cái tên nó ngắn lại.

Layer thì liên quan tới collision và rendering order, tức là có thể kiểm soát layer này có va chạm vói layer kia hay ko: http://docs.unity3d.com/Manual/LayerBasedCollision.html. Ngoài ra còn dùng để xếp thứ tự vẽ trước sau: https://unity3d.com/learn/tutorials/modules/beginner/2d/sorting-layers, ví dụ Background vẽ trước, rồi tới object tĩnh, tạm gọi la Foreground1, rồi tới object động Foreground2, như vậy thì Background sẽ nằm sau cùng, rồi tới Foreground1, còn Foreground2 sẽ luôn luôn ở phía trước.

Bài liên quan
0