Jump to content
Unity Insider Forum

Wie findet man sich in Assets zurecht? (blutige Anfänger Frage)


Jatoll

Recommended Posts

Hi, ich will gern Unity für meine Bachelorarbeit nutzen aber tu mich etwas schwer da rein zu kommen. Gefühlt sind alle Tutorials die ich sehe nicht so wirklich gut. Ok eins war echt gut und danach dachte ich mir "jetzt lade ich mal das Asset rein was ich nutzen möchte" - und ich versteh gar nichts mehr. Im Grunde soll es nur darum gehen, dass von Außen (also von einem Server) irgendwie Animationen getriggert werden, aber ich finde mich in diesem Asset gar nicht zu recht. So viele Skripte und Zeug und ich weiß gar nicht wozu die da sind oder wo da mal der Anfang ist. Das Asset heißt Yippy Kawaii. Kann mir da jemand weiterhelfen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja eigentlich bin ich eher so von dem Asset überfordert. Ich dachte ich könnte mir vielleicht da in den Scripten anschauen wie es geht, aber ich finde da nichtmal den Anfang. Es gibt alle möglichen Scripts und ich hab bei keinem Ahnung was die genau machen (also ein Bisschen kann ich's mir vom Namen ableiten). Es ist da einfach so viel drin in diesem Asset und ich hab keine Ahnung was ich davon brauche und wie genau. Aber prinzipiell stimmt das schon was du sagst... 

Link zu diesem Kommentar
Auf anderen Seiten teilen

ookkkk....schau in die Methode Start() an. Die wird (außer in ein paar Ausnahmen) als erste Aufgerufen wenn das GameObjekt "erstellt wird". 

Dann schau dir die Update() Methode an...die Wird pro Frame aufgerufen -> von der Engine.

Ich habe keine Ahnung wie weit du in der Programmierung bist, aber vergiss so Sachen wie die main() Funktion in C/C++ oder so. Es gibt keinen Einspringpunkt für das OS. Das macht alles die Engine intern. 

Denke daran alle GameObjekte haben ihren C#-Code und darin ist die Update()-Methode die von der Engine pro Frame aufgerufen wird. Für jedes aktive Objekt in jedem Frame....

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK, also ich fasse mal so ein Bisschen zusammen was meine Vorkenntnisse sind:

Ich hab vor 20 Jahren viel in The Games Factory von Clickteam gemacht und heute hin und wieder mal ein bisschen in dessen Nachfolger "Clickteam Fusion 2.5". Da wird nicht mit Code gearbeitet sondern es gibt eher so eine Tabelle nach dem Motto: Wenn das und dieses gegeben ist dann soll dieses und jenes passieren. Hab da auch schon umfangreichere Games mit gemacht.

Ich hab vor über 10 Jahren mal Java gelernt (so einigermaßen) und auch mal kurz in C++ eingeschaut und da Mastermind für die Konsole programmiert (dieses Zahlenspiel)... aber seit 9 Jahren oder so nix mehr gemacht und im Grunde alles vergessen. Also ich hab kaum Vorkenntnisse (das würde ich mir jetzt nicht anmaßen zu sagen ich hab Grundkenntnisse im Programmieren).

Ich hab schon soviel verstanden, dass man in Unity immer Objekte hat und denen verschiedene Components zuordnen kann (wie z.B. die Scripts) und auch dass es diese Start Methode und Update Methode gibt und was die machen. Das war's im Grunde... hier und da noch ein paar Kleinigkeiten aber mehr weiß ich nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin!

Pakete (sag ich lieber statt "Asset", weil ein Asset eine einzelne Datei ist) können unterschiedlich komplex sein. Ich hab schon ein Paket mit nur einem Script in den Asset Store gestellt; das hast du draufgezogen und dann hat es das gemacht, was du im Asset Store gesehen hast. Mein aktuellstes und Paket dagegen hat über 70 Klassen und ist dafür da, eine bestimmte Projektarchitektur besser verwenden zu können. Man sollte dafür also wissen, was man damit tun will, und wie. Entsprechend habe ich dafür eine ausführliche Anleitung geschrieben (aktuell 45 Seiten, wächst aber demnächst nochmal), habe eine API-Dokumentation generiert und Demo-Projekte gebaut, mit denen man das alles anschauen, erforschen und verstehen kann. So ein kompliziertes Paket, das dir aber nicht genügend Dokumentation gibt, um damit auch zu arbeiten, ist nicht viel wert. Das kannst du dann schlecht bewerten oder sogar dein Geld zurück verlangen.

"Yippi Kawaii" ist aber kein kompliziertes Paket - es ist ein Paket mit 3D-Modellen und Animationen. Die Scripts, die du dabei hast, dienen daher nur dafür, die beigelegte Demo-Szene, zu befeuern. Unity schreibt vor, dass Pakete mit Art Assets so eine Demo-Szene haben müssen, in der die Inhalte präsentiert werden. Der beigelegte Code ist dafür da, dass in dieser Demo-Szene auch etwas passiert. Du kannst ihn dir anschauen und ihn ggf. als Vorlage für deinen eigenen Code sehen, aber er ist nicht dafür da, dass du ihn in deinem Projekt verwendest. Deshalb wird er auch kaum dokumentiert sein und sich schlecht in andere Systeme einbinden lassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ah ok, danke. Ja hab jetzt einfach auch mal angefangen mir eine neue Szene zu bauen und einfach mal reinzuziehen was ich brauche und mal gucken wie weit ich so Stück für Stück komme.

Frage: Muss ein Script immer irgendwie Component sein? Also wenn ich jetzt z.B. am Start des Programms generell mal Dinge machen will wo würde ich das am besten ... äh ... hinlegen / haben das Script?

Z.B. Verbindung zum Server aufbauen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst auch eine "normale" C#-Klasse schreiben, die dann nicht als Komponente auf ein GameObject gezogen werden kann. Unabhängig davon kannst du zum Programmstart etwas ausführen mit

[RuntimeInitializeOnLoadMethod]
private static void Initialize() // Methodenname egal
{
  // Zeug zum Programmstart hier hin
}

in einer (oder auch mehreren) beliebigen Klasse(n).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...