Create Isocam

Download: http://www.reinerstilesets.de/blender/createisocam.py

Blender Wiki Seite: http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Add_Mesh/Create_IsoCam

4.3.2014 – Create Isocam ist ein Script das eine orthografische Kamera erstellt, die schon so eingestellt ist dass man eine isometrische Ansicht rendern kann. Das kann man zwar auch alles von Hand einstellen, das Script spart einem aber die Zeit für das dafür nötige Setup.

Das Script steht unter der Apache Lizenz


Installation

Script herunterladen. (Rechtsklick, Ziel speichern unter … )

Öffne die Blender User Preferences und wechsle zum Addons Tab

Klicke auf den Install from File Button, und wähle das Plugin aus.

Aktiviere das installierte Plugin.

Speichere die User Preferences.


Benutzung

create_isocamDas Script installiert sich in das Toolshelf. Ist das Script installiert hat man die Auswahl zwischen drei möglichen Kameraeinstellungen. TrueIsocam, GameIsocam und GameIso4to3cam.

Und man kann auch auf Wunsch eine Grundplatte erstellen. Einfach aufs Knöpfchen drücken.


TrueIsocam

trueiso Der Button mit der Beschriftung TrueIsocam, erstellt eine mathematisch korrekte isometrische Ansicht mit dem Flankenwinkel von 30 Grad. Das ist zum Beispiel bei Architektur Grafik gewollt.

Die Kamera hat dabei eine Neigung von 35.264 Grad, bzw. in Blender eine Neigung von 54.736.


GameIsocam

Der Button mit der Beschriftung GameIsocam erstellt eine Kamera mit einer speziellen Ansicht die für das Rendern von isometrischen Grafiken für 2D Spiele benötigt wird. Sie hat ein leicht anderes Setup. Für isometrische 2D Computerspiele ist eine Kamera mit mathematisch korrekter isometrischer Ansicht leider ungeeignet.  Wie im folgenden Shot sehr schön zu sehen ist.

gameisoviewDer Treppeneffekt bei einer mathematisch korrekten Isoansicht passt hier einfach nicht zusammen. Es entstehen entweder Überlagerungen oder  Lücken zwischen den Tiles.

Die Zähne der Ränder greifen nicht ineinander. Für ein isometrisches Computerspiel mit 2D Grafik brauchen wir also einen etwas anderen Winkel in der Kamera. Das macht man mit der GameIsocam.

Wieso ist das so? Die ersten isometrischen 2D Spiele wurden nicht gerendert, sondern in Handarbeit gepixelt. Zwei Pixel rüber, ein Pixel hoch. Es war auch wegen den Grafikkarten damals wichtig dass die Grafiken eine Grösse hatten die Power of 2 ist. Und somit ergibt sich für isometrische Spiele ein etwas anderer Winkel als der mathematische Flankenwinkel von 30 Grad.

Das ist dann natürlich keine mathematisch korrekte isometrische Ansicht mehr, sondern eine spezielle parallele Projektion, die auch Dimetric genannt wird. Eingebürgert hat sich dafür aber in Spielekreisen isometrisch, weil es der mathematischen isometrischen Ansicht sehr nahe kommt.

Die Kamera hat hier eine Neigung von 30 Grad, bzw in Blender eine Neigung von 60 Grad. Das Ergebnis kann man dann zum Beispiel als ein Basetile von 64×32 Pixeln rendern.

mathisoviewHier passt nun der Treppeneffekt wunderbar zusammen. Die Zähne der Ränder greifen ohne Überlagerung oder Lücken ineinander. Keine Lücken mehr zwischen den Tiles, und ein Power of 2 Seitenverhältnis.


GameIso4to3cam

Es gibt noch eine andere spezielle Ansicht die auch keine sichtbaren Lücken oder Überlagerungen an den Rändern der Grundraute erzeugt . Hier ist das Basetile nicht z.B 64×32 Pixel, sondern z.B. 64×48 Pixel. Statt eines Seitenverhältnis von 2:1 haben wir hier also ein Seitenverhältnis von 4:3. Natürlich ist das kein Power of 2 Seitenverhältnis mehr. Es gibt aber die frühere Beschränkung der Grafikkarten auf Power of 2 so nicht mehr. Und wenn man eine Ansicht will die etwas mehr von oben kommt ist sie ideal.

Die Kamera hat hier eine Neigung von 48.5 Grad, bzw. in Blender eine Neigung von 41.5 Grad.

mathisoviewAuch hier passt der Treppeneffekt wunderbar zusammen. Die Zähne der Ränder greifen ohne Überlagerung oder Lücken ineinander.


Groundplane

 

Der Button Groundplane erzeugt eine Grundplatte mit den Massen 10 auf 10 Blenderunits. Alle drei Kameras sind so darauf eingestellt dass die Raute perfekt in die Ansicht der Kamera passt.


Was müsst ihr noch wissen?

Eine mit dem Plugin erstellte Kamera ist auf Orthografisch eingestellt. Orthografische Kamera kann man nicht zoomen wie eine normale Kamera. Wenn ihr  mit der erstellten Kamera rein oder rauszoomen wollt müsst ihr das mittels des Orthographic Scale Werts in den Properties tun. Siehe Bild.

mathisoview

Wenn ihr eine Kamera mit dem Plugin erstellt wird sofort in die Kameraansicht gewechselt. Das ist gewollt, damit wird die neu erstellte Kamera gleich aktiv gesetzt. Ihr könnt wie gewohnt mit Numpad 0 oder dem Menüitem View / Cameras / Active Camera wieder auf die Weltkamera schalten.

Amerkung. Es gab einen Quirk in früheren Blender Versionen. Beim zurückschalten in die normale Ansicht wurde die Szene plötzlich von unten gezeigt. Und nicht wie gewohnt wieder zur vorherigen Ansicht zurückkehrt. Dieser Bug ist inzwischen seit Version 2.72 gefixt. Sollte er immer noch auftreten empfehle ich mein Reset View Plugin. Das setzt die Ansicht auf eine Standardansicht zurück.

Bekannter Quirk

Im  Edit Mode wird der Klick auf Create Camera einen Fehler produzieren. Bitte verwendet das Plugin im Objekt Mode.

6 Kommentare zu Create Isocam

  1. Sebastian sagt:

    Thx for the explainings and the add on.
    Very well.
    i try this for Blender 2.73.
    Best regard

  2. Jan sagt:

    Hallo Reiner,

    vielen, vielen Dank für das Script!
    Ich bin schon fast verrückt geworden weil bei mir das irgendwie nie mit den 30 Grad gestimmt hat, wenn ich die Kamera von Hand eingestellt habe.
    Und die falschen 60 Grad für eine rein mathematisch korrekte Isometrie in Blender ist halt auch etwas doof. Aber das ist ja bei der orthogonalen Perspektive in allen 3D Programmen das selbe.

    Viele Grüße,
    Jan

  3. Reiner sagt:

    Freut mich dass es dir hilft 🙂

  4. Lukas sagt:

    Ich sag einfach nur mal: Danke und wünsche ein frohes Fest wie auch ein schönes neues Jahr 🙂

    Lukas.

  5. Reiner sagt:

    Gleichfalls 🙂

  6. James sagt:

    Thank you so much for this!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.