MC Voxel Studio

3D-Modell hochladen → Minecraft-Bedrock-Paket (Entity/Statue und Block) · inklusive Test mit dem heruntergeladenen Tripo3D-Modell

Ergebnis: Das Werkzeug ist fertig und läuft vollständig lokal im Browser. Das verlinkte Tripo3D-Modell wurde heruntergeladen (20,67 MB, 1.973.850 Dreiecke) und damit umgewandelt: Es entstehen installationsfertige Bedrock-Pakete — Statue zum Beschwören mit /summon statue:tripo_demon_girl und dieselbe Figur als platzierbarer Block. Die Ausgabe wurde dreifach unabhängig geprüft: 34 Browser-Tests, 1 122 Strukturprüfungen in Python und ein Rundlauf in echter Blockbench-Software (alle Würfel kommen identisch zurück). Ein im Spiel sichtbarer Fehler (weiße Flächen) wurde gefunden und behoben — siehe Abschnitt 8.

1 · So sieht es aus

Startbildschirm von MC Voxel Studio
Start: Modell laden (Ziehen & Ablegen), Voxel-Auflösung, Höhe in Blöcken, Palettengröße, Transparenz-Grenze, Innenvolumen füllen, Kanten abdunkeln. Alles rechnet der Browser — nichts wird hochgeladen.
Das geladene Tripo3D-Modell
Das heruntergeladene Tripo3D-Modell im Original (1.973.850 Dreiecke, drei PBR-Texturen). Angezeigt in der Vorschau des Werkzeugs.
Voxelstatue mit Kennzahlen
Nach der Umwandlung (40 Voxel Auflösung, 2 Blöcke hoch, 64 Palettenfarben): 3 048 Quader, 6 481 gefüllte Voxel, 1,27 × 2 × 2,67 Blöcke. Rechts die Kennzahlen, das Protokoll und alle Download-Knöpfe.

2 · Das geladene Tripo3D-Modell

EigenschaftWert
Quellestudio.tripo3d.ai · Modell-ID 3f769a4e-fa6a-4f96-8a1d-5fc7aead86cb
Titel„fantasy character 3d model“ (geflügeltes Dämonenmädchen)
Dateimc-voxel-studio/models/tripo_demon_girl.glb · 21 669 676 B (20,67 MB)
Inhalt1 Gitter, 1 Material, 3 Texturen, 1 973 850 Dreiecke
Besonderheitmeshopt-komprimiert + quantisiert (KHR_mesh_quantization, EXT_meshopt_compression) — das Werkzeug bringt dafür den Meshopt-Decoder mit

Der Weg dahin: die Studios-Seite liefert keinen direkten Dateilink; über die Projekt-Detail-Schnittstelle (api.tripo3d.ai/v2/studio/project/detail/v3/<id>, mit Referer-Header) kommt eine signierte CDN-Adresse, über die das GLB geladen wurde. Genau dieses GLB ist der Testfall für das Werkzeug.

3 · Was das Werkzeug rechnet

  1. Voxelisieren: jedes Dreieck wird konservativ in ein Voxelraster gespritzt (Ebenen-Abstand + baryzentrische Prüfung), Texturfarben werden über die UV-Koordinaten abgetastet, transparente Stellen fallen über die Alpha-Grenze weg.
  2. Hülle verdichten (schließt Löcher), Flood-Fill von außen, Innenvolumen füllen, Innenfarben per Mehrquellen-BFS von der Oberfläche.
  3. Kanten abdunkeln: Voxel in Ecken und Vertiefungen werden über die Nachbarschaftsbelegung leicht dunkler — die Statue wirkt plastischer, ohne dass mehr Würfel nötig sind.
  4. Palette: Median-Cut-Quantisierung auf 16 … 256 Farben; jede Farbe bekommt einen Bildpunkt in einer 16 × 16 großen Palette-Textur, die UVs aller Würfel zeigen auf einzelne Pixel.
  5. Greedy-Meshing: gleichfarbige Voxel werden zu möglichst großen Quadern verschmolzen — im Test 168× weniger Würfel als Voxel.
  6. Bedrock-Ausgabe: Geometrie 1.12.0 mit Per-Face-UV, Client-Entity, Entity-Verhalten (beschwörbar, unbeweglich, unverwundbar), Block-Variante 1.21.0 in den Blockwürfel (−8 … +8) skaliert, Palette-PNG, Terrain-Atlas, Manifeste (min_engine_version 1.20.60) und eine deutsche Anleitung.

Die Palette als Textur

16×16-Palette als Textur

4 · Test mit einem einfachen Modell (Materialfarben)

Test-Roboter in der Vorschau
Zusätzliches Testmodell mit vier Quadern und drei Materialfarben (ohne Textur) — damit die Materialfarben sauber getrennt von der Texturabtastung geprüft werden können. Ergebnis: 95 Quader aus 15 984 Voxeln, Kanten-Abdunklung sichtbar.

5 · Prüfergebnisse

44 / 44
Browser-Tests (Playwright) — inkl. „Spiel-Simulation": Datei so gelesen, wie Minecraft sie liest
3 631 / 3 631
unabhängige Strukturprüfungen in Python an allen Paketen und .mcaddon-Dateien
42 / 42
Rundlauf in echter Blockbench-Software 5.2.1, inkl. Strukturvergleich
0
Seitenfehler im Browser bei allen Tests

Was die Python-Prüfung kontrolliert (328 Einzelprüfungen)

BereichGeprüft wurde
Manifesteformat_version 2, gültige v4-UUIDs, alle UUIDs eindeutig (Entity- und Block-Paket getrennt), min_engine_version [1, 20, 60], Modultyp resources/data
GeometrieFormat 1.12.0, Kennungen geometry.<name> bzw. geometry.<name>_block, Texturgröße = Palette, keine Würfel mit Größe 0, alle sechs Flächen vorhanden, jede UV-Angabe liegt im Palettenbild, Statue steht auf y = 0 und ist in x/z zentriert, Blockmodell passt in −8 … +8
TexturPNG wird Byte für Byte dekodiert: 16 × 16, mehrere Farben, jedes benutzte UV-Pixel zeigt auf eine vorhandene Palettenfarbe
EntityClient-Entity nennt Kennung, Textur und Modell; Behavior Pack beschwörbar, Kollisionsbox gesetzt, kein Schaden, Physik vollständig, Knockback im gültigen Bereich 0 … 1
Blockformat_version 1.21.0, Kennung, minecraft:geometry zeigt auf die 1-Block-Geometrie, Texturschlüssel steht im Terrain-Atlas, Atlas verweist auf die vorhandene Textur
BegleitdateienBlockbench-Datei Format 4.5 mit eingebetteter Palette, Anleitung enthält /summon, /setblock, beide Installationsordner und die .mcpack-Namen

Rundlauf in echter Blockbench-Software

Blockbench 5.2.1 (Original, aus dem Quelltext gebaut) hat die erzeugten Dateien geöffnet — über denselben Codec, den auch das Datei-Menü benutzt — und wieder nach Bedrock exportiert:

ModellÖffnenRückexportErgebnis
Test-Roboter95 Würfel95 Würfel ✔ Lage, Größe und UV-Pixel aller Würfel identisch
Texturwürfel972 Würfel972 Würfel ✔ identisch
Tripo-Dämonenmädchen4 592 Würfel4 592 Würfel ✔ identisch — alle 4 592 Würfel, inklusive UV-Pixel

Dabei kamen zwei Feinheiten heraus, die jetzt fest eingebaut sind: Blockbench nennt das Bedrock-Entity-Format intern bedrock (nicht bedrock_entity), und es spiegelt Bedrock-Entity-Modelle in der X-Achse. Die .bbmodel-Datei speichert die X-Werte deshalb in der Editor-Konvention — dadurch sieht man in Blockbench dasselbe wie im Spiel und der Rückexport trifft unsere Datei exakt.

6 · Was herauskommt (Dateien)

DateiGrößeInhalt
tripo_demon_girl_paket.zip305 530 B komplettes Paket des Tripo-Modells: Entity- und Block-Packs, .bbmodel, Anleitung (14 Dateien)
tripo_demon_girl_bedrock_paket.zip251 322 B dasselbe ohne Blockbench-Datei — das, was der Haupt-Knopf ausgibt
robot_paket.zip13 721 BTest-Roboter
texturwuerfel_paket.zip85 848 BTexturwürfel
robot_block_nur.zip—nur die Block-Variante (eigener Knopf)
mc-voxel-studio-tool.zip383 526 B das Werkzeug selbst (ohne das 20-MB-Tripo-Modell) mit Startskripten für Windows/macOS/Linux

Fertige Installationsdateien (.mcaddon)

DateiInhaltWürfel
tripo_demon_girl.mcaddonDämonenmädchen, Standard3 048
tripo_demon_girl_fein.mcaddondasselbe in fein (Empfehlung)8 246
tripo_demon_girl_sehrfein.mcaddondasselbe in sehr fein19 075
test_roboter.mcaddonTestfigur, Statue + Block95
test_texturwuerfel.mcaddonTexturwürfel, Statue + Block2 242

Zu jedem Paket gibt es _statue.mcaddon und _block.mcaddon einzeln. Alles liegt in test-model-addons/ samt LIESMICH und Vorschaubildern (aus den Exportdateien gerendert).

Alle Pakete, Testskripte und Protokolle liegen im Arbeitsbereich: voxel-studio-ausgaben/ (ZIPs), mc-voxel-studio/ (Werkzeug + Modelle), test_voxel_studio_ausgabe.txt, test_bbmodel_ausgabe.txt, pruefe_ausgabe.txt (vollständige Protokolle).

7 · Gefunden und behoben: weiße Flächen im Spiel

Der Befund aus dem Spiel: Statue und Block erschienen als weiße Quader mit nur einem schmalen Farbstreifen — nur wenige Pixel der Palette wurden benutzt, der Rest blieb weiß. Genau das passiert, wenn Minecraft die Flächenangaben ignoriert und stattdessen die ganze Textur auf jede Fläche legt: Von der 16 × 16-Palette landet dann überall die weiße Grundfläche in der Bildmitte auf dem Modell.

Ursache

Wir hatten die Flächen so geschrieben, wie es das Java-Format tut — nämlich als Objekt faces am Würfel:

"faces": { "north": { "uv": [5, 0, 6, 1] }, … }        ← Java-Format, im Spiel wirkungslos

Minecraft Bedrock kennt faces nicht. Bedrock erwartet die Flächen als uv-Objekt direkt am Würfel, und dort als uv + uv_size. Belegt wurde das mit der echten Blockbench-Software als Vorbild: Wir haben in Blockbench 5.2.1 ein Modell mit Per-Face-UV exportiert und die Struktur ausgelesen:

"uv": {
  "north": { "uv": [5, 0], "uv_size": [1, 1] },
  "east":  { "uv": [6, 1], "uv_size": [1, 1] },
  "up":    { "uv": [10, 5], "uv_size": [-1, -1] },   ← oben/unten gespiegelt
  "down":  { "uv": [11, 6], "uv_size": [-1, -1] },   ← (macht Blockbench so)
  …
}

Zweite Abweichung: Bedrock spiegelt die X-Achse gegenüber dem Modell im Editor. Blockbench rechnet beim Export origin.x = -(x + Breite). Unsere Datei enthielt die ungespiegelten X-Werte — die Figur wäre also seitenverkehrt dagestanden. Auch das ist jetzt korrekt. Gegenprobe aus zwei unabhängigen Quellen: ein Projekt, das die Achsenfrage in Bedrock auf einem Android-Gerät nachgemessen hat („Bedrock's X axis runs opposite Java's, and a cube's origin is 8 − to.x"), und die Blockbench-Quelle selbst (template.origin[0] = -(origin[0] + size[0])).

Was wir geändert haben

Stellevorherjetzt
Flächen der Würfel"faces": { … "uv": [x0,y0,x1,y1] } "uv": { "north": { "uv": [x,y], "uv_size": [1,1] }, … }
oben/untenwie Seitenflächengespiegelt wie in Blockbench (uv_size: [-1,-1])
X-Achseungespiegeltorigin.x = −(from.x + Breite), wie Blockbench
.bbmodel (Editor)X vorspiegelt gespeichertEditor-Koordinaten — Blockbench spiegelt beim Export selbst

Wie es jetzt aussieht — gezeichnet allein aus der Exportdatei

Die folgenden Bilder sind nicht aus dem Werkzeug, sondern aus der fertigen .geo.json + Palette-PNG gezeichnet: X-Spiegelung rückgängig, Flächenfarbe aus uv/uv_size gelesen — also genau das, was Minecraft zeichnet (links vorn, rechts von der Seite):

Dämonenmädchen aus der Exportdatei gerendert
Tripo3D-Dämonenmädchen, Auflösung 64 — Gesicht, Hörner, Flügel und Rüstung sind erkennbar, jede Fläche trägt ihre Palettenfarbe. Kein Weiß mehr.
Test-Roboter aus der Exportdatei gerendert
Der Test-Roboter: rot, blau, gelb und grau — vorher war er komplett weiß.
Palette des Roboters

Neue Gegenprüfungen (dauerhaft im Testlauf)

8 · Mehr Details: die Detailstufen

„Detaillierter" heißt bei einem Voxelmodell: feinere Voxel und mehr Farben. Beides war begrenzt — die Auflösung endete bei 96, die Palette bei 256 Farben (16 × 16 Textur). Nach mehreren Ausbaustufen geht die Auflösung jetzt bis 256 (gemessenes Maximum, darüber sprengt der Browser-Speicher), die Palette bis 4 096 Farben (64 × 64), und in der Oberfläche gibt es acht fertige Stufen, die alle Werte zusammen setzen. Die Würfelkante ist dabei Höhe ÷ Voxelzahl — kleinere Würfel bekommt man also über eine höhere Auflösung oder eine niedrigere Bauhöhe.

Detailstufe
Neu im Werkzeug: die Knöpfe Grob / Standard / Fein / Sehr fein / Ultra. Ein Klick setzt Auflösung, Höhe und Farbzahl gemeinsam und erklärt kurz, was das bedeutet. Oben rechts stehen die Kennzahlen — hier 8 246 Würfel, 256 Farben, 3 Blöcke hoch.

Das Dämonenmädchen in acht Stufen

Drei Detailstufen im Vergleich
Links Standard (3 048 Würfel), Mitte fein (8 246), rechts sehr fein (19 104) — jeweils aus der fertigen Exportdatei gezeichnet. Mit jeder Stufe werden Gesicht, Flügelkanten und Rüstungsplatten deutlicher, die Silhouette löst sich vom Klötzchen-Look.
StufeAuflösungFarbenWürfelWürfelkanteModelldateiReihenfolge im Spiel
Grob24321 0401/9 Block0,3 MBsehr flüssig, auch auf Handys
Standard40643 0481/15 Block0,8 MBflüssig
Fein642568 2461/16 Block2,2 MBguter Kompromiss (Empfehlung)
Sehr fein9651219 1041/18 Block5,4 MBschön, aber merklich teuer
Ultra128102433 8561/24 Block9,7 MBnur für starke Rechner
Extrem192204875 8491/24 Block21,8 MBAusstellung / Screenshots
Maximal2564096133 4701/24 Block38,7 MBnur mit kräftigem Rechner
Wahnsinn2564096133 4701/48 Block38,7 MBdie feinsten Würfel (halb so klein wie „Maximal")
Mikro2564096133 4701/64 Block38,7 MBgleiche Auflösung, nur 3 Blöcke hoch gebaut
Nano2564096133 4701/97 Block38,7 MBnur 2 Blöcke hoch – kleinstmögliche Würfel

Wie man die Würfel weiter verkleinert, obwohl die Auflösung am Anschlag ist: Die Würfelkante ist Bauhöhe ÷ Voxelzahl. Bei gleicher Auflösung (256) und gleicher Würfelzahl wird jeder Würfel also kleiner, wenn die Figur kleiner gebaut wird — 4 Blöcke hoch = 1/48 Block, 3 Blöcke = 1/64, 2 Blöcke = 1/97. Die Optik bleibt dabei identisch, nur der Maßstab ändert sich; die Figur reicht am Ende von den Füßen bis unter die Augen eines Spielers.

Gleiche Figurenhöhe: Standard gegen Wahnsinn
Der Unterschied in einem Bild: links „Standard" (3 048 Würfel von je 1/15 Block — hier 19 Bildpunkte pro Würfel), rechts „Wahnsinn" (133 470 Würfel von je 1/48 Block — 3 Bildpunkte pro Würfel). Beide in derselben Figurenhöhe, direkt aus der fertigen Minecraft-Datei gezeichnet.
Vier Stufen in gleicher Figurenhöhe
Vier Stufen nebeneinander, alle in derselben Figurenhöhe gezeichnet: Standard (1/15 Block, 17 Bildpunkte je Würfel), dann dreimal dieselben 133 470 Würfel mit kleiner werdender Bauhöhe — Wahnsinn 4 Blöcke (1/48), Mikro 3 Blöcke (1/64), Nano 2 Blöcke (1/97). Ab „Wahnsinn" sind die Würfel so klein, dass sie in dieser Ansicht nur noch 3 Bildpunkte groß sind — die Form kommt dann aus der Silhouette, nicht mehr aus einzelnen Klötzchen.
Das Dämonenmädchen in der Stufe Wahnsinn
Die neue oberste Stufe „Wahnsinn": gleiche Auflösung wie „Maximal", aber nur 4 Blöcke hoch gebaut — damit ist jeder Würfel nur 1/48 Block groß (halb so klein) und die Figur steht in Spieler-Größe. 133 470 Würfel, aus der fertigen Exportdatei gezeichnet (Gesicht, Haarsträhnen, Flügelmembran, Panzerplatten und Schwanzspitze sind einzeln erkennbar).

Was dabei zusätzlich verbessert wurde

Warum „Maximal" und „Wahnsinn" nur als Statue kommen: Die Block-Variante (1 × 1 Block) und das Blockbench-Projekt würden bei 133 470 Würfeln zusammen fast 100 MB Zwischenspeicher kosten — und ein 1-Block-Modell mit 133 470 Würfeln ist ohnehin nicht sinnvoll. Dafür gibt es im Werkzeug jetzt zwei Schalter (setExportOptions), die genau diese beiden Teile überspringen. Alle Stufen darunter (bis 75 849 Würfel) liefern weiterhin Statue und Block.

Der Fehler, der die hohen Stufen unbrauchbar machte

Beim Nachmessen fiel auf, dass die Figur bei 1 024, 2 048 und 4 096 Farben dunkler und körnig aussah als bei 256 Farben. Ursache: Die Zuordnung „Voxel → Palettenfarbe" lag in einem Uint8Array — das kann nur Werte bis 255 speichern. Bei größeren Paletten lief der Index still über (Rechenwert modulo 256), und jeder Würfel bekam die Farbe eines beliebigen anderen Eintrags. Das Werkzeug warf keine Fehlermeldung und kein Test schlug an, weil die Modelldatei formal einwandfrei war — nur die Farben waren falsch.

Behoben mit einem Uint16Array ab 257 Farben. Zusätzlich prüft ein neuer Test jetzt genau das: Bei 256 und bei 4 096 Farben wird die durchschnittliche Helligkeit aller Würfel verglichen (101,6 gegen 101,3) und kontrolliert, dass wirklich mehr als 256 verschiedene Farben ankommen (2 807 von 2 807 möglichen). Alle Pakete wurden danach neu erzeugt.

Faustregel: Bis etwa 10 000 Würfel („Fein") läuft es auf normalen Geräten flüssig; bis ~34 000 („Ultra") auf starken Rechnern. Microsoft empfiehlt für Blöcke, die oft platziert werden, sogar nur ~50 Würfel je Modell — Statue als Entity verträgt deutlich mehr. Wenn es ruckelt: eine Stufe zurück, oder das Modell mit weniger Höhe exportieren.

9 · Als Mod-Version

Auf Wunsch gibt es das Ganze jetzt nicht mehr nur als Test-Addon, sondern als richtige Mod-Version: mit deutschem Namen im Spiel, eigenem Spawn-Ei im Kreativ-Inventar und Paket-Symbol. Der Ordner Minecraft-Bedrock-MOD-Version/ enthält 11 Mod-Dateien mit deutschen Dateinamen, dazu eine ausführliche MOD-LIESMICH.txt und drei Vorschaubilder.

Spawn-Ei
Farben aus der Figur berechnet (kräftigste Farbe als Basis, hellste als Punkte) – kein Standard-Grau
Dämonenmädchen Fein
deutscher Name im Inventar, im Paket-Menü und auf dem Spawn-Ei (über texts/de_DE.lang und en_US.lang)
pack_icon.png
Vorderansicht der Figur als Paket-Symbol – pro Stufe aus den echten Würfeln gezeichnet
Paket-Symbol
Das Paket-Symbol entsteht aus denselben Würfeln wie das Modell: Vorderansicht, hinten abgedunkelt – deshalb zeigt Minecraft im Paket-Menü eine kleine Vorschau der Figur.
DateiInhaltGröße
Daemonenmaedchen-Fein-Mod.mcaddonEmpfehlung: Statue + Block, 8 246 Würfel, deutsches Spawn-Ei269 KB
Daemonenmaedchen-Mod.mcaddon … -Nano-Mod.mcaddondie übrigen neun Detailstufen (bis 133 470 Würfel)92 KB – 3,0 MB
…-Statue.mcpack / …-Block.mcpackeinzelne Packs, falls jemand nur die Statue oder nur den Block will–
MOD-LIESMICH.txtInstallation, Spawn-Ei, Befehle, Stufen-Empfehlung–

Was sich dafür im Werkzeug geändert hat: Spawn-Ei-Farben aus der Palette, Sprachdateien für die Namen, Pack-Symbole aus den Würfeln (in allen vier Pack-Ordnern) und lesbare Paketnamen in den Manifesten. Der Browsertest prüft das jetzt mit (fünf zusätzliche Prüfungen: Ei-Farben, Sprachdateien, Symbole, Paketnamen, Anleitung).

10 · Einbau in Minecraft Bedrock

  1. Paket entpacken. Die vier Ordner <name>_rp, <name>_bp, <name>_block_rp, <name>_block_bp in den Ordner resource_packs bzw. behavior_packs kopieren (Windows: %LOCALAPPDATA%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\, Android/iOS entsprechend im com.mojang-Ordner).
  2. Oder .mcpack bauen: den Inhalt eines Ordners (manifest.json ganz oben) zippen, Endung .zip → .mcpack umbenennen, Datei öffnen. Minecraft importiert sie selbst. (Steht genauso in der mitgelieferten ANLEITUNG.txt.)
  3. Welt bearbeiten → Resource Packs und Behavior Packs aktivieren. Kein Experiment-Schalter nötig.
  4. Statue beschwören:
    /summon statue:tripo_demon_girl ~ ~ ~
    Block setzen (1×1):
    /setblock ~ ~ ~ statue:tripo_demon_girl
    Entfernen:
    /kill @e[type=statue:tripo_demon_girl,r=20]

Zu wissen: Die Statue steht still, lässt sich nicht schieben und nimmt keinen Schaden. Bei sehr feinen Auflösungen entstehen viele Quader — das Werkzeug warnt selbst im Protokoll, sobald es mehr als 2 500 werden (das Tripo-Modell bei 40 Voxeln: 3 048). Für flüssiges Rendern im Spiel einfach mit Auflösung 32 oder mit Höhe „1 Block“ neu erzeugen; die Datei wird dann deutlich kleiner. Die Pakete nutzen Engine-Version 1.20.60 und laufen auf aktuellen Bedrock-Versionen (Windows, Android, iOS, Xbox, Switch).