Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

PuraVida

Frischling

  • »PuraVida« ist der Autor dieses Themas

Beiträge: 34

Wohnort: Ludwigsburg

Beruf: Übersetzer

  • Private Nachricht senden

1

16.06.2012, 18:18

Verständnisproblem C++ / Python o.ä.

Hallo liebes Forum!

Ich lese gerade immer wieder online Artikel über 3D Spieleprogrammierung, z.B. zum Thema "Modellierung von 3D Objekten" mit Blender o.ä. - dabei ist manchmal auch die Rede davon, dass man in Blender auch programmieren kann? z.B. über die Programmiersprache Python. Wie kann ich mir das als Laie vorstellen? Was wird jetzt in C++ programmiert und was in Python? Ich hoffe die Frage ist nicht allzu blöd...

Viele Grüße,

Tobias

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

16.06.2012, 18:26

Keine blöde Frage. Die Verwirrung mag manchmal hoch sein. ^^

Also. Blender selbst ist grundsätzlich in C++ geschrieben. Zusätzlich bietet es an, dass man als Nutzer selbst das Programm mit Python Skripten erweitern kann. Üblicherweise werden das irgendwelche Exporter sein, die einem das Modell, dass man hat in eine spezifische Software Form bringt. Man kann aber anscheinend auch viel mehr damit machen. Vorstellbar wäre z.B ein Algorithmus, der auf ein Modell angewandt wird und das irgendwie verändert.

Dann kommt oftmals das Spiel, dass die Modelle braucht, die mit Blender erstellt wurden. Diese Spiele sind möglicherweise in C++ geschrieben.

PuraVida

Frischling

  • »PuraVida« ist der Autor dieses Themas

Beiträge: 34

Wohnort: Ludwigsburg

Beruf: Übersetzer

  • Private Nachricht senden

3

16.06.2012, 18:30

Vielen Dank für Deine schnelle Antwort. Das heißt, man könnte Python z.B. benutzen, um statische Modelle, die in einem Grafikprogramm wie Blender erzeugt wurden, zu animieren? Und diese animierten Modelle dann einbauen? Dachte bislang, dass die Bewegung/Animation von Objekten in einem 3D-Spiel vor allem über Vektorklassen in einer Engine generiert wird?

Viele Grüße,

Tobias

4

16.06.2012, 18:55

Man kann zwar Objekte per Skript ändern, aber in der Regel wird man Modell in Blender animieren und dann exportieren. Die Engine generiert keine Animationen, sie spielt nur die zuvor exportierten ab (dahinter steckt aber auch eine Menge Mathematik!).
Dann gibt es natürlich noch so Dinge wie Ragdollphysik oder Anpassung der Animationen an die aktuelle Situation (damit die Füße immer genau die Treppenstufen treffen oder ähnliches), wo dann doch wieder so gesehen Animationen in der Engine generiert.
Lieber dumm fragen, als dumm bleiben!

PuraVida

Frischling

  • »PuraVida« ist der Autor dieses Themas

Beiträge: 34

Wohnort: Ludwigsburg

Beruf: Übersetzer

  • Private Nachricht senden

5

16.06.2012, 19:14

Aaaah, okay, ich glaube ich fange so langsam an zu verstehen. Und diese Animationen in Blender werden dann z.B. über Python generiert, oder wie? Ich nehme mal an so eine Animation hat dann ein eigenes Format, oder? Und dieses Format wird dann als Objekt ins "Spiel" eingebettet, richtig? Z.B.: Ein Held führt einen Schwertschlag aus. Der Held und sein Schwert werden modelliert, dann z.B. über Python animiert und die Ausführung des Schwertschlags im Spiel wird dann z.B. über einen Mausklick von der Engine abgefangen, so in etwa?

Kann ich mir die Programmierung in Blender auch so wie die Programmierung einer Vektorklasse/Matrizenklasse vorstellen?

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

6

16.06.2012, 19:53

Ich hoffe aber, das es jetzt nicht so rüberkommt, als wäre Python _nur_ dafür da.
Python ist eine eigene Sprache mit der man genauso wie mit C++ (Spiele) programmieren kann. Nur um sicherzugehen. :)
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

PuraVida

Frischling

  • »PuraVida« ist der Autor dieses Themas

Beiträge: 34

Wohnort: Ludwigsburg

Beruf: Übersetzer

  • Private Nachricht senden

7

16.06.2012, 19:57

Ja, das ist mir schon klar. Ich habe eben gelesen, dass es oftmals als eine Skriptsprache via Blender eingesetzt wird und wollt emich mal vergewissern, wozu es dann in etwa eingesetzt wird... :-)

8

16.06.2012, 20:12

Aaaah, okay, ich glaube ich fange so langsam an zu verstehen. Und diese Animationen in Blender werden dann z.B. über Python generiert, oder wie?

Ich bin mir grad nicht mehr ganz sicher, wie viel Logik von Blender in C++ und wie viel in Python geschrieben wird, aber Animationen programmiert man nicht, die "klickt man zusammen". Die Sprache ist da also total egal.

Mit Python kann man Blender erweitern, quasi Plugins schreiben. Das wäre aber auch in C++ möglich, nur mit Python ist es eben komfortabler. Wenn du Blender benutzt musst du aber überhaupt nicht wissen, was Python ist und schon gar nicht programmieren können.
Du kannst dir ja ein paar Blenderskripte mal anschauen, das sollten alles Textdateien sein. Dann wird das ganze evtl. etwas klarer. Zufälliges Beispiel: https://svn.blender.org/svnroot/bf-exten…erials_utils.py
Lieber dumm fragen, als dumm bleiben!

PuraVida

Frischling

  • »PuraVida« ist der Autor dieses Themas

Beiträge: 34

Wohnort: Ludwigsburg

Beruf: Übersetzer

  • Private Nachricht senden

9

16.06.2012, 20:29

Wow, okay, vielen Dank für die Info. Habe mir grade übrigens mal Deine website angeschaut. Schick :-) Muss gleich mal was testen hehe :-)

Sehe ich das richtig, dass dann z.B. in einem Spiel wie Starcraft oder Warcraft oder was auch immer so ziemlich alle Gegenstände, Einheiten etc. in einer Grafikprogramm wie Blender, 3dsMax o.ä. erstellt werden und dann "zusammengefügt" werden? Trifft das auch auf Landschaften zu?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

10

16.06.2012, 20:55

Sehe ich das richtig, dass dann z.B. in einem Spiel wie Starcraft oder Warcraft oder was auch immer so ziemlich alle Gegenstände, Einheiten etc. in einer Grafikprogramm wie Blender, 3dsMax o.ä. erstellt werden und dann "zusammengefügt" werden? Trifft das auch auf Landschaften zu?

Grundsätzlich ja. Für Landschaften gibt es aber spezielle Tools, die dir mehr oder weniger ohne grosse Arbeit Städte oder Landstriche erstellen können und diese werden dann exportiert und im Spiel geladen. Da hast du noch andere Anforderungen, weil ja eine ganze Map nicht gleichzeitig dargestellt werden kann und daher haben die meistens weniger Einheitliche Formate (wofür man dann aber eben z.B ein Pythonskript schreiben kann). Es gibt auch die Möglichkeit Landschaften prozedural also per Code im Spiel zu erzeugen.

Werbeanzeige