Und nein, ich behaupte nicht, dass mein Artikel einzigartig ist, weil die Methode recht einfach ist, aber aus irgendeinem Grund habe ich kein direktes Tutorial dafür gefunden.
Beginnen wir mit der Tatsache, dass Sie in Unity ein Objekt NICHT ZERSTÖREN / TRENNEN / SCHNEIDEN KÖNNEN. Unsere Zerstörung wird in der Tat überhaupt keine Zerstörung sein, sondern nur eine visuelle Nachahmung davon, da es, wie ich oben sagte, sonst unmöglich ist.
BESITZEN!
Hör auf Wasser zu gießen und verschwende deine Zeit (ich sah es immer noch als angebracht an, das Vorwort zu verlassen). Um loszulegen, müssen Sie ein Programm namens Blender aus dem Steam Store herunterladen. Danach gehen wir hinein und beginnen zu verstehen.
Erstellen Sie ein neues Projekt, suchen Sie auf der Registerkarte "Bearbeiten / Bearbeiten" nach der Schaltfläche "Addons", schreiben Sie "Zellbruch" in die Suche und setzen Sie ein Häkchen daneben, um es zu aktivieren.
Dann gehen wir zu unserer Szene selbst in Blender und sehen dort den Würfel, der beim Erstellen der Szene anfänglich vorhanden ist.
Wir interessieren uns für die Registerkarte "Modellierung", gehen Sie hinein, klicken Sie mit der rechten Maustaste auf das Objekt> unterteilen, und wir sehen, dass der Würfel sozusagen eine "Zelle" geworden ist.
Kehren Sie nun zur ersten Registerkarte "Layout" zurück, klicken Sie auf die Schaltfläche Objekt / Objekt> Schnelleffekte / Schnelleffekte> Zellbruch, und wir öffnen ein Fenster zur Verwaltung des Addons.
Drücken Sie einfach die Taste "JA" und sehen Sie sich das Ergebnis an.
Wie Sie sehen können, ist unser Würfel optisch unterteilt, was bedeutet, dass alles gut gelaufen ist. Dies ist genau die Fragmentierung.
Die letzten Schritte verbleiben in Blender. Sie können mit dem Erstellen einer Szene fortfahren, auf Datei / Datei> Exportieren / Exportieren> .fbx klicken und diese in einem für uns geeigneten Ordner speichern.
Wir öffnen Unity, erstellen oder öffnen ein altes Projekt und beginnen mit dem eigentlichen Zusammenstellen unserer Szene. Dazu müssen wir eine Ebene und eine Kugel erstellen. Jetzt fügen wir aus unserem Ordner in das Hierarchiefenster den soeben exportierten Cube ein und ziehen ihn direkt auf die Szene.
Damit Unity versteht, dass es sich um ein physisches Objekt handelt, müssen Sie zwei Dinge hinzufügen, auf unseren Würfel im Hierarchiefenster klicken, die Liste der darin enthaltenen Objekte (deren Teile es enthält) erweitern und dann die Umschalttaste gedrückt halten, das allererste Objekt aus der Liste auswählen und das sehr Zuletzt wählen wir mit dieser Manipulation die gesamte Liste aus.
Sie müssen noch auf die AddComponent klicken und bei der Suche, nachdem Sie den Collider registriert haben, "Mesh Collider" auswählen.
Klicken Sie im Collider selbst auf "Konvex", um es anzuzeigen, und fertig.
Jetzt wiederholen wir, was wir früher getan haben, aber wir suchen nur nach dem starren Körper.
Sie müssen dasselbe mit der Kugel tun, nur ohne den Collider, da er anfangs dort hängt.
Damit ist unsere Vorbereitung abgeschlossen, und wir können zu den interessantesten übergehen, wie sie sagen: "Kürze ist die Schwester des Talents". Deshalb erstellen wir ein neues C # -Skript im Hierarchiefenster und schreiben dort Folgendes:
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);//
}
}
}
}
Wählen Sie nun zum letzten Mal alle Objekte in der Liste aus, klicken Sie auf die AddComponent und fügen Sie unser Skript hinzu.
Heben Sie unsere Kugel über den Würfel und schalten Sie das Projekt ein.
Wie Sie sehen, funktioniert alles gut, der Würfel zerbricht, unsere Kugel rollt irgendwo.
Das ist alles, ja, vielleicht werden Sie sagen, dass Sie eine sanftere Entfernung vornehmen können, damit die Teile verschwinden und nicht so ungeschickt und so.
Ich werde Ihnen nur antworten, dass ich gerade demonstriert habe, wie das Skript funktioniert, und nicht auf die Details eingegangen bin, wie und wann es diese "Trümmer" entfernen wird, sondern einfach gezeigt habe, dass es möglich ist und so, und es ist absolut nichts Kompliziertes daran.
Ich behaupte nicht, dass Assets von Unity (oder anderen Entwicklern) ein paar Zeilen besser sind als meine Skripte, aber dennoch.
Ich habe diesen Artikel nicht mit dem Schwerpunkt auf der Tatsache geschrieben, dass ich von Leuten gelesen werde, die Unity und die Sprache kennen und verstehen, die ein Skript mit genauerer Kontrolle über alles schreiben können, was mit einem Objekt auf der Bühne passiert. Ich habe einen Artikel für Studenten und Anfänger gemacht.
Ich werde nicht sagen, dass ich die Sprache gut und gründlich kenne, aber dies ist nicht der erste Tag in diesem, im Allgemeinen ist das alles für mich, ich hoffe, dass ich jemandem geholfen habe, guter Code für euch Freunde!