Deutsch / German:
Die alte Plugin-API hatte 3 Klassen, um benutzerdefinierte Elemente in der Welt zu erstellen: Die World3DModel-Klasse (um ein benutzerdefiniertes 3D-Modell zu erzeugen), die World3DText-Klasse (um einen 3D-Text zu erzeugen) und die WorldArea-Klasse (um einen Bereich zu visualisieren).
Wir haben diesen Teil nun für die neue API überarbeitet: Es gibt eine Basisklasse GameObject , die ein leeres (unsichtbares) Element in der Welt darstellt. Sie können ihm einen Collider hinzufügen oder auch andere Spielobjekte als Kind anhängen (ähnlich wie die Kind-Eltern-Behandlung für UI-Elemente funktioniert).
Es gibt eine abgeleitete Model-Klasse, die ein Netz und ein Materialobjekt akzeptiert - dies ist nützlich, wenn Sie grundlegende Elemente (z. B. primitive Elemente wie einen Würfel) oder prozedural generierte Netze erzeugen möchten.
Es gibt auch eine abgeleitete Prefab-Klasse: Es stellt ein komplexeres 3D-Modell dar. Sie können ein Prefab in Unity erstellen und es dann in die API laden. Das Gute daran ist, dass ein Prefab eine beliebige Anzahl von Meshes / Submeshes, benutzerdefinierten Materialien und Shadern sowie benutzerdefinierten Unity-Komponenten enthalten kann. Auf diese Weise können Sie sogar Partikeleffekte, Animationen, physische Objekte usw. direkt in Unity erstellen, in ein AssetBundle exportieren und über die Plugin-API laden.
Wenn Sie ein Modell haben, das aus mehreren Texturen und Submeshes besteht, können Sie es jetzt ganz einfach in Unity importieren, in ein AssetBundle exportieren und als Prefab über die API laden - Sie müssen sich also nicht mehr mit "nur 1 Mesh und 1 texture"-Beschränkung der alten Java-API.
Die Prefab-Klasse ermöglicht Ihnen auch den Zugriff auf jedes Unterelement und jede Komponente, sodass Sie jederzeit einen Material- oder Animatorparameter oder einen visuellen Effekt ändern können.
Natürlich gibt es auch eine Text3D-Klasse, die ebenfalls von GameObject abgeleitet ist und einfach einen 3D-Text darstellt (ähnlich wie es in der Java-Version funktioniert hat).