Seite 1 von 2

.3ds oder anderes in Python einlesen und anzeigen lassen - ?

Verfasst: Montag 28. Mai 2012, 17:40
von Pyanfänger
Hallo,

ich meld mich auch mal wieder ;)
Ich habe mal mit der Testversion von Cinema4d eine ganz einfache kleine Landschaft gemacht(für genau die Frage die jetzt folgt), damit ich in Python den anfang eines 3d spieles machen kann :D nun meine frage: gibt es eine möglichkeit diese 3ds datei nanzeigen zu lassen, oder muss ich wie ich es irgendwo gelesen habe millionen kleiner dreiecke in variabeln speichern und die in ner bestimmten for manzeigen lassen?

MfG Pyanänger

PS: ich kriege pyopengl für python 2.5 nicht installiert *schäm* ....
PS: hat jemand tuts zu python 3d?

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 18:23
von Hyperion
Als erstes würde ich immer bei pypi gucken: Link

Ob die Pakete brauchbar sind, musst Du mal gucken.

Wenn Du nicht from scratch alles selber machen willst, würde ich mir mal Python-Bindings zu bestehenden 3D-Engines angucken. Ich denke Ogre3D dürfte alle gängigen Modellformate unterstützen - und dafür gibt's ein Python-Binding.

Aber da stellt sich wieder generell die Gretchenfrage: Willst Du ein Spiel machen, oder eine Engine programmieren ;-)

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 18:37
von Pyanfänger
spiel :)

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 18:46
von Hyperion
Pyanfänger hat geschrieben:spiel :)
Dann such Dir eine *fertige* Engine :!:

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 18:58
von Pyanfänger
dh?

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 19:08
von Hyperion
Mein Posting oben, pypi, google, ...

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 19:10
von Pyanfänger
ja was sind den engines :( ? is es nich möglich mit pyopengl was zu machen?
(hab grad nix kapiert :D )

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 19:15
von Hyperion
Nimm es mir nicht übel, aber dann wird das auch nichts mit Deinem Spiel ;-)

Eigeninitiative ist allgemein beim Programmieren erforderlich. Wenn Dir eine Terminologie nicht vertraut ist, dann würde ich immer erst einmal versuchen, mich darüber zu informieren. Also wäre wikipedia / google ein sinnvoller Startpunk.
Wenn Du das und weiterführende Links studiert hast, wirst Du vermutlich kapieren, worauf ich hinaus will :-)

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 20:44
von Pyanfänger
Hi,

Habe es jetzt so ungefähr verstanden, aber dass heisst wenn ich mit nem engine arbeite kann ich pygame vergessen? (is nicht opengl auch sone art engine?)
Und welches engine schlagt ihr mir vor, gibts nen tut fuer?

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 21:00
von Hyperion
`pygame` ist keine Engine, sondern liegt als Multimedia-Toolkit darunter. Eine "Engine" soll dem Entwickler ja vieles abnehmen, was die Spielentwicklung anbelangt. Bspw. bietet sie Elemente für Leveldaten, Spieler, eine fertige Hauptschleife, ein Eventsystem uvm. Das sind ja alles Dinge, die Toolkits wie `pygame` von sich aus nicht bieten. Ergo müsstest Du diese Sachen alle selber schreiben, was das Entwickeln des Spiels eben erschwert ;-)

Daher fragte ich ja, was Du willst. Viele wollen das alles gerne selber entwickeln, weil sie Spaß am Verständnis haben und genau diese Herausforderung suchen. Ob dann mal ein halbwegs fertiges Spiel dabei herauskommt, spielt für diese Leute eher eine untergeordnete Rolle.

Wer aber wirklich das Ziel und Spaß daran hat, etwas spielbares zu erschaffen, der sollte sich eben ein passendes Werkzeug dafür suchen. Da es fertige Engines gibt, sollte er auf diese zurückgreifen, ansonsten verzettelt er sich in zu viele Nebenschauplätze bei der Engineentwicklung.

Ich habe in all meinen "Foren"-Jahren (u.a. auch im GameStar-Forum) noch nie ein Resultat von Usern wie Dir gesehen - auch wenn Dich das jetzt demotivieren mag ;-) Ich vermute mal die meisten haben eben den Aufwand und das dafür notwendige Knowhow unterschätzt.

Wenn es um das reine Ausleben von Kreativität geht, kommt für Dich vielleicht eher eine Art "Modding" in Frage? Viele Spiele, im speziellen Open Source Games, bieten da ja vielfältige Möglichkeiten. Das reicht vom Austauschen von Grafiken bis zum Ändern der Spiellogik. "Battle for Wesnoth" bietet neben einer eigenen Script / Auszeichnungssprache auch Lua als Option fürs Customizing. Damit kann man sehr viel am Spiel ändern - und man kann das Resultat sofort selber anspielen.

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 21:40
von Pyanfänger
Hi,
danke fuer die Antwort ;)

Also mir gehts ein bisschen um alles ;D die kreativitaet, die herauforderung, das ergebnis use ;D

Also am anfang hatte ich mir das so vorgestellt (ok,kriegt jetzt pls keinen lachkrampf):

Die dreiD datei laden(meine urspruengliche frage)ein objekt erstellen wo auch die kamera platziert is und dann per tastenevemt eben objekt und kamera bewegen :DDD

KOenntest du mir denn so ein engine vorshlagen was auch ein tut hat?

Mfg Pyanfaenger

Ps:was die ergebnisse angeht : bis jetzt war ich ganz froh ueber meine ergebnisse im 2d :) jetzt will ich halt 3d anfangen :D (das einzige demotivierende ist nicht der aufwand sondern dass man im inet soo viele "perfekte" soiele sieht...ud wennn man das mit den seinen vergleicht....ja...(das ist wie vor langer zeit mal mit lego ; das neue erfinden der sezs macht sPaß ; aber man brauch nur einmal in einen katalog zu schauen um demotiviert zu sein.. XD)

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 23:02
von Pyanfänger
Waere blender oder panda3d zu empfehlen?

Ps:mit ihr ueberhaupt ne ahnung habt was och so als idee hab, ich will ne art rpg machen^^

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Montag 28. Mai 2012, 23:22
von Dav1d
Um eine eigene Engine zu programmieren gehört einiges dazu (Ich spreche aus Erfahrung), es ist definitiv interessant, aber ohne Vorwissen brauchst du sicherlich ein halbes Jahr um nur ansatzweise etwas vernünftiges auf die Beine zu stellen.

Blender ist definitiv einen Blick wert, ob man allerdings Blender als Grundlage für ein Spiel nutzen mag, weiß ich nicht. Neben Panda3D gibt es noch Ogre, letztere soll sich ganz gut eignen, um eigene Spiele zu entwerfen und die Python-Bindings sollen recht gut sein, allerdings habe ich noch mit keiner der beiden Engines gearbeitet und Blender habe ich nur zum Modelling genutzt.

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Dienstag 29. Mai 2012, 17:50
von Sr4l
Ich habe mir vor Jahren auch mal alle Möglichen 3d Engines angeschaut.

Panda3D und OGRE sind jedenfalls vollwertige Engines mit denen du wohl nicht an technische Grenzen stoßen wirst. Eine der einfachsten auch vom Umfang des Codes her ist definitiv Soya 3D. Das hat mir damals auch richtig gut gefallen. Leider wird es nicht mehr (wenig?) weiterentwickelt. PyGame ist auch gut finde aber das PyGames stärken eher im 2D bereich liegen.

Ich denke bei der Komplexität des Codes geben sich alle 4 nicht besonders viel. Die musst schauen ob bestimmte Engines besondere Features haben die du brauchts. z.B Import von Formaten u.ä. Oder wie leicht sie sich installieren lasse.

Mit Blender bin ich damals nicht richtig warm geworden.

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Dienstag 29. Mai 2012, 19:17
von Hyperion
@Sr4l: Inwiefern siehst Du `pygame` als "Engine"? Das müsstest Du denn doch mal erklären ;-)

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Dienstag 29. Mai 2012, 21:41
von Sr4l
Ich wollte Pygame einfach nicht unerwähnt lassen, weil man in weniger 500 Zeilen Code so lustige Sachen machen wie diese:
http://www.pygame.org/project-Gh0stenstein+-1882-.html

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Mittwoch 30. Mai 2012, 10:25
von JörnS
Also ich kann aus Erfahrung sprechen: Soya ist nett, aber man ist fast zwangsläufig auf einen Comic-artigen Stil festgelegt (Google-Bildersuche: Balazar3D). Ich verwende Panda3D und komme wahnsinnig gut zurecht, obwohl ich auch kein Profi bin. Beigelegt sind bei Panda3D mehrere Tutorials und auch ein paar Models und Texturen, mit denen man wunderbar experimentieren kann. PyOpenGL kann ich nicht empfehlen, denn spätestens bei animierten Models stößt der "normalsterbliche" Programmierer an seine Grenzen, schon allein der Zeitaufwand... puh!

http://www.panda3d.org/manual/index.php ... ng_Panda3D
Das wäre ein guter Einstieg, zwar alles auf Englisch, aber mit ein bisschen Konzentration verständlich.

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Mittwoch 30. Mai 2012, 12:08
von Pyanfänger
Danke an alle für die Antworten :D
Werde wahrscheinlich entweder mit Ogre oder Panda3d arbeiten(wahrscheinlich mit ogre) aber hätte jemand zeit und lus t mir einen kleinen anfangsschub zu geben :D das heißt halt nur ein bisschen erklären und so :/ wäre echt nett...

mfg Pyanfänger

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Mittwoch 30. Mai 2012, 12:42
von Hyperion
Pyanfänger hat geschrieben:... aber hätte jemand zeit und lus t mir einen kleinen anfangsschub zu geben :D das heißt halt nur ein bisschen erklären und so :/ wäre echt nett...
Was erhoffst Du Dir konkret? Suchst Du einen privaten Nachhilfelehrer in Sachen Panda3D o.ä.? Oder soll Dir hier jemand im Forum Seitenweise eine Art Tutorial präsentieren? Ehrlich gesagt glaube ich kaum, dass Du so wirklich weiter kommst. Versuche doch erst einmal selber, brauchbare Tutorials zu einer Engine durch zu arbeiten. Wenn dabei *konkrete* Fragen auftreten, kannst Du Dich ja zu denen hier noch mal melden.

Das wichtige Kriterium "Eigeninitiative" erwähnte ich ja bereits. Wenn Du schon gleich zu Beginn nicht genug Elan aufbringst, selbständig Dinge an zu gehen, wage ich zu bezweifeln, dass Du mit Deinem Weg Erfolg haben wirst. Vielleicht wäre dann das Thema "Modding" doch eher etwas für Dich...

Re: .3ds oder anderes in Python einlesen und anzeigen lassen

Verfasst: Mittwoch 30. Mai 2012, 13:40
von Pyanfänger
Eigeninitiative hab ich eigentlich :D
nur bin wie gesagt in Sachen 3d am Nullpunk t und die tuts sind alle auf englisch :( Daher habe ich bis jetzt überhaupt keine ahnung :) ok mit konkreteren fragen melde ich mich wieder ;)