Định nghĩa
- FO là các đồ vật có thể bị tác động bởi đạn bắn ra từ vũ khí (BulletTracer)
- Để biến một model có trong scene thành FO, chỉ cần gắn script fragile-object.lua
Cấu trúc
Một FO sẽ bao gồm các thành phần sau:
- Origin: Chính là model được gắn script
- Fragment: Các mảnh vỡ (Model) được sử dụng để tạo hiệu ứng vỡ cho entity, xuất hiện sau khi Origin bị tác động bởi BulletTracer thông qua function Frag()
- Mỗi Fragment là một model được parent vào Origin tại các vị trí phù hợp
- Fragment được đặt tên với công thức sau: [mainObjectName]-fragment-[x], trong đó
-
mainObjectName: Tên của Origin
-
x: Số thứ tự của Fragment bắt đầu từ 1
-
Ví dụ về tên của một fragment
Nếu tên của Origin là "buc-tranh" thì Fragment sẽ có tên là
- buc-tranh-fragment-1.mdl
- buc-tranh-fragment-2.mdl
- buc-tranh-fragment-3.mdl (v..v..)
- Remain: Model xuất hiện sau khi Origin bị phá vỡ (sinh ra các Fragment).
- một FO có thể không cần đến Remain, khi đó chính Origin sẽ có vai trò là Remain và có thể có Mass và CollisionType
- BreakSound: Tập hợp các âm thanh được lựa chọn ngẫu nhiên để phát khi Frag()
fragile-object.lua
fragmentText:
- Tên chung của các Fragment, không bao gồm số thứ tự, ví dụ "buc-tranh-fragment-".
- Trong trường hợp fragmentText bỏ trống, FO này sẽ không sinh ra fragment khi Frag()
fragmentCount:
- Số lượng fragment sinh ra sau khi Origin bị tác động bởi BulletTracer.
- Con số này trùng với số lượng model fragment (.mdl)
breakSoundText:
- Tên chung của file âm thanh được phát khi thực hiện Frag(), không bao gồm số thứ tự, ví dụ "glass-break-big-"
- Trong trường hợp breakSoundText bỏ trống, FO này sẽ không phát ra âm thanh khi Frag()
breakSoundCount: