Plugin-Erstellung/Java/Arbeiten mit AssetBundle
|
* Diese Seite ist in Bearbeitung * This page is in progress *
Bitte schaue später noch einmal vorbei, um weitere Änderungen zu erfahren.
Please check back later for additional changes.
|
Arbeiten mit AssetBundle ist ein Rising-World-Wiki-Tutorial, das zeigt, wie ein AssetBundle innerhalb eines Java-Plugins geladen, in der Spielwelt platziert, animiert und wieder entfernt werden kann. Das Tutorial baut auf dem AssetBundles Erstellung Tutorial auf, in dem beschrieben wird, wie AssetBundles in Unity erstellt und gespeichert werden. In diesem Tutorial geht es um die (Plugin) Java-Seite: das Laden über die Plugin-API, die Konfiguration und die Anzeige im Spiel.
Voraussetzungen
- Grundlegende Java-Kenntnisse
- Eine eingerichtete Entwicklungsumgebung, zum Beispiel Eclipse für Rising World Plugins
- Ein bereits erstelltes Unity-AssetBundle
- Grundkenntnisse im Umgang mit AssetBundles, siehe AssetBundles Erstellung
Übersicht der relevanten Klassen
Die wichtigsten Klassen für das Arbeiten mit AssetBundles.
Paket net.risingworld.api.assets
Paket net.risingworld.api.assets enthält die Asset-Klassen zum Laden und Verwalten von Dateien.
- Asset – Abstrakte Basisklasse aller Assets
- AssetBundle – Container, der mehrere Assets zusammenfasst
- PrefabAsset – Ein Prefab aus einem AssetBundle, einer Datei oder aus dem Spiel
- ModelAsset – Eine 3D-Modelldatei (fbx, obj, gltf, ...)
- MeshAsset – Ein Mesh, das programmatisch aus Vertices und Indices aufgebaut wird
- MaterialAsset – Ein Material, das einem 3D-Objekt zugewiesen werden kann
- TextureAsset – Eine Textur (jpg, png, tga, ...)
- SoundAsset – Eine Audiodatei (ogg, mp3, wav, ...)
- ModelImportSettings – Erweiterte Einstellungen beim Laden von Modelldateien
Paket net.risingworld.api.worldelements
Enthält die worldelements-Klassen zum Platzieren und Anzeigen von Objekten in der Spielwelt. ...
- GameObject – Basisklasse für alle benutzerdefinierten Weltobjekte
- Prefab – Instanz eines PrefabAssets, das in der Welt platziert wird
- Model – Ein 3D-Modell mit Material, das direkt in der Welt platziert wird
- Light – Eine Lichtquelle
...
Paket net.risingworld.api.objects
- Player – Spielerobjekt
...
AssetBundle laden
Der zentrale Einstiegspunkt für AssetBundles ist die Methode AssetBundle.loadFromFile(String file). Die Methode erwartet einen absoluten Pfad zur AssetBundle-Datei. In der Regel wird der Pfad aus dem Plugin-Verzeichnis zusammengesetzt, das über die Methode Plugin.getPath() geliefert wird.
//AssetBundle aus dem Plugin-Ordner laden
AssetBundle bundle = AssetBundle.loadFromFile(getPath() + "/examplebundle.bundle");Die Methode ist unter JavaDoc: Class AssetBundle - loadFromFile zu finden.
Asset-Namen auflisten
Ein AssetBundle kann eine beliebige Anzahl von Assets enthalten. ...
AssetBundle bundle = AssetBundle.loadFromFile(getPath() + "/examplebundle.bundle");
//Alle Asset-Namen aus dem Bundle holen
String[] names = bundle.getAllAssetNames();
for(String name : names){
System.out.println(name);
}Die Methode ist unter JavaDoc: Class AssetBundle - getAllAssetNames zu finden.
Prefab
Ein Prefab wird über ein PrefabAsset erzeugt, das aus einem AssetBundle, aus einer Datei oder direkt aus den Spielinhalten geladen werden kann. Mit dem PrefabAsset allein ist noch nichts in der Welt sichtbar; es muss zunächst eine Prefab-Instanz erzeugt und diese mit Player.addGameObject() an einen Spieler angehängt werden.
//AssetBundle aus dem Plugin-Ordner laden
AssetBundle bundle = AssetBundle.loadFromFile(getPath() + "/assets/MyBundle.bundle");
//PrefabAsset aus dem AssetBundle laden
PrefabAsset asset = PrefabAsset.loadFromAssetBundle(bundle, "MyPrefab.prefab");
//Prefab Spielobjekt mithilfe des Assets erzeugen
Prefab prefab = new Prefab(asset);
//Layer setzen (bestimmt, wie der Spieler mit dem Prefab kollidiert)
prefab.setLayer(Layer.DEFAULT);
//Position setzen - zum Beispiel an der Spielerposition spawnen
prefab.setLocalPosition(player.getPosition());
//An Spieler anhängen (sodass es für diesen Spieler sichtbar wird)
player.addGameObject(prefab);Die Methode ist unter JavaDoc: Class Prefab zu finden.
Siehe auch
- AssetBundles Erstellung
- Erstellung eines JAVA Plugin-Projekts für Rising World in Eclipse
- AssetBundle Klasse
Forum
- Rising World Forum: Create Asset Bundles
- Rising World Forum: Getting started
- Rising World Forum: Create a Plugin
- Rising World Forum: Code Schnipsel
Unity Dokumentation
API Dokumentation
- JavaDoc RW: Package net.risingworld.api.assets
- JavaDoc RW: Class TextureAsset
- JavaDoc RW: Class PrefabAsset
- JavaDoc RW: Class AssetBundle
Wiki Seiten: Plugin-Erstellung
- Java/
- Java/Arbeiten mit AssetBundle
- Java/Arbeiten mit Zahlen
- Java/AssetBundle Klasse
- Java/Eclipse Entwicklungsumgebung
- Java/Gradle
- Java/JSON in der Java-Programmiersprache
- Java/Plugin-API Paket
- Java/Plugin Debugging
- Java/Plugin Klasse
- Java/Prefab Klasse
- Java/Raycast
- Java/Reflexion in Java
- Java/Server Klasse
- Java/SoundAsset Klasse
- Java/UIElement Klasse
- Java/UILabel Klasse
- Java/Unity Style Sheet (USS)
- Unity/
- Unity/3D-Austauschformate
- Unity/AssetBundles Erstellung
- Unity/Fbx Datei
Kategorien
| Unity
Unity (6 S) Keine Unterkategorien |
Tutorial Kategorie
Tutorial (5 S) Keine Unterkategorien |