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

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

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?
-
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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 ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

spiel :)
-
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Pyanfänger hat geschrieben:spiel :)
Dann such Dir eine *fertige* Engine :!:
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

dh?
-
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Mein Posting oben, pypi, google, ...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

ja was sind den engines :( ? is es nich möglich mit pyopengl was zu machen?
(hab grad nix kapiert :D )
-
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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 :-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

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?
-
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

`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.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

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)
-
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

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^^
-
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

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.
the more they change the more they stay the same
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

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.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

@Sr4l: Inwiefern siehst Du `pygame` als "Engine"? Das müsstest Du denn doch mal erklären ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

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
JörnS
User
Beiträge: 9
Registriert: Montag 31. Oktober 2011, 16:28

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.
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

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
-
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

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 ;)
-
Antworten