Jump to content
Unity Insider Forum

runner78

Members
  • Content Count

    112
  • Joined

  • Last visited

  • Days Won

    7

runner78 last won the day on January 18

runner78 had the most liked content!

Community Reputation

21 Excellent

About runner78

  • Rank
    Advanced Member

Recent Profile Visitors

978 profile views
  1. Pixel Perfect ist jetzt ja auch teil von LWRP.
  2. In der Regel verwendet man bei solchen Sachen immer Miniaturen. Z.B. in Kerbal Space Programm, da wird intern das Sonnensystem mit double vectoren berechnet, die Darstellung aber mit skalierten Miniaturen. In der Map sieht man die Planeten wenn man heraus zoomt nur Markierungspunkt, und der Planet erscheint erst wenn weit genug hinein zoomt. In der Normalen Ansicht wird nur die unmittelbare Umgebung in echter Größe dargestellt, Himmelskörper werden mit eine anderen Kamera von einem skaliertem Model aufgenommen. Der Planet Kerbin hat so eigentlich nur einen durchmesse von 100 Units. Zum Teil verwendet KSP bis zu 7 überlappende Kameras.
  3. Das Problem dürfte weniger an diesem Script liegen, als an den Objekte die du erstellt. Start() wird nur ein einiges mal aufgerufen und hat keine Auswirkung auf die FPS.
  4. Unity hat auch einen eigenen JSON serailizer, der ist zwar nicht so umfangreich wie der von Newtonsoft, soll aber performanter sein (nicht getestet). Microsoft hat sich für ASP.NET core 3 übrigens auch von Newtonsoft getrennt und entwickelt eine eigenen performanteren serializer.
  5. Ich lasse bei if Anweisungen fast nie die Klammern weg, ich finde das tatsächlich oft weniger lesbar. Einzig bei reinen Einzeiler mach ich das manchmal methode() { if (istWahr) return; }
  6. Das kommt ein wenig auf den Kontext an, beim oberen Beispiel würde ich den langen code bevorzugen. Ich benutze die kurze Schreibweise des öfteren beim zuweisen von Variablen mit default-Werten.
  7. Texture2D hat übrigens die nützliche Methode "Resize": https://docs.unity3d.com/ScriptReference/Texture2D.Resize.html
  8. Ein Vorteil für JSON wäre eventuell ein einfacher Mod-Support .
  9. Link habe ich Grad keinen, aber z.B ECS benutzt den C# Standard (mit Ausnahme der neuen "math" Bibliothek)
  10. Unity will sich jetzt ja auch an die C# Standard halten, aber um nicht alles zu mischen, haben sie sich entschlossen im "alten" Namespace (UnityEngine/UnityEditor) den alten Stil zu verwenden, im neuerem "Unity" Namespace sich an den Standard zu halten.
  11. Mit var_dump() oder var_export() kannst du dir den Inhalt von $_FILES ausgeben, praktisch für schnelles debuggen. Ich hoffe du baust da auch eine Validierung ein, die speicherst eine Datei ohne zu überprüfen ab, da kann alles drin sein, und dazu hast du auch indirekt den Link zu deinem Script hier gepostet. Ich habe zum Test eine Textdatei gepostet, gab keine Fehler Das WWW System von unity ist veraltet, es gibt ein neueres System: https://docs.unity3d.com/Manual/UnityWebRequest-SendingForm.html
  12. Die HLAPI von UNet wird zukünftig als externes Paket ausgelagert, und hat bis 2021 Support, aber keine neue Features. Die LLAPI wird im laufe des 2019.x Zyklus von Unity entfernt, sobald die neue API stabil genug ist. Eventuell gibt es einen Wrapper für die HLAPI. Die HLAPI wird nicht ersetzt, stattdessen wird es eine Reihe von Paketen geben.
  13. Bei WoW wird glaube ich beides verwendet. Bei TCP wird sichergestellt, dass Daten-Pakete in der richtigen Reihe auch wirklich ankommen. Das beuteutet auch, das der Server warten muss bis der Empfänger zurückgibt das das Paket gekommen ist, und im schlimmsten Fall das Paket nochmals senden, wenn es verloren geht. Dadurch entsteht eine nicht unerhebliche Zeitverzögerung. TCP hat auch einen größeren Header und braucht deshalb auch mehr Bandbreite. UDP schickt einfach die Pakete ohne sicherzustellen ob und in welcher Reihenfolge die Pakete ankommen. Z.B. bei Spielerpositionen kann es auch mal egal sein wenn mal ein Paket verloren geht. Während bei TCP der Server das mittlerweile veraltete Paket nochmal schicken muss, hat bei bei UDP der Client vermutlich bereite aktuellere Pakete erhalten. TCP macht dann Sinn wenn Performance keine Rolle spielt, und man Sicher gehen will, dass die Daten auch ankommen, z.B beim Senden von Benutzereingaben zum Server. Beim FPS Example wird übrigens beim Senden von Benutzerangaben auch die Versionsummer des letzten empfangenen Paketes mitgesendet, somit weiß der Server wann der User eine Aktion ausgeführt hat und passt die Server Simulation Rückwirkend an.
  14. UNET verwendet UDP, nicht TCP (bei Multiplayer üblich). UDP ist schneller, allerdings kann es zu Packetverlusten kommen. Wenn ich mich richtig erinnere, wird beim FPS example jedem Paket eine Versionsnummer mitgesendet.
  15. Stimmt nicht, Formate wie DXT liegen auch komprimiert im Grafikspeicher, genau dafür sind solche Formate gemacht.
×
×
  • Create New...