Editor

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Lastsamurai

Betreff: Editor

BeitragFr, Jun 02, 2006 23:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß der Titel sagt noch nicht viel aus aber ich beschreibe mal, was ich vor habe.
Also... ich möchte einen Leveleditor programmieren, der eigentlich garnicht so viel können muss. Es muss nur ein Mesh laden, dass sich danach mit der Maus positionieren lässt und später soll man, wenn man das ganze Level zusammengebastelt hat, auch noch einzelne Objekte ansprechen können z.B. wenn ich im Editor ein Mesh irgendwo platziere soll es einen Namen haben damit ich das Ding später noch ansprechen kann und dann animationen abspielen oder anderes damit machen kann.
Hoffe es ist einigermaßen verständlich was ich machen möchte...

Ich bin selber auch schon so weit das nen Fenster kommt wo man sein Mesh auswählt und es dann bei nem Mausklick positioniert wird, aber irgendwie kriege ich es nicht hin die 2D Mauskoordinaten in 3D umzuwandeln. Hab auch zum Test immer den PickedX,Y und Z wert auf dem Bildschirm printen lassen aber die sind immer 0 und deswegen kommt das Mesh immer auf die selbe Stelle.
 

Zoppo_1

Betreff: Level-Editor

BeitragSa, Jun 03, 2006 9:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ich arbeite im Moment an einem ähnlichen Projekt. (einem Level-Editor für ein Strategiespiel)

Ich bin dort schon bedeutend weiter.

Habe das ganze als Funktionssammlung aufgebaut.

Arbeite mit B3D und XINT II Lite

Kann bereits:
-unterschiedliche Texturen je Feld setzen
-Eckpunkthöhen der Felder verändern
-Objekte auf Felder setzen und darstellen
-Feldern Namen geben und diese anzeigen
-Ein Raster einblenden und in der Höhe variieren
-Texturen überlagern
-Skybox ist gesetzt
-Wasserebene ist eingebunden
-Nordausrichtung ebenfalls

Ist aber noch nicht fertig.
Kann Dir dies im Quellcode zur Verfügung stellen.

Benibaerenstark

BeitragSa, Jun 03, 2006 10:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe auch einmal angefangen einen solchen Editor zu programmieren.

Ich habe das so gelöst: Type-Feld, jedes geladene Mesh erhält einen Datensatz mit Name, Skalierung, Verschiebung usw. diese können dann relativ einfach ausgelesen, verändert und gespeichert werden.

Die Meshes verschiebe ich so:
Bei Mausklick(herunterdrücken der Maus) MausXstart, MausYstart sowie die KoordinatenStart des Meshes speichern.

Während die Maus gedrückt ist: Positionentity (Mesh) und einfach zu den vorher gespeicherten "KoordinatenStart" die verschiebung des Mauszeigers (MausStart-MausAktuell) addieren.

Wenn die Maustaste wieder losgelassen wird, die neue Position speichern.

Wenn du orthogonale cams verwendest (camprojmode 2 glaube ich) ist es so einfach wie oben beschrieben. Willst du das ganze im 3D-Modus musst du noch die Ausrichtung(Drehwinkel) der Betrachterkamera in deine Berechnungen einbeziehen.

mfg beni
3D Scanner selber bauen? -> www.bewe-3dscanner.ch.vu
 

Zoppo_1

Betreff: An Benibaerenstark

BeitragSa, Jun 03, 2006 10:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe das etwas anders bearbeitet:

Die gesamte Karte befindet sich in einer Speicherbank.
Aus dieser wird dann ein bestimmter Bereich ausgelesen (Ansichtsspeicher), und komplett dargestellt.
Danach brauche ich kein Element mehr nachführen, wenn ich zum Beispiel die Karte drehe, oder reinzoome etc.

Ich muß nur darauf achten, daß ich die Änderungen immer sofort in den Ansichtspeicher mit aufnehme, und entweder sofort oder beim Verschieben der Ansicht in die Speicherbank übertrage.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group