?
Hallo,
also direkt vorab: Ich bin auch kein Experte was Modelling angeht. Blender kenne ich auch nur vom Namen her, hab aber selbst noch nie damit gearbeitet... Ob man damit Meshes erstellen kann keine Ahnung. Im Zusammenhang mit Ogre empfiehlt sich dafür 3DS Max, da sollte es ja eigentlich auch ne Trialversion von geben. Dinge wie Vierecke o.ä. sollten sich aber auch einfach innerhalb OGREs erstellen lassen.
Ein Mesh ist grob gesagt ein "Objekt" das sich (zumindest oft) durch viele Dreiecke zusammensetzt und somit eben ein bestimmtes Gebilde ergibt. Das kann dann zum Beispiel ein Haus oder ähnliches sein.
BSP.: Man lädt den ogre.mesh und sieht dann den Kopf, das ist wirklich super einfach, aber wie kommt man zu dem Mesh, was ist ein mesh, wie baut man das, ich gehe mal davon aus das die im Tutorial verwendeten Ressourcen so gebaut sind das es funktioniert und gut aus sieht, woher auch immer man weiß wie eine Lampe am besten Pltziert wird, welche Koordinaten da richtig sind, wenn ich sowas lese:
mCamera->setPosition(Ogre::Vector3(1683, 50, 2116));
mCamera->lookAt(Ogre::Vector3(1963, 50, 1660));
ist das für mich einfach etwas Utopisch, da ich mir unter der Größenordnung einfach nichts vorstellen kann und stupides abtippen und so tun als ob ist auch nicht das wahre.
Die beiden Befehle haben mit dem mesh selbst erstmal gar nichts zu tun. Hier wird einfach die Kameraposition und die Blickrichtung festgesetzt. Sprich wenn du die Koordinaten veränderst änderst du nicht das Mesh sondern nur die Position von der aus du das Mesh betrachtest.
So hier kommt auch mein erstes Problem, so ein Spielfeld, wie bei RTS spielen etc, sprich die Map, was ist das eigentlich ist das Terrain? Sprich wird das in Ogre auch als Terrain behandelt, oder ist das einfach eine Plane mit anderen Models (Berge) darauf? Die Map soll vorerst primitiv sein ohne Gebirge oder sowas, quasi eine flache Fläche mit einem Muster (Textur), mehr nicht.
Es gab wenn ich mich richtig erinnere schon eine Möglichkeit ein Terrain aus einer File auszulesen, würde da jetzt aber keine Garantie drauf geben. Für deine Zwecke würde hier wahrscheinlich einfach ein texturiertes Mesh ausreichen.
Auch eine frage ist, ob ich hier in gebiete vordringe die noch nichts für mich sind, eventuell hat ja jemand einen anderen Tipp für mich, wie ich die am besten in die ganze Materie einsteige da ich auch nicht recht weiß auf was ich mir hier einlasse.
Die Frage wird man dir nicht so leicht beantworten können. Das kommt drauf an wie deine Fähigkeiten in CPP so sind. Falls du da aber sicher bist spricht sicher nichts dagegen sich in OGRE einzuarbeiten. IMHO ist das eine recht einsteigerfreundliche Engine da du nach recht kurzer Zeit schon ansehnliche Ergebnisse erzielen kannst.
Da mir das hier keine Ruhe lässt:
Zitat:
Notice how our Ogre Head is facing towards us along the -x direction? This is a property of the mesh and the camera position and facing. Cameras are covered in a later tutorial but for now just recognize the the Ogre's head is located at the position (0,0,0) and the our view of it is from in front a ways.
Wollte ich mal fragen ob mir das mal jemand erklären könnte.
Wäre gut wenn man das Beispiel dazu gesehen hätte. Aber ich denke es geht einfach darum, dass du die Szene eben so siehst aufgrund der eingestellten Kameraposition weiter oben.
Sprich wenn ich ein Objekt auf 0,0,0 Positioniere, erwarte ich das eigentlich oben links in der Ecke und nicht auf der Mitte des Monitors, was irgendwie den verdacht in mir erweckt das ich nicht weiß wo ich bin. Sprich ich überlege mir ja wo ich meine Sachen hin baue und auf einmal sind sie wo anders, ich komme da etwas durcheinander, auch hier wäre eine kleine Erklärung gut.
Du hast hier eben eine 3D Umgebung, dass heisst es ist recht "egal" wo 0,0,0 am Anfang zu sehen ist. Das hängt ja einfach nur von der Positionierung der Kamera ab. Die kannst du ja so verschieben das 0,0,0 links oben in der Ecke ist nur macht das eben (grade für deine Zwecke) wenig Sinn. Du kannst Objekte nachdem du sie eingeladen hast ja auch noch verschieben, drehen, skalieren usw.