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.
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.
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.
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 )
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.
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.
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.
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
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.
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.
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.
texturen zeichnen :/ ?
ich muss leider beruecksichtigen dass ich nur eine person bin
Aber Dankeschoen fuer die beiden Links, die haben mit Weitergeholfen^^
[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