[XNA] Cube Zeichnen
-
Hallo ich arbeite immoment etwas mit XNA und wollte mal fragen ob es eine einfache möglichkeit gibt einen Würfel in die Szene zu setzen.
Ala Content.Load<cube>(x, y, breite, hohe);Gibts sowas?
mfg nils
-
Da mir keiner Antwortet nehme ich mal an ich muss das auch in XNA mit vertexes und indexes machen und es gibt da nichts fertiges?
Mfg nils
-
In dem du ein Model mit Maya oder irgent einem anderen Modellierer machst, das die Form eines Würfels hat, und dieses Modell dann anschließend als "ModelMesh" in den Content lädst.
-
Ja gut das ist klar aber es wäre für mich zum Testen grade einfacher wenn ich einfach so nen Würfel Zeichnen könnte für verschiedene Tests....
Das geht aber nicht?
-
mit XNA kenn ich mich net so aus, aber in MDX gibts in der Mesh Klasse die Methode Box. Vieleicht gibts des bei XNA auch...
-
Ne scheint alles nich möglich zu sein...Finde ich Prinziepiell schade...
mfg nils
-
warum XNA und nicht DX? Von XNA liesst man immer wieder von Schlechter handhabung und so weiter...
-
Hallo
Meine Güte, was für Antworten...
http://www.igooglethatforyou.com/?q=xna+shapes+tutorialMfg.
way
-
AH nach shape hatte ich noch nicht gesucht...
http://salomon.liquidfirearts.com/shapes/
Das sieht ganz gut aus aber Cube = Würfel => Möglichst 3d?Naja ansonsten kann ich das auch selbst schreiben.
Kann ich dazu evtl den ContentManger weiter überladen/erweitern. ALso komm ich an den Vertrix und INdex Buffer ran oder is der private? Ich find das grad in MSDN nicht....
-
So ich hatte grade nochmal in ruhe Zeit die MSDN zu studiern leider bin ich immernoch nicht fündig geworden...Ein paar klassen scheinen einen zu ermöglichen den VertexBuffer auszulesen aber selbst dort was hinzuzufügen hab ich nicht gefunden...
Das muss doch gehen.... Hat das schonmal wer von euch versucht und ist gescheitert?
-
warum versuchst du nicht die managed direct3D klasse "mesh" mit xna zum laufen zu bringen? ich wette das geht. da die mesh klasse auch nichts weiter tut als vertex- und indexbuffer zu wrappen, kannst du doch einfach eine Mesh.Box(...) nehmen und deren buffer an das xna graphics device weitergeben. vielleicht klappt box.DrawSubset(0) sogar direct mit dem xna device.
muss man halt mal ein wenig rumprobieren...
alternativ empfehle ich einfach sowas simples wie einen würfel einfach fix manuell herzustellen (geht doch super schnell). kannst dir ja bei der gelegenheit eine würfelklasse für xna schreiben, dann musst du das nie wieder tun. schätze mal das dauert zwischen 15 und 30 minuten wenn man bescheid weiss.
-
Wäre es dann nich sinnvoll http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.content.contenttypereader.aspx
Das ding zu überladen? Geht das?
-
Also was spricht denn dagegen einfach die VertexBuffer + Indexbuffer Klassen zu benutzten?
Google: site:msdn.microsoft.com VertexBuffer
Google: site:msdn.microsoft.com IndexBuffer
-
Es wäre nicht so schön einheiltlich. Wenn ich den kram dann weitergeben wöde müsste sich niemand umgewöhnen etc.
Also ich fänds schöner aber ja klar ich kann auch die index und vertex buffer nehmen das wäre sicher auch kin Problem nur nich so schön
-
Nun im Prinzip steht es natürlich jedem frei das Content Management System so zu nutzen, wie man will. Es besteht natürlich die Möglichkeit selbst beliebige XNB Dateien zu erstellen, oder auch zu laden.
Du könntest z.B. einen ContentLoader so schreiben, dass er aus einer XNB Datei, wo entsprechende Parameter des Würfels (Seitenlänge, ...?) stehen, ein Modell lädt. Das kann dann sowohl eine Model Klasse sein, oder eine eigene Klasse, die nicht so aufgebläht ist. Damit erhält man sich die einfache Vorgehensweise beim laden mit Content.Load...
Die Implementierung eigener ContentReader oder Writer ist alles andere als einfach. Vor allem weil man dazu das Content Management System sehr gut verstehen sollte. Aber falls das wirklich das ist, was du brauchst, dann schau dir am besten sowas an:
http://creators.xna.com/en-us/sample/custommodelclass
Hoffe das hilft. Ansonsten sorry
-
Ah das sieht sehr interissant aber auch sehr umfangreich aus. Ich denke das werde ich mir im Urlaub nochmal etwas genauer zugemüte führen.