|
You last visited: Today at 03:44
Advertisement
3d game schreiben.( logik- frage)
Discussion on 3d game schreiben.( logik- frage) within the General Coding forum part of the Coders Den category.
03/18/2011, 00:57
|
#1
|
elite*gold: 0
Join Date: Jun 2008
Posts: 180
Received Thanks: 39
|
3d game schreiben.( logik- frage)
hallo zusammen.
Erstmal : ich habe die Sufu genutz und leider keine Antwort auf meine frage gefunden^^.
So, ich schreib jetzt schon seit einiger zeit progs, und da ich immer wissen will wie etwas funktioniert, wenn ich es benutze....
Beispiel: ( ich schreib grad mit nem stift ,Frage : wie funktioniert ein stift.)
Und ich spiele 3d Games.(wie funktioniert eine 3d welt ?)
ich habe schon angefangen 2d games zu erstellen.
das war mir aber zueinfach. Warum ? ganz einfach.
2d game, auf einem 2d bildschirm.
man muss ja nur x,y angeben und sschon hat man nen 2d game :/ .
Zu meiner Frage:
Ich versteh nicht wie mann eine 3d welt auf einem 2d tft monitor mittels eines pc darstellt.
wenn ich noch ne Z Koordinate angeben könnte dann wäre es jah einfach.
(dann wär mein monitor nicht flach sondern ne schachtel in die ich reingreifen kann.)
Ich hatte damals im Kunst-Unterricht gelernt, wie das menschliche Auge sieht.
Alle Tiefen treffen sich in einem Fokus.(gedachte linie)
Bild:
Ich habe keinen blassen schimmer wie ich mein wissen aus dem Kunstunterricht, und meine Programmierkenntnissen in das Schreiben eines 3d games anwenden kann.
Koennte mir bitte jemand die logik hinter dem programmieren einer 3d welt erklaeren ?
Danke im Vorraus.
lg Klickboy.
PS: ich denke nicht das es wichtig ist um welche Programmiersprache es sich handelt(Variable ist Variable String ist String und Array ist Array),dennoch:
Autoit.
|
|
|
03/18/2011, 01:42
|
#2
|
elite*gold: 20
Join Date: Sep 2006
Posts: 1,100
Received Thanks: 184
|
Es wird einfach ein Projektion der 3D Welt auf die 2D Bildfläche durchgeführt.
Am besten du ließt einfach mal ein Tutorial zu Direct3D oder OpenGL durch, dann lernst du direkt Dinge die du in der Praxis anwenden kannst, allerdings solltest du die zugrunde liegende Mathematik auch verstehen, sonst wirst du sehr große Schwierigkeiten haben dich in die Materie einzuarbeiten.
Das Mathematischeteilgebiet welchem hierbei besondere Bedeutung zukommt nennt sich Vektor Algebra.
|
|
|
03/18/2011, 01:57
|
#3
|
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
|
Bei 2D läuft das Spiel nach rechts oder links, weil es wie du erkannt hast nur aus X und Y besteht.
bei 3D ist die ganze Welt beweglich ja und die tiefe ist auch mit Z angegeben also X,Y,Z
Denke hast es doch selber erkannt, wieso fragste eigentlich dann. ^^
2D Würfel
z.B Super Mario ist 2D die ganzen alten Spiele mit dem schönen 8 Bit Sounds
3D Würfel
4D Würfel in Animation für den Effekt
eigentlich ganz lögisch
vllt kannste es dir so nicht direkt vorstellen aber SPiele mal ein 2D Spiel wie SUper Mario und dann i-was neures.
zudem geht es nicht um den 3D-Effekt aus dem KIno sondern um das räumliche sehen.
Bsp du Spielst GTA wenn du eine Strasse lang läufst und in eine nebenstrasse schaust hättest du bei 2D eine Textur als Hintergrund bei 3D siehst du in die Strasse rein und kannst auch reinlaufen das geht bei 2D auch nicht
Wenn du es noch genauer willst -> wikipedia 2D und 3D da sollte es richtig erklärt sein.
|
|
|
03/18/2011, 07:31
|
#4
|
elite*gold: 0
Join Date: Jun 2008
Posts: 180
Received Thanks: 39
|
Quote:
Originally Posted by Bot_interesierter
Es wird einfach ein Projektion der 3D Welt auf die 2D Bildfläche durchgeführt.
Am besten du ließt einfach mal ein Tutorial zu Direct3D oder OpenGL durch, dann lernst du direkt Dinge die du in der Praxis anwenden kannst, allerdings solltest du die zugrunde liegende Mathematik auch verstehen, sonst wirst du sehr große Schwierigkeiten haben dich in die Materie einzuarbeiten.
Das Mathematischeteilgebiet welchem hierbei besondere Bedeutung zukommt nennt sich Vektor Algebra.
|
Mitunter eine der besten Antworten die ich je bekommen habe.
Dankeschoen ;D
Ich werd mich dann mal mit Vektor Algebra auseinander setzen.
und OpenGL,
Hab schon die ganze nacht nachgedacht wie ich die einzelnen tiefen in ihrem winkel berechnen kann.
@Pain
Ich weis was 2d 3d und eine 4te räumliche Dimension ist.
Der 4d Wuerfel sieht echt Nice aus, erinnert mich an den Film
"cube 2"
EDIT: @Pain ich muss immer so lachen wenn ich deine Sig sehe.. echt zu geil xD
EDIT2: @Pain mir fällt grade auf dass du alles erklaert hast was ich im 1ten Poste schon erklaert habe.
( ich habs deswegen erklaert damit mann nicht denkt ich bin uergendein dahergelaufener Kiddy der mit BB-Code angefangen hat und jetzt ein weltuntergangsprogramm schreiben moechte :P )
|
|
|
03/18/2011, 10:02
|
#5
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Mit der Programmiersprache hat es nicht viel zu tun. Du hast in fast jeder Programmiersprache grafische Schnittstellen.
Jedoch würde ich dir da von AutoIt abraten. Ich habe zwar gehört, dass man mit AutoIt auch OpenGL Libs benutzen kann und damit dann 3D Welten machen kann, ist aber von der Performance nicht gerade das wahre. Bei Anwendungen merkt man das nicht so extrem, aber in einer 3D Welt auch wenn diese einfach ist, würde man sicherlich einen performance Einbruch spüren.
Ansonsten kann man eignetlich ziemlich frei sein, was die Programmiersprachenwahl angeht. Beliebt wie immer C/C++/C# mittlerweile aber auch Java. Ist zwar von der Performance nicht so gut wie C/C++, jedoch kann es halt für Mobile Geräte eingesetzt werden wie Android Smartphones. Wobei man für Android auch native C libs benutzen kann.
Ich würde dir erstmal Raten die Grundmechanismen druchzugehen. Ist sehr lästig und teilweise auch komplex. Aber das sollte man wissen. Wenn du die Grundmethoden verinnerlicht hast, wie so eine 3D Welt funktioniert, kannst du aber auch fertige Engines etc. benutzen. Es gibt da auch einige freie. ogre3d z.B. oder wenn du in Phyton programmieren willst, die Game Engine von Blender.
Man sollte sich natürlich vor Augen führen, dass es kein UDK ist und keine Crysis Engine, aber auc die Grafik etwas eingeschränkter ist. Die Mechanismen sind jedoch die selben.
Wenn du dann ein Spiel machen willst, sollte das der einfachere Weg sein.
Du wirst auch leicht gamedeveloper foren finden. Je nachdem was du genau benutzt. Bei blender-artists gibts z.B. eine Game Abteilung wo Leute für Projekte gesucht werden etc.
|
|
|
03/18/2011, 16:35
|
#6
|
elite*gold: 0
Join Date: Jun 2008
Posts: 180
Received Thanks: 39
|
Ok, du empfiehlst mir Mit C++ zu schreiben und eine Engine,like ogre3d zu verwenden ?
Quote:
|
Wenn du die Grundmethoden verinnerlicht hast, wie so eine 3D Welt funktioniert,
|
Das war ja meine frage 
meinst du damit Vektor Algebra ?
|
|
|
03/18/2011, 16:45
|
#7
|
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
|
Du kannst dir tonnenweise "Vektor Algebra" reinziehen, dadurch kannst du aber kein 3D Spiel programmieren. Berechnung von Vektoren werden zwar bei vielen Dingen benötigt, aber allein damit kommst du nicht weit.
Die Darstellungen übernehmen Schnittstellen bzw APIs wie z.B. DirectX.
|
|
|
03/18/2011, 16:58
|
#8
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Es schadet nicht, Vektor Algebra zu können. Aber so viel brauchst du da gar nicht zu. Matrizenrechnung wirste etwas brauchen etc. Das ganze Mathematische ist ja ansich in der Engine drin. DirectX, OpenGL etc. nehmen dir halt vieles an Arbeit ab.
Was ich dir halt raten würde, die ein kleines 3D Spielkonzept zu überlegen, die eine Engine suchen und dann losprogrammieren. Paar Tutorials zu bestimmten sachen suchen und lesen.
Weil du kannst dir jetzt Physikalische und Mathematische Grundlagen durchlesen, wirste aber nach kurzer Zeit wieder vergessen. Es ist einfahc zu viel um es einfach so auf einmal zu lernen.
Dann echt lieber learning by doing. Und schrittweise alles lernen was du dazu brauchst. Dann kannst du immernoch einzelne Themen vertiefen. Du lernst eine Programmiersprache ja schließlich auch nicht direkt. Du geht Schritt für Schritt vor und liest bzw lernst erstmal alles was es dazu gibt.
|
|
|
03/18/2011, 17:40
|
#9
|
elite*gold: 0
Join Date: Jun 2008
Posts: 180
Received Thanks: 39
|
hab mir Vektor algebra grade mal angeguckt. ich setz mich mal an ein kleines Beispiel Script.
Ein Wuerfel im Raum, und eine Bewegliche Kamera um zu gucken ob die rechnung aufgeht.
ich verteil jetz erstmal thx
|
|
|
03/18/2011, 19:30
|
#10
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Ja so Basis Objekte einbinden ist erstmal ganz interessant. Falls du dann aber wirklich ein Spiel machen willst, gehts schneller und einfacher wenn du dir Docs speziell dafür durchliest. Kommt dann immer drauf an, was du für eine Engine benutzt usw.
Wie gesagt, ich kann dir da Ogre3D empfehlen. Ist kostenlos und auch ziemlich mächtig.
Einige Projekte die Ogre3d benutzen:


Und noch ein paar andere. Irgendwo auf der Seite gabs mal ne Sammlung von Projekten die es benutzen. Und da gibts auch irgendwo Links zu GUI Libs. Für Ingame Guis usw.
Wie gesagt, von der Grafik her keine UDK oder Crysis Engine, aber besser als Metin2 !  Naja vll genausogut. Da kommt es dann auf die 3D Modelle und Texturen etc. an.
Das solltest du auch bedenken. Wenn du ein 3D Spiel machen willst, brauchst du natürlich auch 3D Modelle. Texturen. Lichtsetups. Usw.
Falls du Interesse hast, könnte ich dir auch ein EBook zu Ogre3d schicken. Werden die Basics im Umgang damit erklärt usw.
|
|
|
03/18/2011, 21:03
|
#11
|
elite*gold: 0
Join Date: Apr 2010
Posts: 2,832
Received Thanks: 4,152
|
Ansonsten könnte ich dir noch DarkBasic empfehlen.
Ähnelt vom Syntax VB / AutoIT und kann man relativ leicht erlenen. Gibt viele Plugins (Physik, Kollision, RagDoll, ...) , Beispiele und Tutorials dafür.
Klar, ist auch keine CryEngine. Aber als einzelne Person reicht das finde ich vollkommen. Vorallem wenn du noch keine andere Sprache als AutoIT kannst. In C++ einarbeiten bis du mit DirectX umgehen kannst dauert sehr lange.
|
|
|
03/19/2011, 00:17
|
#12
|
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,324
|
Unter Android gibts hier auch eine sehr schöne Anleitung. Werden auch paar Basics erklärt:
|
|
|
03/19/2011, 02:45
|
#13
|
elite*gold: 0
Join Date: Jun 2008
Posts: 180
Received Thanks: 39
|
Quote:
|
Falls du Interesse hast, könnte ich dir auch ein EBook zu Ogre3d schicken.
|
Sehr Gerne
Werde dann Ogre3d nutzen.
Wenn ich mir ein paar Screens angucke, haelt die Grafik mit Fallout 3 mit.
(Ich beziehe mich damit auf Black Sails)
Nochwas:
Suche Ansammlung von Standard Texturen.
Suche kleine Bibliothek fuer Sounds,(z.B Wasser-geplätscher, schritte o.Ä)
Und noch ein Programm fuer die Texturen der Spielfiguren.
So.. Ogr3 läd grade..
|
|
|
03/19/2011, 06:42
|
#14
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Für Sounds, etc, schau dir mal IrrKlang an:
Texturen kannst du denke ich mit einem Zeichenprogramm deiner Wahl erstellen.
Die Modelle gehen wunderbar mit Blender:
|
|
|
03/19/2011, 10:36
|
#15
|
elite*gold: 0
Join Date: Jun 2008
Posts: 180
Received Thanks: 39
|
texturen zeichnen :/ ?
ich muss leider beruecksichtigen dass ich nur eine person bin 
Aber Dankeschoen fuer die beiden Links, die haben mit Weitergeholfen^^
|
|
|
 |
|
Similar Threads
|
[frage]Bot zum ticket schreiben
03/23/2011 - S4 League - 24 Replies
Ich wollte nur fragen ob es möglich wäre ein ein Bot zu schreiben, wo
man einfach den namen des hackers einschreiben muss und der automatisch ein ticket mit einem vorher geschriebenen text
z.B " lol iks deh, der hat sp und hp hack unso"
erstellt und diese abschickt?
p.s: wenn gleich oder morgen solche bot's hier erscheinen aufpassen, da sind sehr oft keylogger drin
mfg
blend
|
[FRAGE] Farbig schreiben?
09/21/2010 - Dragonica - 3 Replies
Hallo,
ich habe vor kurzem wieder angefangen Dragonica zu spielen und wusste früher wie man z.B in grün schreibt. Ich meine wenn man das in den Chat schreibt.
Ich habe das früher bei Google gefunden aber es scheint als hätte sich dieses Thema um die Farben in Luft aufgelöst.
Man musste davor irgendwie #red oder sowas schreiben oder?
Kann mir da jemand helfen,bitte? :D
|
Shiina's bescheuerte Logik
05/18/2008 - Quotes - 29 Replies
Irgendwann heute kam mal das zustande:
Na, versteht ihr was sie meint? Also ich jedenfalls nicht... xD
|
All times are GMT +1. The time now is 03:44.
|
|