[chapter]Giới thiệu[/chapter]
Object Pooling là kĩ thuật tái sử dụng lại thành phần đã tạo trước đó thay vì huỷ nó rồi tạo cái mới vì việc huỷ và tạo mới rất tốn thời gian hệ thống, cái này gần như được áp dụng trong hầu hết các game để tối ưu hoá hiệu suất.
Và đây là asset object pool do mình tự viết, kết hợp nhiều kĩ thuật để cách sử dụng đơn giản hơn bao giờ hết. Ví dụ:
Với các pool hiện giờ có trên asset store, bạn phải kéo PoolManager của nó vào Scene, rồi setup này nọ, còn với cái này, bạn không cần kéo gì vào hết.
Cách sử dụng của các pool khác thường kiểu như:
var clone = PoolManager.Pools["TênPool"].Spawn(prefab);
Còn của mình:
var clone = prefab.SpawnClone();
Khi huỷ, các Pool khác:
PoolManager.Pools["TênPool"].Despawn(clone);
Còn của mình:
clone.Despawn();
Việc sử dụng đã được tự nhiên hoá hết mức, gần như không biết đến sự tồn tại của Pool, mọi thứ đã được thực hiện ngầm bên dưới cả.
[chapter]Download[/chapter]
Sau đây là link download, cần phải gửi bài trả lời để down nha (chủ yếu là cho forum có bài mới để bớt hẩm hiu, dạo này ít bài quá).
![:3 :3](https://taotrochoi.com/vanilla/plugins/emojiextender/emoji/rice/blush.png)
:3 :3
[hide]
[chapter]Hướng dẫn[/chapter]
[thank]
Khi sử dùng ở class nào thì nhớ gọi
using ObjectPooling;
Để xem các lệnh có thể làm được, bạn mở file ObjectPoolExtension xem các hàm bên trong nó, có gì không hiểu cứ gửi ở đây mình sẽ trả lời.
[/thank]
Comments
Despawn là em gọi khi em không cần dùng đến nó nữa để huỷ object đó (thật ra là nó không hoàn toàn huỷ, chỉ là ẩn đi, sau đó đưa về pool để dùng lại).
Việc kiểm tra xem có nên despawn hay không thì mình làm thủ công thôi, vì có trường hợp đạn bay vòng, bay ra khỏi tầm nhìn xong vòng lại, nếu mình cho nó tự động thì nó sẽ bị mất một cách vô lý.
Còn nếu em muốn một đối tượng nào đó tự despawn khi ra khỏi camera thì chèn hàm này vào:
THAM GIA GROUP CỦA TTC TRÊN FACEBOOK
Có hiểu gì ko mà bảo ko hay :v, vấn đề này liên quan tới tối ưu bộ nhớ và xử lý của phần cứng. Nếu game lớn thì sẽ thấy tác dụng rõ.
Chắc kumuzu muốn asset gì đó làm nguyên 1 hệ thống lớn để vọc, cái đấy khi nào anh có làm thì sẽ share thôi, giờ share mấy cái cần thiết dùng cho mọi project thay vì chuyên biệt quá
:-/ :-/ :-/
THAM GIA GROUP CỦA TTC TRÊN FACEBOOK