Ergebnis 1 bis 13 von 13
-
Bin hier zuhause
- 29.02.2012, 16:25
- #1
Hallo,
da ich mich nicht so gut mit XNA auskenne wende ich mich diesmal an euch.
Ich habe vor ein 3D Modell im Format .fbx von 3DS MAX in XNA zu zeigen. Das 3D Modell wurde von mir erfolgreich in XNA eingebunden und wird nun mit einem dem hellblauen Hintergrund angezeigt.
Screenshot:
http://db.tt/Gn9PWcrR
Es handelt sich um einen LED Cube der 5x5x5 Würfel hat. Ich komme jedoch nicht weiter, ich möchte gerne mit den Würfel interagieren - zoom in, zoom out, drehen und die jeweiligen Kugeln auswählen die dann nachher rot werden sollen.
Wie gesagt ich komme nicht mehr weiter. Es wäre sehr nett wenn Ihr mir hilfreiche Tipps geben könnt oder Links zu verschiedenen Tutorials
Ich hoffe Ihr versteht meine Problematik
-
Bin hier zuhause
- 05.03.2012, 21:53
- #2
*Push* Brauche dringend Hilfe. Hat niemand den einen Lösungsvorschlag?
-
Fühle mich heimisch
- 06.03.2012, 17:59
- #3
Hier kriegst du vermutlich keine Hilfe, da es hier nur wenige hat, welche schon was mit XNA gemacht haben. Am besten probierst es du ein mal bei xnamag.de.
-
entwickelt Apps
- 06.03.2012, 18:58
- #4
Ich würde ein Modell für eine Kugel erstellen und dieses dann mehrfach verwenden. So dürfte das unterscheiden leichter sein
-
Bin hier zuhause
- 06.03.2012, 21:07
- #5
Danke. Wobei mir hier eher geholfen wird als bei xnamag.de. Dort wird hochnäsig einfach auf http://create.msdn.com/en-US/ verwiesen. (Als ob ich dort nie drauf gewäsen wäre, hallo ich bin doch Entwickler
)
Ich glaube mir wird hier besser geholfen! pdelvo seine Idee klingt ganz gut, so kann ich leicht mit jeder Kugel zsm arbeiten. Wobei ich dann nicht weiß wie ich alle Kugeln zusammen gruppiere um zu zoomen und zu drehen.
-
entwickelt Apps
- 06.03.2012, 21:27
- #6
Du kannst die "Kamera" mit der du sie betrachtest verschieben und drehen.
Bei der betrachtung im dreidimensionalen Raum arbeitet man mit drei Matrizen. Der View-, der World-, und der Projectionmatrix.
Diese dienen dazu die Vektoren des dreidimensionalen Raumes irgendwie auf den Bildschirm zu bekommen. Die World matrix wird gebraucht um die Objekte an die richtige Position in dem dreidimensionalen Raum zu befördern. Die Viewmatrix stellt dann die Kamera da aus dessen Sicht die Szene gesehen wird. Un die Projection Matrix ist dann dafür zuständig die immer noch Dreidimensionalen Punkte auf den zweidimensionalen Bildschirm zu befördern.
Du kannst deine Objekte dann also im Raum an Ort und Stelle stehen lassen und dich mit der View Matrix um sie "herumbewegen"
-
Mich gibt's schon länger
- 08.03.2012, 22:53
- #7
Wenn es nur kugeln sein sollen, würde ich sie im Code dynamisch erstellen.
Ansonsten die Kugel auf alle Fälle einzeln als Modelle behandeln. Wenn du das Model von extern lädst, kannst du dir gleich ne boundingssphere für's picking machen lassen. Das alles geht in xna ganz einfach und ohne all zu viel Code.
Auch auf die Gefahr hin als hochnäsig zu gelten, empfehle ich dir das sample indem picking erklärt wird (picking=auswählen von 3D-Objekten) und das Sample über Primitives. Dort werden unter anderem Kugeln in verschiedenen Farben erzeugt und angezeigt.
Mit der kostenlosen PocketPC.ch App von meinem GT-I8350 aus geschrieben.
-
Bin hier zuhause
- 13.03.2012, 18:45
- #8
Report:
So ich habe mich mal dran gesetzt und habe was zusammengebastelt. Das 3D Model ist in XNA geladen. Ich kann jetzt mit Hilfe der Kamera um den "LED Cube" schauen. Jedoch wird mir nicht das ganze Modell angezeigt, ich befürchte das ich falsche Werte für die Kameraeinstellungen gewählt habe und am Device hängt das Programm sehr während man interagiert.
Wenn ihr Zeit und Lust habt macht euch doch einfach ein eigenes Bild
Mein Projekt stelle ich euch nun zur Verfügung.
Download:
http://db.tt/ld5l435I
-
Bin hier zuhause
- 15.03.2012, 19:29
- #9
Beachte, dass es sich um Matrizen im homogenen (4 dimensionalen) Raum handelt, damit man auch affine (3 dimensionale) Transformationen mit einer linearen Operation darstellen kann. Eine generelle Matrix Multiplikation ist oftmals garnicht notwendig, da die Matrizen oftmals noch einige 0en enthalten (Translation, Rotation etc. z.B. sind unitär). Wenn du weisst was du tust, berechne die Matrizen doch "von Hand".
Ausserdem sollte man wissen, dass Polygone ein Front- und ein Backface haben. Polygone mit dem Backface zur Kamera werden normalerweise entfernt.
Was die Performance betrifft solltest du dir genau überlegen wie oft du die Matrizen neu berechnen willst. Wenn sich nur die Kamera bewegen soll, dann nur die View Matrix und das einmal pro Frame. Wenn sich das Objekt bewegen soll, die World Matrix einmal pro Objekt und Frame. Dein Code schaut aus, als wenn du sämtlicher Matrizen am laufenden Band neu berechnest und du der GPU auch noch glauben machst, am Matrix Stack hätte sich was verändert.
ps. Hab nochmal genauer geschaut, die Matrizen berechnest du in der Tat nur einmal pro Frame...daran liegts direkt nicht.
-
Gehöre zum Inventar
- 16.03.2012, 08:01
- #10
Wenn ihr sonst nichts findet bleibt immer noch die Möglichkeit das Rendering in einer niedrigeren Auflösung zu machen und dann hochzuskalieren. Die Option gibt es ja in XNA.
-
Mich gibt's schon länger
- 16.03.2012, 11:18
- #11
Sodale, ich hab mir deinen Code ein bisschen angschaut:
Erstmal muss ich sagen: Dein Model-File ist über 4 MB groß! Ganz schön viel für ein paar Kugeln. Das liegt daran, dass du dir die Kugeln in einem so feinen Gitter hast machen lassen (=Tesslation). Vergiss nicht: Du schreibst für Handy's, daher kommen afaik auch die Ruckler. Das bisschen Matrizen Gerechne geht in der Regel ganz flott, sollte also dafür nicht verantwortlich gemacht werden.
Das du nur eine Kugel siehst, wirkt nur so. In Wahrheit siehst du 125 Kugeln. Nur alle am selben Platz - inneinander: Das liegt an folgender Zeile:
ConfigureEffectMatrices(effect, Matrix.Identity, view, projection);
Matrix.Identity haut dir alle deine Kugeln in die Mitte. Tatsächlich hat jedes ModelMesh in LEDCUBE.Meshes (=einzellne Kugel) seine eigene World-Matrix, die du hier komplett ignoriert hast.
Hab die Datei diesbezüglich mal korrigiert: http://pastebin.com/HrA1VF2B
Nichts desto Trotz: Wenn du flexibel sein willst und deine Kugeln in verschiedenen Farben bepinseln willst. Hab ich dir mal diese Version zusammengestellt: http://users.physik.tu-muenchen.de/g.../cubedance.rar
Viel Spaß dabei!
Grüße,
Matthias
-
Bin hier zuhause
- 16.03.2012, 14:16
- #12
Hey,
vielen dank für die Antworten und danke auch das Ihr euch damit beschäftigt habt. Es hat mich ein bisschen weitergeholfen. Wie gesagt bin ich noch ein "XNA Anfänger" und habe sofort mit 3D begonnen.
Ich verweise mal auf das Buch "3D Graphics with XNA 4.0" dort ist eine sogenannte ArcBall Camera Klasse.
Mit der Arc Ball Klasse kann ich mich mit Hilfe der Kamera um den LED-Cube bewegen, ich glaube das diese Kamera auch in der Version von @mattheis benutzt wurde. Jedoch hatte ich einige Probleme die Klasse in XNA zu programmieren. Kopieren und Einfügen ging einfach nicht, es wurde zu schlecht beschrieben.
Wenn einer den Code für die ArcBall Kamera haben möchte, dann kann er sich ja per PN melden und sich das mal ansehen.
@matthei darf ich nun mit den beiden Projekten die du mir geschickt hast weiterarbeiten?
Also das bedeutet ja nun das ich diesen Code:
effect.DirectionalLight0.DiffuseColor = colors[colorId[x+2+(y+2)*5+(z+2)*5*5]];
sphere.Draw(effect);
in einem TouchEvent also bei Klick einfügen kann. Denn ich möchte ja das sich die Kugel bei Klick ihre Farbe ändert. Wie gesagt vielen dank für eure Unterstützung, echt top das Forum!
PS: Das Model wurde anscheinend bei Dir anders geladen. Siehe Content, wo ich keine Modelldatei sehe..
-
Mich gibt's schon länger
- 16.03.2012, 14:32
- #13
Na klar darfst du bei den Projekten weiterarbeiten. Deswegen hab ich's ja angefangen. Das Zweite enthält zwar die Primitive3D Klassen vom MS App Hub, sollte aber auch OK sein die zu verwenden.
Dann noch viel Spaß mit dem Picking!
Mit der kostenlosen PocketPC.ch App von meinem GT-I8350 aus geschrieben.
Ähnliche Themen
-
Ultimate-Pong - Mein erstes XNA Projekt
Von SpiDe1500 im Forum Windows Phone 7 GamesAntworten: 25Letzter Beitrag: 31.08.2011, 18:28 -
XNA - XML Type not found
Von Cr3dos im Forum Windows Phone 7 EntwicklungAntworten: 3Letzter Beitrag: 21.06.2011, 17:40 -
XNA Navigation - Wie umsetzen?
Von xFight im Forum Windows Phone 7 EntwicklungAntworten: 9Letzter Beitrag: 15.04.2011, 08:03 -
an alle ROM EXPERTEN!
Von Blackhawk50000 im Forum SE Xperia X1Antworten: 2Letzter Beitrag: 22.10.2010, 07:42 -
Suche Experten für Diplomarbeit,....
Von catalist85 im Forum Android EntwicklungAntworten: 6Letzter Beitrag: 28.09.2010, 13:23
Pixel 10 Serie mit Problemen:...