Jump to content
Unity Insider Forum

MaZy

Members
  • Content Count

    637
  • Joined

  • Last visited

  • Days Won

    26

MaZy last won the day on August 14 2020

MaZy had the most liked content!

Community Reputation

178 Excellent

About MaZy

  • Rank
    Advanced Member
  • Birthday 02/20/1988

Profile Information

  • Gender
    Male
  • Location
    Hannover

Recent Profile Visitors

17,111 profile views
  1. Meinst du sowas wie ne Queue? Dass da etwas gemacht wird und wenn abgeschlossen ist das Nächste? Sowas hab ich mit Coroutines auch gemacht.
  2. Manche Linq-Queries haben tatsächlich Memoryproblems, aber solange man das nicht konstant also nonstop aufruft ist es eigentlich kein Problem. Irgendwo in Unity Forum oder Blog hab ich auch gelesen, dass man es z.B. nicht in einem Update-Funktion benutzen soll. Diese Probleme gibt es aber nicht nur in Linq. Foreach, strings (anfügen in Updates) usw, dass alles kann, aber muss nicht zu Performance Probleme führen Bei foreach in deinem Beispiel passiert ungefähr folgendes: using (IrgendeinType.Enumerator enumerator = this.objectCollection.GetEnumerator()) { while (enume
  3. Würde, wenn es jetzt nicht unbedingt um Scripting geht das mit Partikeleffekt machen. Spart Performance.
  4. Schau mal hier. Glaube das erklärt dir was bei dir Falsch ist: https://docs.unity3d.com/ScriptReference/Color.html Ansonsten das hier benutzen: https://docs.unity3d.com/ScriptReference/Color32.html
  5. Na auch einfach wieder serializing and deserializing. Wichtig ist, dass der Server oder Client erkennen sollte was ihm gerade gesendet wird. Z.B. mit Nummern am Anfang. 1 für Spawn, 2 für Position update usw. Wenn man sowas gemacht hat, kann man dann folgendes tun. Beispiel mit einer Klasse. public class SpawnMessage { public id playerId; float x; float y; float z; } Server SpawnMessage spawnMessage = new SpawnMessage() { playerId = HIER_SPIELER_ID, 0f, 0f, 0f }; byte[] serializedMsg = serialize(spawnMessage). Client SpawnMessage spawnMessage = deserialize(ser
  6. Ich habe damals selber hacks, und cheats geschrieben, weil ich sowas interessant fand (nicht um zu cheaten). Es ist tatsächlich sogar ziemlich einfach gewesen damals "Wallhacks" für CS 1.6 zu schreiben. Aimbot usw und ESP(wo man namen sieht durch die Wände usw) war schon schwieriger weil man das berechnen muss. Was als Tipps gegeben wurden damals waren "Benutzt keine Namen, die überall verwendet werden". Also die Variablen dürften nicht was mit "Wallhack" oder "Aimbot" zu tun haben. Somit hatte VAC Probleme Signaturen raus zu finden. Natürlich abgesehen davon wird auch überprüft, ob im Spi
  7. Ich kann nur aus Erfahrung sprechen, dass viele gerne Ideen haben, die sie umsetzen wollen, weil sie während sie etwas zocken und dazu Ideen einfallen (ist bei mir auch so sehr oft), aber ich hab ca. 90% davon gesehen, wo die ihre Motivation schnell verlieren und aufhören, weil es Jahre dauern kann. Faktoren wie unerfahrener Programmierer bzw. weil man nicht hauptsächlich die Zeit dafür hat (z.B. wegen Job / Schule usw.) verlängern die Zeit. Es gab mal so eine Seite, da konnte man sogar sowas berechnen lassen, die Kosten oder Dauer. Einer von wenigen die tatsächlich was umgesetzt ha
  8. Ich hab dort gemeint, wenn man jetzt ein GameObject mit Laserscript hat und als Child noch ein GameObject mit Collider mit aktivierten IsTrigger hat, dann wird bei Laser nie OnTriggerEnter ausgeführt. Deswegen könnte man ein Trigger Script schreiben, der quasi zu Laserscript dann weiter schickt, wenn ein Trigger entstanden ist. So als Pseude: LaserScript.OnHit(Collider targetCollider) TriggerScript.OnTriggerEnter(Collider targetCollider) { LaserScript.OnHit(targetCollider); }
  9. Oh du benutzt die selben Assets wie ich https://i.imgur.com/KcqYrEV.gifv Aber ich habe leider wenig Zeit für die Entwicklung derzeit.
  10. Hab den teil nicht genau verstanden, aber ich stelle mir eigentlich dein Setup so vor. Beispiel: Laser -LaserScript -LaserBoxCollider (GameObject mit Boxcollider als Trigger) --TriggerScript Asteroid -HealthScript -Rigidbody -Collider (ohne Trigger) 1. Wenn das so aufgebaut ist, dann kannst im TriggerScript ein Reference zu LaserScript haben, falls du dort die all das mit Kollision berechnest. Man kann dafür extra ein TriggerScript schreiben um alles zu dem Main Script zu senden (z.B. mit UnityEvents). Dann müsste das schon gehen. 2. Methode was ich bei schnelle Projektilen g
  11. Ja kann an TCP liegen, aber muss nicht sein. World of Warcraft benutzt auch TCP und da sieht man solche Probleme nicht, außer in Worst Case Scenario, wo wirklich sehr viele in ein Haufen sind. Das gleiche hab ich bei Guild Wars 2 auch gehabt, aber ich weiß nicht ob die TCP oder UDP benutzen. Minecraft benutzt auch TCP. Minecraft lagt auch gerne bei schwachen Server, aber bei uns ging das mit 1000 Leuten damals mega gut. Ich kann leider nicht einschätzen, wann FPS runter gehen könnte, weil ja das auch an Grafik liegen kann oder allgemein an die Behaviourscripte. Ich weiß z.B. von Blac
  12. Zu TCP und UDP Ich tendiere zu TCP und man kann dafür benutzen, aber empfohlen wird dennoch UDP. UDP und TCP zusammen funktionieren nicht, aber man kann trotzdem programmieren, dass die Daten die von TCP kommen durch UDP weiter geleitet werden können, aber sowas tut man nur, wenn man keine andere Wahl hat (z.B. Browser unterstützen nur TCP). UDP ist allgemein schneller, aber nicht so verlässlich wie TCP. Für schnelle FPS kann UDP besser geeignet sein. Mirror Entwickler haben z.B. UDP benutzt für ihren Mmmorpg Packet im AssetStore und es gab da sehr viele Probleme. Beste Entscheidung für
  13. Unity arbeitet an was neuem. Das ist auch gut so, denn das neue soll auf jeden Fall besser. Vielleicht nicht so krass anfänger-freundlich, aber es bietet Sachen an, die man bei UNet gebraucht hat. Aber so viel will ich nicht beurteil, da ich nur ein paar Videos dazu gesehen habe und das ja auch noch nicht ganz fertig ist. Wie gesagt ist Photon PUN für mich "Kinderspielzeug". Es funktioniert auch nicht offline. Das heißt man verbindet mit dem Photon Netzwerk. Bei Photon kann man auch nichts serverseitig programmieren. Da kann man Sachen aber schnell entwicklen testen. Bei Mirror oder
  14. Also wenn du Anfänger bist und gar kein Plan hast würde ich auch erst mal Photon PUN empfehlen, da das vieles abnimmt. Aber wenn du da bisschen mehr machen willst z.B. auch eigenen Server programmieren, wo ein Spieler dann dahin joinen kann um zu Spiele (wie die meisten Spiele), dann kann man Mirror oder so benutzen. Wenn du noch komplexer haben willst. Quasi von ganz weit unten fangen, dann kann auch direkt mit Transport Layer benutzen wie Telepathy, DarkRift 2, Lidgren (die spontan mir so einfallen). Bei Splitscreen brauchst du eigentlich keine davon. Ja UNet wird gar nicht me
  15. Würde ich auch sagen, aber ich habe einige APIs gesehen, die wollen einfach nur Passwort ohne Verschlüsslung. Ich glaube den Rest erledigt SSL selber? Bin da auch nicht so der Schlauste.
×
×
  • Create New...