[GER] Einstiegs Hilfe

Hallo,

ich wollte mal gerne Wissen wie ich am besten mit der UE4 anfange. Welcher ist der beste Weg ist damit anzufangen.
Ich will mich mehr aufs Programmieren orientieren, da es mir während meinem Ausbildungsverlauf am besten gefallen hat.
Über jede Einsteigerhilfe wäre ich sehr dankbar.

Ich bin zwar kein Programmierer, fange aber selber gerade an und kenn ein paar die mir Tipps gegeben haben ^^ Zuerst mal wäre gut zu wissen wie es bei dir mit C++ schon steht (Anfänger, Profi,…)?

Puhh mit sich selber einschätzen habe ich es nicht so ^^
Sagen wir mal so habe meine Ausbildung als Informationstechnischer Assistent in NRW beendet. Da sind es ca. 3Jahre programmier Erfahrung was nicht so viel ist. Dazu kommen noch 5 Praktika in einem Betrieb welches Kurtaxe-Automaten in C++ programmiert hat dort konnte ich auch etwas an Erfahrung gewinnen. Ich weiß es ist nicht allzu viel aber jeder hat mal klein Angefangen.

Meinst du mit programmieren das richtige programmieren mit C++ oder Blueprint?

Falls du C++ nutzen willst:
C++ Grundlagen bis zu Klassen, Vererbung, Referenzen und Zeigern sind definitiv nötig wenn in UE4 programmieren möchtest. Ohne dieses Wisses könnte sich das ganze dich schon überfordern, weil es je nach dem was du programmieren willst nötig sein könnte in den Quellcode zu schauen oder in die API, wo oft nur wenig erklärungen sind, sondern Ausschnitte vom Code.
Falls das noch nicht bekannt ist wäre es besser erst einmal damit anzufangen und nebenbei etwas mit Blueprint zu üben, um die API bzw. den Aufbau eines UE4 Spiels zu verstehen.

Was auch wichtig als Programmierer in einer 3D Engine ist, ist auch Mathematik. Vorallem Lineare Algebra solltest du in Grundzügen können.

Also ich gehe mal aus, dass meine Lehrer mir während der Ausbildung alle Grundlagen beigebracht haben. Die Grundlagen die du aufgezählt hast sind kein Problem. Nur was ich so gelesen habe ist das es sich bei der UE4 nicht um “normales” C++ handelt sondern um eine spezielle Version, die die Entwickler selber “UE4 C++” nennen. Welche Unterschiede etc gibt es zum normalen C++?

:stuck_out_tongue: Dann hast du schonmal mehr Erfahrung als ich im C++ programmieren

Also:

  1. mach dich mit den game development Begriffen vertraut, weil auch wenn du ein Programmiere bist, wirst du sie brauchen. e.g static mesh, material, uv maps, lightmap,…
  2. Schau dir das tutorial an: ?v=Q3AvZmZEPyc
  3. Werf einen Blick in das shooter demo von epic games und schau wie sie alles dort gemacht haben
  4. fang an das shooter demo zu verändern (e.g neue Funktionen hinzufügen,…)
  5. geh ins Wiki und schau dir dort ein paar C++ codes an die User geschrieben haben
  6. fang ein eigenes Projekt an -> also eines von den c++ templates öffnen und dann einfach mal mit dem Wissen das du durch das shooter demo erhalten hast ein bischen herumprobieren
  7. setzt dir ein Ziel (e.g ein kleines Spiel) und arbeite darauf hin -> auch wenn etwas unmöglich erscheint, einfach weitermachen (ansonsten gibts ja das Forum ^^)

Das sind so die groben Schritte die ich dir empfehle :slight_smile: (bei mir ist ganz voran noch das lernen von C gestanden, aber du hast ja schon Erfahrung mit C++)

Im Grunde ist da nicht allzu viel anders.
Es werden jedoch viele Makros genutzt, die dir die Arbeit einfacher machen. Diese müssen natürlich gelernt werden.

Für gewisse Dinge nutzt man auch lieber die UE4 spezifischen sachen anstatt dem was c++ bietet. Vorallem beim Casten ist es meistens besser die Cast<T> funktion zu nutzen.

Ich persönlich fand es nicht schwer mich da einzufinden. Jedoch habe ich neben C++ auch noch die UScript erfahrung aus dem UDK und viele der Makros sind einfach dazu da um gewisse Dinge aus UScript zu ermöglichen ohne dass man als programmierer deutlich mehr Aufwand hat.
Die Dokumentation hat bis jetzt immer die nötigen Informationen gehabt. Ansonsten ist die Code Wiki-Page ziemlich hilfreich, um Beispiele zu finden. Ansonsten ist es auch immer gut in den Code der Samples von Epic zu schauen, wie z.B. Shooter Game.

Das schwerste ist das einfinden in die API selbst, also das kennen lernen der wichtigen Klassen und der Struktur der Engine selbst, das kommt jedoch automatisch mit den ersten Versuchen etwas darin zu programmieren.