Dan tidak, saya tidak mengklaim bahwa artikel saya adalah sejenis, karena metodenya cukup sederhana, tetapi untuk beberapa alasan saya tidak menemukan tutorial langsung untuk ini.
Mari kita mulai dengan fakta bahwa dalam Unity TIDAK DIPERBOLEHKAN UNTUK MENGHANCURKAN / MEMISAHKAN / MEMOTONG suatu objek, kehancuran kita sebenarnya bukan kehancuran sama sekali, tetapi hanya tiruan visual dari mereka, karena, seperti yang saya katakan di atas, tidak mungkin sebaliknya.
SENDIRI!
Berhentilah menuangkan air dan buang waktu Anda (saya masih ingin meninggalkan kata pengantar). Pertama, Anda perlu mengunduh program bernama Blender dari toko Steam, setelah itu kita masuk dan mulai mengerti.
Buat proyek baru, dan di tab "Edit / Edit", cari tombol "Addons", dan tulis Fraktur Sel di pencarian, lalu beri tanda centang di sebelahnya untuk mengaktifkannya.
Lalu kami pergi ke adegan kami sendiri di Blender, dan kami melihat di sana kubus yang awalnya ada saat membuat adegan.
Kami tertarik pada tab "Modeling", masuk ke dalamnya, klik kanan pada objek> bagi lagi, dan kami melihat bahwa kubus telah menjadi, seolah-olah, "sel"
Sekarang kembali ke tab pertama "Layout", klik pada tombol objek / objek> efek cepat / efek cepat> Fraktur Sel, dan kita akan membuka jendela untuk mengelola Addon.
Cukup tekan tombol "YA" dan lihat hasilnya.
Seperti yang Anda lihat, kubus kami terbagi secara visual, yang berarti semuanya berjalan dengan baik, ini adalah fragmentasi.
Langkah terakhir dibiarkan di Blender, dan Anda dapat melanjutkan untuk membuat adegan, klik pada file / file> ekspor / ekspor> .fbx, dan simpan ke folder yang nyaman bagi kami.
Kita membuka Unity, membuat atau membuka proyek lama, dan mulai merakit scene kita. Untuk melakukan ini, kita perlu membuat plne dan sphere, sekarang kita tambahkan kubus yang baru saja kita ekspor dari folder kita ke jendela hierarki, lalu seret langsung ke scene.
Agar Unity memahami bahwa ini adalah objek fisik, Anda perlu menambahkan dua hal, klik kubus kami di jendela hierarki, sehingga memperluas daftar objek di dalamnya (bagian-bagiannya), lalu menahan shift, memilih objek pertama dari daftar, dan bagian paling terakhir, dengan manipulasi ini kami akan memilih seluruh daftar.
Tetap mengklik AddComponent, dan dalam pencarian, setelah mendaftarkan collider, pilih "Mesh Collider".
Di collider itu sendiri, klik "Convex" untuk menampilkannya, dan hanya itu.
Sekarang kita ulangi apa yang kita lakukan sebelumnya, tapi kita hanya mencari Rigidbody.
Anda perlu melakukan hal yang sama dengan sphere, hanya tanpa collider, karena awalnya hang di sana.
Ini mengakhiri persiapan kami, dan kami dapat melanjutkan ke yang paling menarik, seperti yang mereka katakan - "singkatnya adalah saudara dari bakat", itulah sebabnya kami membuat skrip C # baru di jendela hierarki, dan menulis yang berikut di sana:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FragmentSplit : MonoBehaviour {
public bool isdead = false; // ,
public float timeRemaining = 100;// ( )
void Start()
{
GetComponent<Rigidbody>().isKinematic = true;//
}
void OnCollisionEnter(Collision collision)//
{
GetComponent<Rigidbody>().isKinematic = false;// - ,
isdead = true;// , "",
}
void Update()
{
if (isdead)// ,
{
timeRemaining -= Time.deltaTime;//
if (timeRemaining < 0) // ,
{
Destroy (gameObject);//
}
}
}
}
Sekarang, untuk terakhir kalinya, pilih semua objek dalam daftar, klik pada AddComponent, dan tambahkan skrip
kami Angkat bola kami di atas kubus dan nyalakan proyek.
Seperti yang Anda lihat, semuanya bekerja dengan baik, kubus pecah, bola kita berguling di suatu tempat.
Itu saja, ya, mungkin Anda akan mengatakan bahwa Anda dapat melakukan pemindahan yang lebih halus sehingga potongan-potongannya hilang, dan tidak terlalu canggung, dan semua itu.
Saya hanya akan menjawab Anda bahwa saya baru saja mendemonstrasikan cara kerja skrip, dan tidak menjelaskan secara rinci tentang bagaimana dan kapan akan menghapus "puing-puing" ini, tetapi hanya menunjukkan bahwa itu mungkin dan sebagainya, dan sama sekali tidak ada yang rumit tentang itu.
Saya tidak membantah bahwa aset dari Unity (atau pengembang lain) akan lebih baik daripada skrip saya dengan beberapa baris, tapi tetap saja.
Saya tidak melakukan artikel ini dengan penekanan pada fakta bahwa orang-orang yang tahu dan memahami Unity dan bahasanya akan membaca saya, yang dapat menulis skrip dengan kontrol yang lebih tepat dari segala sesuatu yang terjadi pada suatu objek di atas panggung, saya membuat artikel untuk lebih banyak siswa dan pemula.
Saya tidak akan mengatakan bahwa saya tahu bahasanya dengan baik dan menyeluruh, tetapi ini bukan hari pertama dalam hal ini, secara umum, itu saja untuk saya, saya harap saya membantu seseorang, kode yang baik untuk kalian teman-teman! ..