Unity Hybrid ECS dengan "cara lama"


8

Apakah mungkin menggunakan Hybrid ECS dengan beberapa komponen dan standar MonoBehaviourdengan semua kode lama Anda?

Saya ingin tahu karena saya sudah memiliki beberapa mekanisme permainan dengan cara "lama" dan saya ingin membangun yang baru menggunakan hibrida

Jawaban:


8

Sangat mungkin untuk mencampur kedua gaya. GameObject yang sama dapat memiliki beberapa fungsinya diimplementasikan dengan sistem ECS baru dan fungsi lainnya di acara MonoBehaviour klasik.

Apa yang Unity sarankan dalam tutorial ECS mereka sebenarnya adalah memulai dengan proyek yang menggunakan gaya lama dan kemudian mencari fitur yang menurut Anda akan mendapat manfaat dari refactoring mereka ke pola ECS baru:

Apa artinya ini untuk game saya?

Anda dapat satu per satu, mengonversi perilaku dari metode MonoBehaviour.Update ke ComponentSystems. Anda sebenarnya bisa menyimpan semua data Anda di MonoBehaviour, dan ini sebenarnya cara yang sangat sederhana untuk memulai transisi ke kode gaya ECS.

Jadi data adegan Anda tetap di GameObjects & komponen. Anda terus menggunakan GameObject.Instantiate untuk membuat instance, dll.

Anda cukup memindahkan konten MonoBehaviour.Update Anda ke metode ComponentSystem.OnUpdate. Data disimpan di MonoBehaviour yang sama atau komponen lainnya.

Ini tentu saja tidak memanfaatkan manfaat dari sistem Pekerjaan baru dan instantiasi entitas melalui EntityManager. Tetapi fitur-fitur baru itu juga dapat dicampur dan dicocokkan dengan MonoBehaviour klasik.

Untuk informasi lebih lanjut tentang cara mengonversi game dari menggunakan pola MonoBehaviour klasik ke pola ECS, saya juga merekomendasikan seri video ini dari saluran Unity resmi tempat mereka mengonversi contoh penembak ruang lama yang bagus menjadi gaya baru selangkah demi selangkah membuat langkah penggunaan lebih banyak fitur baru. Setiap langkah di antaranya bekerja dengan sempurna. Versi final masih menggunakan beberapa objek game klasik, karena fitur yang belum tersedia dengan sistem ECS (efek partikel).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.