Jump to content
Unity Insider Forum

SkipToPlay

Members
  • Posts

    84
  • Joined

  • Last visited

  • Days Won

    22

Everything posted by SkipToPlay

  1. Wenn ich mir die Skripte kurz anschaue sehe ich beim zweiten direkt, dass dieses Skript die FixedUpdate-Methode verwendet. Diese wird unabhängig zur Framerate (Standardm. 50x pro Sek.) ausgeführt, weshalb diese für eine wirklich flüssige Bewegung für Animationen nicht verwendet werden sollte. Stattdessen sollte Update verwendet werden. Jedoch muss darauf geachtet werden, dass die Bewegungsgeschwindigkeit dann nicht an der Framerate gekoppelt ist. Das erste Skript macht es da schon grundsätzlich richtig, denn mit Time.deltaTime erhält man die Zeitspanne seit dem letzten Frame und man kann dementsprechend den richtigen frame unabhängigen Zielpunkt bestimmen. Ohne den Code aufs Detail zu analysieren bin ich mir aber nicht sicher, dass die gewählte mathematische Funktion für die Berechnung der Zielposition für dein Vorhaben geeignet ist. Außerdem verwendest du einmal Slerp und beim anderen Lerp. Wenn es darum geht, dass eine Kamera ein Objekt folgen soll, empfehle ich, dass du dir Cinemachine anschaust, dann musst du dir mit der Implementierung nicht den Kopf zerbrechen und alles andere ist Einstellungssache.
  2. Es gibt sicher mehrere Wege wie das implementiert werden kann. Die guten dürften alle wahrscheinlich immer mehr oder weniger etwas mit Shadern zu tun haben. Dazu gibt es auch bereits mehrere Tutorials. Hier ein das ich auf die Schnelle gefunden habe: Ist zwar für ein anderen Einsatzzweck, die Technologie dürfte sich aber übertragen lassen. Im Grunde geht es darum, dass du mithilfe eines Scripts eine Maske zeichnest, die du nutzt um im Shader zwischen Materialien/Texturen zu wechseln.
  3. Das Problem liegt offenbar an dem 3D Modell. 3D Modelle beinhalten Datenstrukturen, die definieren, welche Teile einer Textur an den jeweiligen Polygonen angezeigt werden sollen. Diese nennt man UV-Koordinaten und müssen vom Modellierer erstellt werden. Es gibt Tools, die diesen Prozess automatisieren, jedoch erhält man dann keine Kontrolle über die Texturpositionen. Ich empfehle dir dich in diesem Bereich weiter zu informieren. Google beispielsweise mal nach "uv unwrapping blender".
  4. Für mich sieht das Skript in Ordnung aus. Prüfe ob alle Rahmenbedingungen eingehalten werden. Das z.B. nur der Player in deiner Szene das Skript "playercontroller" zugewiesen hat, die Tags alle korrekt gesetzt sind, die Collider der anderen Objekten gesetzt und richtig konfiguriert sind. Wenn das alles nicht hilft, versuch in deinem Code zusätzliche Debug-Befehle einzubauen, um nach und nach weitere Ursachen auszuschließen. z.B: ein Debug.Log(Time.frameCount + " " + name + " keycollect#: " + keycollect ); in einer Zeile hinter "transform.position" um zu prüfen, ob dieser Code überhaupt ausgeführt wird.
  5. Die Fehlermeldung sieht für mich nach einem Schreibfehler aus. "positon" -> "position". Ich habe das Skript überflogen und sehe hier keine Fehler die das versursachen können. Gibt es noch andere Skripte, die die Position von Gameobjekten setzen möchten? Eventuell mal in der IDE im Projekt nach "positon" suchen um die fehlerhafte Zeile zu finden.
  6. Ich kenne mich mit diesem PUN nicht aus. Angenommen, du musstest in deiner Tutorial-Reihe das Skript "MonoBehaviourPunCallbacks" schreiben. In diesem Fall würde ich dir raten, dir die Teile dieser Reihe worum es um diese Teilkomponente geht nochmal anzuschauen und zu prüfen, ob du irgendwo vergessen hast Methoden mit den Namen "OnPlayerEnteredRoom" oder "OnPlayerLeftRoom" anzulegen. Sofern dieses Skript mit dem PUN-Paket mitgeliefert wird, empfehle ich dir die Videos nochmal anzuschauen, in dem die "OnPlayerEnteredRoom" und "OnPlayerLeftRoom" Methoden im LobbyManager-Skript implementiert werden. Hier darauf achten, ob tatsächlich das "override" Schlüsselwort erforderlich war. Falls das der Fall war, sollte man eventuell prüfen, ob man wirklich die selbe PUN Version wie im Video verwendet. Hier kann es helfen, das override Schlüsselwort in den letzten beiden Methoden deines Codes zu entfernen. btw. in der Regel reicht es aus, eine Frage nur einmal in einem Forum zu stellen
  7. Nach meinem Verständnis sucht das Skript durch das "override" Schlüsselwort nach einer "virtual" Methode in der Basis-Klasse. Wurden die Implementation dieser beiden Methoden möglicherweise in der MonoBehaviourPunCallbacks Klasse vergessen? Falls dessen Existenz nicht gewünscht ist, sollte sich das Problem lösen, wenn du in deinem Code das "override" schlüsselwort entfernst
  8. "Schöner" ist immer eine Betrachtungssache. In der Computergrafik wird an vielen Stellen getrickst. Es hängt glaube ich auch von dem aktuellen Setup ab. Einfach um noch weitere Möglichkeiten in den Raum zu werfen: - Verwendung eines schwarzen Unlit-Shaders, welcher ggf. mit überlagender Geometrie via Transparenz in ein anderen Shader überblendet. - Verwendung von post processing volumen - Andere Shader-Tricks
  9. Nur ein kleiner Hinweis von mir: Ich glaube Collision Avoidance ist hier das Buzzword wonach man suchen könnte. Sobald man weiß wonach man suchen muss, findet man nach meiner Erfahrung immer eine Lösung. Es gibt dazu verschiedene Arten von Implementierungen die alle eine eigene Kunst zu sein scheinen - je nach dem was man erreichen möchte. Einige davon setzen eine andere Pathfinding-Technologie voraus. Aber viel Ahnung in diesem Bereich habe ich auch nicht.
  10. Vielen Dank! das ganze Video war auf jeden Fall extrem Aufwändig und ich musste für solche Effekte einige Tricks nutzen. Es handelt sich bei den Animationen aus einer Mischung von Unity 3D und Cinema 4D. Für den Übergang von 3:11 bis 3:15 wurden beispielsweise 8 verschiedene Renderpässe / Rendervorgänge benötigt: - Zwei dieser Pässe bestehen aus ein in Unity gerendertes statisches Bild, welches in Cinema 4D auf Geometrie projiziert wurde - Zwei weitere für eine beleuchtete Geometrie - Zwei Wireframe-Versionen - Und zuletzt zwei Masken, die in After Effects dabei helfen, alles zu dem gewollten Effekt zusammen zu mischen. Hier mal ein Beispiel mit dem Frame 139 dieser Animation: Die anschließende Welle war dabei relativ einfach, hier wurde die Szene ein weiteres Mal gerendert. Das rote Netz war hier während der gesamten Animation sichtbar, so konnte ich während der Videobearbeitung entscheiden, wann ich es ein oder ausblende. Die verformende Animation wurde ebenfalls in Cinema 4D erstellt. Insgesamt wurde diese Szene mit allen Effekten 13-mal mit verschiedenen Einstellungen gerendert. So ähnlich hat es sich während des ganzen Videos durchgezogen.
  11. Moin Lukas, was mich verwundert ist, dass du das Problem seit dem Absturz hast. Was ich in diesem Fall zuerst prüfen würde, ob der RAM soweit Intakt ist. Arbeitsspeicher gehen gerne mal kaputt, hatte schon mehrere Fälle. Windows hat ein integriertes Tool namens "Windows-Speicherdiagnose". Ich würde dieses Tool mal durchlaufen lassen. Da dein Rechner wohl genug RAM zu haben scheint kann man auch mal probieren, ein RAM-Riegel temporär zu entfernen. Wenn das Problem weiterhin besteht, den Test mit dem anderen Riegel wiederholen. Weitere Dinge die man prüfen kann: - Das Spiel mit dem Parameter -force-d3d9 starten - Grafikeinstellungen des Spiels über eine Config-Datei auf's Minimum setzen und versuchen Anti-Aliasing zu deaktivieren - Eine alternative Grafikkarte ausprobieren - Grafiktreiber komplett neuinstallieren - Ein Blick in den Betriebssystem-Eventlogs schauen, nachdem das Spiel abstürzt. - Über eine administrative CMD Scan & Reparatur-Tools ausführen: sfc /scannow DISM /Online /Cleanup-Image /ScanHealth - Ein PC-Stresstest durchführen - Betriebssystem aktualisieren
  12. Leider kann ich in diesem Bild nicht ganz bestimmen, was falsch läuft. Dazu wären weitere Perspektiven und am besten der Shadergraph hilfreich. Ja, eine Möglichkeit z.B: wären Keywords. Wenn ich mich nicht irre, sind diese Keywords dafür da mehrere Varianten desselben Shader zu kompilieren, die dann zur Laufzeit ausgetauscht werden. Wenn ich im Shadergraph ein "Boolean" Keyword erstelle, habe ich 2x Input und 1x Output. Je nachdem ob das Keyword gesetzt ist, wird die Quelle ausgetauscht. Wenn man den Keyword auf Exposed im Local Scope setzt, sollte man darauf via Skript einfach drauf zugreifen können. Beispiel: materialObject.EnableKeyword("Boolean"); materialObject.DisableKeyword("Boolean"); Alternativ (wenn auf global gesetzt) können die Shadervarianten global durch z.B. diesen Code aktiviert/deaktiviert werden: Shader.EnableKeyword("Boolean"); Shader.DisableKeyword("Boolean"); Disclamer: Einige Dinge sind Interpretationen von mir, die ich nicht alle nochmal mit der Dokumentation abgeglichen habe.
  13. Moin, hier mal ein neues Video von mir. Ich stelle hier die Funktionsweise verschiedener Reflexionstechniken anhand der Unity-Engine, in Verbindung mit gerenderten Szenen vor und zeige einen direkten grafischen Vergleich der einzelnen Techniken. Verglichen & erklärt wird das Ray-Traced Reflection, Screen-Space Reflection, Planar Reflection und die klassischen Cubemaps. In diesem Video habe ich versucht, soviele Details wie möglich einfließen zu lassen, ohne Zuschauer, die nicht mit der Spieleentwicklung vertraut sind "abzuschrecken". Jedoch denk ich, dass die Informationen meiner Recherche, die auch auf der Analyse des Sourcecodes einiger Renderer/Renderpipelines basiert, in dieser Form auch für den ein und anderen Entwickler interessant ist. Ich wünsche mal viel Spaß mit dem aufwendigsten Video, das ich bisher gemacht habe:
  14. @Zer0Cool Videowünsche nehme ich gern entgegen. Nur die Sache ist... Ich nutze selbst noch kein Blender. ¯\_(ツ)_/¯ Steht aber auf meiner ToDo-Liste, da Blender meiner Meinung inzwischen besser ist als die kommerziellen Anwendungen. Ich habe bisher tatsächlich mehr mit Blender's Python Schnittstelle gearbeite als mit der UI. Wenn ich mich mit Blender besser auskenne, ziehe ich in Betracht, soetwas mal zu machen. Ich kann hier aber ein Geheimtipp geben: https://www.youtube.com/user/mrdodobird ( IanHubert ) https://www.youtube.com/c/CGMatter/ Die beiden machen kurze und sehr unterhaltsame Blender-Tutorial. Hier lernt man wirklich ausversehen etwas! @chrische5 Danke für dein Feedback, ich habe tatsächlich nur noch drauf gewartet bis sich noch einer wegen des Titels meldet. Habe den jetzt umbenannt. Die Intention war eher meine persönliche Auffassung von den ganzen optimierungs Funktionen zu vermitteln anstelle es "reißerisch" aussehen zu lassen.
  15. Moin zusammen, ich habe mal auf die Schnelle ein kleines 6-minütiges Tutorial aufgenommen und ein paar stündchen bearbeitet, wie ich bisher mit Simplygon LOD's erstellt habe. Obwohl die Software die beste für das generieren von LOD's ist, die ich kenne, hatte mir diese die ersten Stunden ziemliche Kopfschmerzen bereitet - was der Grund ist wieso ich zu diesem Video gekommen bin. Vielleicht hilft es ja dem einen oder anderen
  16. Moin, ich habe nun endlich einer meiner aufwendigsten Videos abgeschlossen. Ich richte mich hier eher an Spieler als Spieleentwickler. Aber möglicherweise findet der ein und andere hier auch etwas interessantes. Auf jeden Fall habe ich mir hier sehr viel Mühe mit den Animationen gegeben. Mein Ziel mit diesem Video ist es, mehr Leute für die Spieleentwicklung zu begeistern.
  17. Moin, da du die Möglichkeit hattest, das Objekt anzumalen gehe ich davon aus, dass das Objekt schon entsprechend für die Verwendung in Unity vorbereitet ist. Also das Objekt hat bereits eine UV-Map. Damit sowas nun auch in Unity angezeigt wird (falls du auch neu in Unity bist...) musst du für dieses Objekt ein neues Material erstellen und via Drag & Drop auf das Mesh in der Szene drauf ziehen (Alternativ auch über den Inspector möglich). Dieses Material kannst du im Inspector dann anpassen d.h. entsprechende Texturen für die einzelnen Kanälen zuweisen. Dafür muss die Textur natürlich auch im Projekt importiert worden sein. Sollte es weiterhin Probleme geben, empfehle ich dir mal das Modell hier hochzuladen oder ggf. einige Bilder der Parameter, wo du den Fehler vermutest hier zu Zeigen. Ich mach ungern Eigenwerbung, aber wenn du neu in der Spieleentwicklung & Modellieren bist, würde ich dir mein Video (hier klicken) mal empfehlen, einige "banale" Dinge, aber hätte ich die am Anfang gewusst, hätte es mir persönlich sehr geholfen.
  18. Ich nehme mir mal die Freiheit für die Entwickler zu antworten, da ich mit denen relativ viel Kontakt habe. Sie nutzen aktuell Unity 2017.4 und daran wird sich wahrscheinlich auch nicht viel ändern, da bei dieser Größe des Projekts inzwischen zuviele Abhängigkeiten zu diversen Assets und speziellen Shadern bestehen. Aber dies kommt auf das Projekt an, in diesem Fall wären die erforderlichen Anpassungen aber ein zu großer Rückschritt. Ein Releasetermin gibt es noch nicht.
  19. Übrigens, auf meiner Festplatte belegt das Projekt über 1 TB. Theoretisch sogar 2 TB da dieser Datenträger im Raid 1 Verbund ist. Das liegt daran, weil alle Szenen in 4K RGBA 16bit/Kanal und zwischen 100 und 120 FPS gerendert wurden. Zudem sind die Texturen die verwendet wurden zwischen 8k und 32k groß gewesen. Die Renderzeit dauerte ca 120 Stunden auf ein Threadripper (16 Kerne, 32 Threads) über die Software Cinema 4D und After Effects. Wollte diese Fakten auch mal irgendwo geteilt haben ;).
  20. Moin, habe mal ein Video erstellt, dass verallgemeinert ein grober Einblick in den Renderprozess einer Game Engine gibt. Ich habe recht viele Animationen erstellt um diese Prozesse zu visualisieren.
  21. Hallo zusammen, ich habe die letzten 10 Monate neben einem Spiel auch an einem Video gearbeitet. Ich dachte mir, dass eventuell einige von euch das Thema interessieren könnten.

    Es geht um eine relativ stark verallgemeinerte Erklärung, wie eine Game Engine realistische Modelle/Materialien darstellt.

     

    1. Show previous comments  1 more
    2. Felix K.

      Felix K.

      Hi. Dein Video ist wirklich super gemacht und qualitativ sehr hochwertig.

      Hoffe es schauen noch mehr Leute an.

    3. Bastiuscha

      Bastiuscha

      Echt schönes Video! Btw staune ich, dass du so viele Abo's hast, obwohl du eigentlich wenig Videos hast.

    4. Thariel

      Thariel

      Sehr gutes video! :)

  22. Ich habe bisher noch nie mit Makehuman gearbeitet, aber ich habe mal ein Char. erstellt und nach Cinema 4D (R16) exportiert: Bei mir gibt es keine Probleme. Ich habe mal meine Datei angehängt, wenn die Datei bei dir nicht funktioniert, kann man ausschließen dass es an Makehuman liegt. Modell.rar
×
×
  • Create New...