Jump to content
Unity Insider Forum

MaZy

Members
  • Gesamte Inhalte

    706
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    35

Alle erstellten Inhalte von MaZy

  1. [quote name='Mabenan' timestamp='1442307994'] @MaZy verstehe ich dich richtig das dein Server nur Packete zu anderen Clients weiterleiten soll? Wenn ja musst du doch nur die Input Message nehmen und wieder in ne Output Message umwandeln dich braucht ja der Inhalt nicht zu kümmern wenn du es Auf bestimmte Message beschränken willst kannst du für Message allgemein ein byte an den Anfang schreiben was den Type der Message festlegt [/quote] Ich habe bereits von anderen eine Hilfe bekommen wie man das machen kann. Das Problem war, dass man einen IncomingMessage bekommen hat, aber du wusstest als Server nicht, wie viele mal "Write" benutzt wurde und welcher Type benutzt wurde und zu OutgoingMessages kann man auch nicht einfach so umwandeln. Ja mit dem Type vor dem Message hatte ich auch die Idee, aber ich müsste noch überlegen wie ich weiß wie viele da ankommen. Ich wollte for schleife benutzen und dann zu OutincomingMessage machen. Dafür wurde mir das hier gezeigt: [quote]while (netIncomingMessage.PositionInBytes < netIncomingMessage.LengthBytes - 1)[/quote] Das wird mir helfen ^^
  2. @Mabenan. Danke. Ich habe das mal bissel angeguckt, aber ist etwas anders Aufgebaut als bei mir. Sieht gut aus. Ich habe schon da ein Problem bei mir. Ich versuche das gleiche aufzubauen wie bei Unity und Photon State Sychronizing also OnNetworkviewSerialize. Jedoch weiß ich nicht, wie ich unbekannte Typen mit Write senden und empfangen kann. Write ist ok, aber wie soll der Server immer wissen, was die Clients senden. Was ich vorhabe ist, dass der Entwickler nichts auf dem Server machen muss, außer auf dem Client. So wie bei Photon. Da wird auch alles zu Server gesendet und der Server sender weiter zu Clients. Der Cloudserver kann ja unmöglich wissen, was wir Programmierer alles senden wollen ^^. @delspeedy. Es gibt noch Forge. Das soll auch gut sein. Bei Zweispieler Duell Game allein reicht nicht aus, um zu sagen, was man da benutzen sollte. Die Faktoren wie Multiplayer Lobbys, Räume, Autohosting und Datenbänke usw die sagen da mehr aus. Wenn es darum geht, dass einer hostet und der andere joint, dann kann man auch das normale Unity Networking nehmen.
  3. Ihr könnt mich gern bei Twitter followen. Ich followe auch zurück ^^ https://twitter.com/BzzYzz

    1. Slayer

      Slayer

      Ich dachte Followen tut man nur jemanden wenns einen interresiert^^ Dieses ich follow dir wenn du mir find ich irgendwie... naja :D

    2. MaZy

      MaZy

      Oder wenn man vorhat die Weltherrschaft zu übernehmen.

    3. Slayer

      Slayer

      Ich wünsche keinem sowas :D

  4. Sieh an sieh an, Mesh.CombineMeshes(meshlist[]). Was man wohl damit erreichen kann ;)

  5. lool ich habe Unity kaputt gemacht. Wenn man von Cube sharedMesh holt und ihn bearbeitet, beispiel vergrößern.. dann bleibt ads für immer so . Auch wenn man vom playmode raus geht oder wieder rein geht (na klar bei neuen Projekten sollte das wieder normal sein)

  6. [size=6][font=courier new,courier,monospace][i]Keine Zeit mehr zu warten.[/i][/font][/size] (Der Text wurde sehr spät. bzw früh mit Müdigkeit und Mühe geschrieben. Eventuell gefundene Fehler werden bald mit einem Update gefixt ) [font=courier new,courier,monospace][size=6][b]UNet[/b][/size][/font] [font=courier new,courier,monospace][size=1]-[/size][/font] [font=courier new,courier,monospace]Ich habe mich mit UNet auch intensiv beschäftigt. Ich muss leider sagen, dass es nicht wirklich meine Wünsche befriedigt. Ist egal, ob es jetzt seine Endphase nicht erreicht hat, aber wie sich das entwickelt zeigt schon, dass ich doch bei der alten Network bleiben muss, oder meine eigene brauche.[/font] [font=courier new,courier,monospace]UNet ist toll, wenn man diesen NetworkManager benutzt und seinen zwei Szenen klatscht. Was aber, wenn man mehrere hat? Steht nicht viel dazu. [/font] [font=courier new,courier,monospace]UNet bietet auch Cloudserver an, was total schön ist für Spiele die sehr dynamisch aufgebaut sind (So wie bei LoL, Dota 2: Spiel / Match suchen / finden -> Server wird bereitgestellt -> Spiel beenden -> Server wird für die nächsten Matches verfügbar gemacht)[/font] [font=courier new,courier,monospace]Doch was ich bei UNet bemerkt habe ist, entweder du hast es sehr simple oder sehr schwer. Das hat sogar ein Unity-Crew gesagt in einer Demonstration. Entweder leicht haben oder sich Schwer machen. So ähnlich wurde es gesagt. Ich muss sagen ich finde es schwerer als altes Netzwerksystem.[/font] [font=courier new,courier,monospace]Warum?[/font][list=1] [*][font=courier new,courier,monospace][b]PlayerController[/b]: Ist eine Klasse aus Networking. PlayerController ist quasi sowas wie NetworkPlayer. Hat eine Variable PlayerController.[b]gameObject[/b]. Da steht, dass es einen Player GameObject gibt. Was wenn wir RTS spiele machen und viele Einheiten steuern? Wo ist dann Player GameObject.[/font] [*][font=courier new,courier,monospace]NetworkServer und NetworkClient ist zu kompliziert gemacht. Man weiß gar nicht, wann man was braucht. Ich habe echt lange gebraucht bis ich das hinbekommen habe. [b]NetworkServer.Listen(port)[/b] und [b]NetworkClient client = new NetworkClient()[/b] brauchen Konfigurationen bevor sie laufen. Das finde ich ja noch ok, weil man da vieles einstellen kann, aber mache Dinge machen keinen Sinn. Für beiden kannst du die Maximale Connection einstellen. Wieso? [/font] [*][font=courier new,courier,monospace]Viele Namen werden komisch verwendet, die nicht das Aussagen, was eigentlich tut. AddPlayer ist jetzt zum Beispiel bedeutet, dass man einer Verbindung ein GameObject zuweist (Quasi sagen dieser Spieler darf diesen GameObject kontrollieren).[/font] [*][font=courier new,courier,monospace]Zu sehr auf Lobby Spiele fixiert.. Spieler müssen sogar "ready" sein um weiter zu kommen.[/font] [*][font=courier new,courier,monospace][b]Command[/b] und [b]RpcClient[/b] sind auch nette Attributen.[/font] [font=courier new,courier,monospace]Command werden von Clients (Zitat: aus Spielerobjekten) an andere Spielerobjekte gesendet. Daher Server als Spielerobjekt kriegt es eventuell auch. [/font] [font=courier new,courier,monospace]Z.B: CmdDoFire().[/font] [font=courier new,courier,monospace]RpcClient sendet von Server Objekten an Objekten von Clients[/font] [font=courier new,courier,monospace]RpcKill()[/font] [font=courier new,courier,monospace]Beide Attributen zwingen entweder Cmd oder Rpc als Anfangsbuchstaben für eine Funktion zu benutzen. Gar nicht toll!!. Sieht Später richtig unübersichtlich aus.[/font] [font=courier new,courier,monospace]CmdDoFire()[/font] [font=courier new,courier,monospace]RpcKill()[/font] [font=courier new,courier,monospace]Hier muss man kein networkview.RPC oder sowas ausführen. Hier kann man Direkt den Methoden Namen schreiben und es ist automatisch an andere versendet.[/font] [font=courier new,courier,monospace]Vielleicht merkt ihr das Problem[/font] [font=courier new,courier,monospace]Command: Client an Clients & Server[/font] [font=courier new,courier,monospace]RpcClient: Server an Clients[/font] [font=courier new,courier,monospace]Wo ist von Server an Server und Clients.. gibst nicht. Und das doofe ist, dass die Methoden RpcKill bei sich selber nicht funktioniert. Man ist also gezwungen noch eine Funktion Kill() zu schreiben, wo nochmal die gleichen Sachen stehen. Das ganze zwei Mal machen nein Danke.[/font] [*][font=courier new,courier,monospace]Ist schwer zu beschreiben. Ich hatte eine Klasse wo ein NetworkView Component war. dort hatte ich auch ein Script wo viele Funktionen gab. Sowas wie ChangeName, Chat. So allgemein Dinge halt. Ich musste den Component nur linken. Dann hatte ich sowas wie GlobalNetworkview.RPC("methode, All, bla, bla). Das geht noch so mit UNet. Allerdings ist das Problem bei Playerobjekten. Die Skripte müssen quasi das gleiche seine um etwas Synchron zu machen. Stellt vor. Mein GlobalNetworkview wäre für alles. Da bekomme ich die Position, die Rotation von Objekten, Chat nachrichten alles einfach. Jetzt ist das nicht mehr möglich[/font] [/list] [font=courier new,courier,monospace]Wie man sieht [size=5][b]zwingt[/b][/size] mich UNet zu Dingen, die ich gar nicht möchte und vor allem nicht brauche, wie mit PlayerObjekten zuweisen.[/font] [font=courier new,courier,monospace][size=6][b]Photon Cloud[/b][/size][/font] [font=courier new,courier,monospace][size=1]-[/size][/font] [font=courier new,courier,monospace][size=4]Photon ist gut. Leider aber können die Pings manchmal hoch sein 80-120. Gute Pings sind im Vergleich 10-40.[/size][/font] [font=courier new,courier,monospace][size=4]Daher passieren auch doofe Lags und Verzögerungen im Spiel die man bisschen umgehen kann ( "visuelles Faken" nenne ich das )[/size][/font] [font=courier new,courier,monospace]Photon Cloud kostet, aber bis 20 concur kostenlos, 100 ConCur einmalig 90$ glaub ich war das. Geht noch so.[/font] [font=courier new,courier,monospace]Das Problem ist, dass ich schon mal geschafft habe, dass ich 90.000 Spieler gleichzeitig bei meinem App sich aufgehalten haben. Wie soll man Später sowas bei Photon Cloud finanzieren. Damit mach ich nicht das Geld, womit ich das finanzieren könnte.[/font] [font=courier new,courier,monospace]Außerdem gibst hier riesen fetten Nachteil. Kein serverseitiges Programmieren. Alles läuft über ein Spieler (als hätte er das Spiel gehostet).[/font] [font=courier new,courier,monospace]Ich will, aber auch das können.[/font] [font=courier new,courier,monospace][size=6][b]Bolt[/b][/size][/font] [font=courier new,courier,monospace][size=1]-[/size][/font] [font=courier new,courier,monospace]Bolt wird jetzt auch von Exitgames entwickelt (von Photon Leuten). Leider weiß ich noch nicht viel darüber, aber anscheinend wollen die Matchmaking mit einplanen, die durch ihren Photon Cloud System laufen wird. Ob es auch nen Auto-Matchmaking haben wird ist ne andere Sache. Genau aber das werde ich brauchen.[/font] [font=courier new,courier,monospace]Da ich wenig Zeit habe brauche ich eine Alternative.[/font] [font=courier new,courier,monospace]Bolt ist eine Erleichterung was Programmierung an geht, wenn es um Networking geht. Viele Lösungen wie zum Beispiel Animation Synchronisierung wird da angeboten. Außerdem wird alles über Unity programmiert . Konsole sowie Dedicated soll auch geben.[/font] [font=courier new,courier,monospace][size=6][b]Unity Networking (altes)[/b][/size][/font] [font=courier new,courier,monospace][size=1]-[/size][/font] [font=courier new,courier,monospace]Die besten Erfahrungen habe ich damit gemacht. Bietet nicht viel an, aber dafür hat man andere brauchbaren Dinge. Hier kann man schön eigenen Server programmieren. Ein Beispiel zu meinem Spiel. Ich habe ein Server programmiert, wo man die Welt aber nicht sieht (denn es war nicht autoritativer Server), jedoch sollte irgendwo konstant ein Server laufen, wenn man das wollte. Zack programmiert fertig.[/font] [font=courier new,courier,monospace]Bei einem anderen Beispiel war alles auf dem Server. Kollisionen usw wurden da auch überprüft. Das geht mit Bolt auch, aber nicht mit Photon Cloud und eventuell mit Lidgren.[/font] [font=courier new,courier,monospace]Leider lässt angeblich die Perfomanz bei vielen Spielern nach. Habe ich bis jetzt erlebt.[/font] [font=courier new,courier,monospace]Großer Nachteil für mich. Kein auto-matchmaking.[/font] [font=courier new,courier,monospace]Wer mein Blog verfolgt hatte, hatte gesehen, dass ich das damit am Lösen war. Das Problem ist, dass es etwas machbar war, aber es wäre auf deutsch gesagt "scheiße" gelaufen. Sehr viel Fummelarbeit.[/font] [font=courier new,courier,monospace][b]Lidgren[/b][/font] [font=courier new,courier,monospace][size=1]-[/size][/font] [font=courier new,courier,monospace]Lidgren ist kein Service wie bei UNet, Photon und Bolt, sondern man muss echt von Null Anfangen. Lidgren ist ein Allgemeines Networking für C# .Net.[/font] [font=courier new,courier,monospace]Das heißt man müsste erst mal Unity dazu bringen Lidgren zu verstehen und Lidgren dazu bringen Unity zu verstehen (Plugins, Coding usw).[/font] [font=courier new,courier,monospace]Ich habe damit angefangen muss sagen, dass es mir bis jetzt Spaß macht. Endlich mal, wo ich weiß, dass ich alles mir erstellen könnte, was ich so brauche. Denn ich fange von Null an und kann meine Wünsche mit einbauen.[/font] [font=courier new,courier,monospace]Wird vielleicht länger dauern, schwer sein, aber, wenn ich überlege werde ich mehr Zeit sparen als auf UNet zu warten, als über Photon kosten auf zu regen.[/font] [font=courier new,courier,monospace]Man auch mal richtigen dedicated Server mit ner Konsole machen [/font] [font=courier new,courier,monospace][size=5][b]Und was genau mach ich da? [/b][/size][/font] [font=courier new,courier,monospace]Ich sage mal so. Bin ungefähr bei 40 %. Ich habe nun Lidgren und Unity kennenlernen lassen. Ich kann Server erstellen und kommunizieren lassen. Bis jetzt waren das nur Texte, aber vieles wurde vorbereitet. die ganzen Standard Sachen wie Vectoren, Quaternion, int, float habe ich eingebaut.[/font] [font=courier new,courier,monospace]Vieles fehlt noch. Derzeit arbeite an einem System, wo man auch zukünftig, andere mit Leichtigkeit hosten lassen kann.[/font] [font=courier new,courier,monospace]Eventuell werde ich meinen eigenen Auto-Matchmaking schreiben. Wir gucken mal weiter.[/font] [font=courier new,courier,monospace]Der Anfang[/font] [font=courier new,courier,monospace][img]http://puu.sh/jRd9u/286bfeb13a.png[/img][/font] [font=courier new,courier,monospace]Wie man auf dem Bild sieht hoste ich mit ner Konsole. Und da ist auch ein Message von einem Client angekommen als "Broadcast" mit "this is a test"[/font] [font=courier new,courier,monospace]Und in der Unity Console sihet man, dass der Server auch was zurück geschrieben hat.[/font] [font=courier new,courier,monospace]Und dazu hab ich ne eine DemoKlasse gemacht:[/font] [font=courier new,courier,monospace][img]http://puu.sh/jRgV6/3abae0ae7a.png[/img][/font] [font=courier new,courier,monospace]Wie man hier sieht habe ich sowas änhnliches wie beim UNet "ULGNetworkbehavior". Dort wird Global eine Verbindung aufgebaut, sei es als Server oder Client. Gott sei Dank geben bei dir den Peer connection zurück, wobei ich dann nicht NetServer oder NetClient benutzen muss. Würde einfach doppel zu viel Arbeit machen.[/font] [font=courier new,courier,monospace]Wenn man Connect macht (Eventuell, werden diese namen verändert).[/font] [font=courier new,courier,monospace][img]http://puu.sh/jRgTX/b498c72601.png[/img][/font] [font=courier new,courier,monospace]Dummerweise kann nicht wirklich FailConnection auswendig machen. Da kriegt man auch einfach Disconnectereignis. Vielleicht schicke ich bei der Disconnect Event noch eine Meldung (Grund Paramater) hinterher und die Entwickler können selbst entscheiden, obwohl sie danach überprüfen. Mal sehen.[/font] [font=courier new,courier,monospace]Derzeit sieht der Ordner so aus:[/font] [font=courier new,courier,monospace][img]http://puu.sh/jRhhp/6e3854da43.png[/img][/font] [font=courier new,courier,monospace]NetMessage ist einfach eine Hilfe um die Unity-Typen besser zu senden. Mit nem[/font] [font=courier new,courier,monospace]Netbuffer.WriteVector3(Playerpos) kann man seine Position über das Netzwerk senden.[/font] [font=courier new,courier,monospace]mit NetBuffer.ReadVector3() kriegt man dann die Position wieder.[/font] [font=courier new,courier,monospace]Falls ihr ideen habt immer her damit.[/font] [font=courier new,courier,monospace]Ich habe extra nen Trello erstellt. Eigentlich für mich persönlich, aber auch falls ihr Ideen habt.[/font] [font=courier new,courier,monospace]Der Text wurde sehr spät. bzw früh mit Müdigkeit und Mühe geschrieben. Eventuel gefundene Fehler werden bald mit einem Update gefixt [/font]
  7. Ich mache das gerne als Dropdown-Menü . Allerdings sind sie bei mir nicht automatisiert, sondern mann muss selbst die Namen eintragen.
  8. Hab die Seite zufällig entdeckt: http://ludumdare.com/compo/ Da machen die irgendwie immer wieder Challenges. Der Zeit Topic: You are the Monster. Total cool: Dafür auch noch Twitch Kategorie. Total witzig: http://www.twitch.tv/directory/game/Ludum%20Dare

    1. AgentCodeMonk

      AgentCodeMonk

      Garnicht so neu, der/die/das ludum dare... vielleicht sollte man solche challenges hier mal sammeln.

    2. Silveryard

      Silveryard

      Ludum Dare ist die größte online GameJam Veranstaltung ^^

  9. Hallo, gibt es eine Möglichkeit die Werte in einer Animation so zu verändern, dass man da mathematische Operatoren anwenden kann? Beispiel will ich einige Kreise animieren, in dem die Scales hoch über ihren StartScale gehen und runter auf 0. Das Problem ist halt, dass die StartScales variieren und kann daher nicht wirklich diese Animation auf alle verwenden. Ich kenne bis jetzt eine Möglichkeit, um das Problem zu lösen, aber da müsste ich auf dein MainGameobjekt noch ein MainGameobjekt draufklatschen wo dieser aber keine veränderte Scale hat. Einfach leer und annimiere dann halt so und die Childs Scalen mit. Aber um ehrlich zu sein mag ich das nicht so.
  10. Ehm hab bei 5.1.2 keine Standard Assets. Ist es bei euch genauso? Zum Glück hab ich noch die 5.1.0f3 drauf.. da zeigt es mir wieder an.

    1. Vorherige Kommentare anzeigen  %s mehr
    2. Bastiuscha

      Bastiuscha

      Doch bei mir sind se da!

    3. Felix K.

      Felix K.

      Bei mir nicht direkt. Wenn ich z.b effects importiere erstellt es mir einen Standard Assets Ordner.

    4. MaZy

      MaZy

      Ich hab nachträglich Standard Assets auf der Unity3D Seite runtergeladen und installiert. Und Visual Studio Tool hab ich dann selbst vom Standard Assets Ordner raus und rein kopiert. Weiß jetzt auch nicht, ob es normalerweise dabei ist. Nun ist wieder wie früher.

       

      Komisch war, dass ich beim Asset Store auch kein Tab hatte mit Standard Assets. Hatte nur "Package" oder so ^^

  11. UNet macht mir keinen Spaß....

    1. Vorherige Kommentare anzeigen  %s mehr
    2. Sascha

      Sascha

      Ich hab damit jetzt ne Weile gearbeitet. Ist wirklich nicht einsteigerfreundlich dokumentiert bisher, aber vom Design her echt gut imo.

    3. MaZy

      MaZy

      Angeblich heißt OnStartServer wenn was gehostet oder server ERFOLGREICh gestartet wurde, Wird es getriggert.. stell mal vor du hostest zwei mal ausversehen ein Server mit dem selben Port.. du willst doch wissen, ob ein error auftaucht. Die packt man einfach in einer Klasse rein die NetworkBehavoir hat oder sowas. Es ging bei 5.1.0 noch mit dem HUD. Wenn man da auf Host oder so geklickt hat kam da ein Log("Server gestartet"). Aber geht nicht mehr seit ich 5.1.2f1 habe

    4. MaZy

      MaZy

      Mit hosten meine ich jetzt NetworkServer.Listen()

      Dokumentation sagt: "This hook is invoked when a server is started - including when a host is started."

  12. Ich fange dann mal mit UNet an. Mal sehen wie weit ich komme.

    1. Djeurissen

      Djeurissen

      Die Doku ist aufjedenfall keine großartige Hilfe XD. Aber ich habe das auch nach 2 Tagen rausbekommen und ich bin komplett neu in Netzwerkprogrammierung ._.

  13. Hatte ne Idee sowas wie Bomberman mmo zu machen, aber gibst schon. Ist sehr nett gemacht :)https://gameofbombs.com

    1. Chaosgod_Espér

      Chaosgod_Espér

      Sollte dich ja nicht von abhalten ;)

      Zumal GoB fast nur aus geklauten Grafiken besteht - und lizenztechnisch eigentlich eingestampft gehört (diese ganzen Enterbrain/Rpg Maker grafiken ;) )

  14. Ja da hast du leider recht. Man kann aber zum Glück durchs Lesen zurück verfolgen, woher diese Fehlermeldung kommt.
  15. Bin echt kein Freund von xml. Für mich ist das zu unübersichtlich. Ich mag eher die Sachen wo man extra language files anlegt. Dann sowas wie stone = Stein macht oder sowas Aber trotzdem nützlicher Script
  16. Photon Pun 50% billiger für kurze Zeit, einmal für 100 CCU zahlen: https://www.assetstore.unity3d.com/en/#!/content/12080

    1. Felix K.

      Felix K.

      Kommt da nicht bald das neue Network System von Unity?

    2. IBGKDennisI

      IBGKDennisI

      Ist das neue Network System von Unity nicht schon draußen?

      Sonst verwende ich irgendwas falsches.

    3. devandart

      devandart

      Ja ist es, nur noch nicht mit allen Features, wenn ich mich nicht irre.

  17. Also dein Überschrift sollte wirklich mal dein Problem definieren und nicht einfach so "Tags" haben. Wäre ja krass, wenn das jeder machen würde. & Dein Code ist unübersichtlich, aber jetzt nur wegen der Formatierung hier im Thread. Ich habe nur eine Theorie : Du machst zu erst Network.InitializeServer oder Connect und danach Network.natFacilitatorIP. Deswegen bekommst du erst mal die Meldung von der alten IP Aber wie es aussieht machst du das schon in Awake correct. Daher vielleicht ist die Reihenfolge bei anderen Scripts anders? Ich habe bei mir getestet und bei mir nimmt es ne andere IP an. Zweite Sache. Du brauchst MasterServer und so weiter nicht schreiben bzw. neue Adresse zuweisen, da du ja einen Custom MasterServer benutzt. Daher verbindest du dich ja nicht zu dem Server, sondern holst die Daten aus einem Webserver. An sowas habe ich mal früher gedacht. Damit wollte ich eventuell Auto-Matchmaking.
  18. Bin am lidgren testen. Voll cool irgendwie :)

    1. Mabenan

      Mabenan

      Hab hier auch ne kleine Verschalung gemacht mit verschlüsselung http://1drv.ms/1Ts87A2

    2. MaZy
    3. Mabenan

      Mabenan

      Die Verschlüsselung hat nen kleinen fehler in der Version wenn du die korrigierte Version haben willst kannst du mich per pm anschreiben

  19. MaZy

    Easy-Doings: Debug.Log mal anders

    [size=6][b]Worum geht es hier?[/b][/size] Ihr benutzt wahrscheinlich wie ich immer wieder Debug.Log(""). Manchmal verwendet man einfach zu viele. Man vergisst auch manchmal sie zu entfernen oder man ist einfach viel zu faul dafür. Daher kann man ja mal die Funktion etwas verbessern. So kann man mit einer Boolean die ganzen Logs ausschalten lassen. Ist praktisch, um die ganzen Debug.logs nicht zu löschen, falls man ja immer noch später Debuggen will. Daher mal nen kleinen Code was ich mir geschrieben habe. [CODE] using UnityEngine; public static class Logger { static bool ShowDebug = true; public static void Print(string str) { if (!ShowDebug) return; Debug.Log(str); } } [/CODE] So, ich habe die Klasse Logger genannt. Wollte es simpel haben und auch mich schnell daran erinnern können, was Logger macht oder wie es heißt. Kommt von Log, loggen, daher kann man das kaum vergessen. Wie man hier sieht ist es eine statische Funktion und hat kein Monobehavior. Daher kann man diesen Script nicht als Component benutzen. Die Klasse hat die ne static boolean und ne public static Funktion "Print", wo ihr dann den Log-Text als String übergeben könnt, welches wiederum zur Debug.Log() Funktion geht und dort ausgeführt wird. Jedoch wird mit boolean vorher überprüft ob wir Debug anzeigen wollen oder nicht. Einfach auf falls, weils ihr einen Build starten wollt. Nun könnte man eventuell das erweitern und Bespiel sowas wie Config.ShowDebug machen, aber das ist euch überlassen. . Sowas ist nützlich, falls ihr wollt, dass die Spieler eventuell Logs aktivieren können. Denn Unity erstellt immer eine Logdatei, wo alle Debug abgespeichert sind. Das kann uns mal die Entwicklung erleichtern. [size=5][b]Wie wendet man das nun an?[/b][/size] [CODE] void Start() { Logger.Print("Start ausgeführt"); } [/CODE] Ist nun ShowDebug auf falls, so sollte nichts in der Konsole angezeigt werden. Yow das wars
  20. Soviel zu Photon Beispiel Game XD http://puu.sh/iQm33/fd5744545a.jpg was denkt ihr. Würde es als Treffer gelten, wenn der Rote ihn trifft?

    1. Vorherige Kommentare anzeigen  %s mehr
    2. swat243

      swat243

      Treffen würde der Rote ,da wenn er den blauen in den client trifft wird ein RPC abgeschickt mit den schaden auf jedem client XD

    3. reppiz

      reppiz

      dachte eigentlich Photon klappt

      gut?

    4. swat243

      swat243

      Photon ist auch gut,aber kommt ja drauf an wie man das programmiert XD

  21. Ich glaube ich hab nen bug in Unity. Wenn ich mit einem Server verbunden bin und der Server nicht mehr läuft und dann mein Spiel versucht sich zu reconnecten, egal ob Server wieder an ist oder nicht. stürzt mein Editor ab. Hab als Build gemacht und da stürzt Spiel auch ab

    1. MaZy

      MaZy

      Hab nun ein Timer rein getan von 1-2 Sekunden. Nun geht es :)

    2. vitafit

      vitafit

      Ich vermute mal du nutzt wieder die alte Netzwerk-Schnittstelle und kein UNET?

  22. Ich habe ein bisschen den Code verbessert: Ein paar Zeilen fand ich im Code nicht so schön und die wurden etwas optimiert.
  23. Hallo, ich habe mir SSD geholt mit 250 GB. Ich habe das nun angesteckt und dort habe ich Win7 drauf. Ich werde langsam langsam dort hinziehen, aber wenn ich an die ganzen Stuff denke, was ich nochmal laden und installieren muss macht mich fertig ^^. Daher wollte ich Unity oder sowas dort schon installieren, aber in dem ich die SSD-Festplatte als sekundäre Festplatte benutze. Bringt das von Schnelligkeit her trotzdem was, obwohl ich ja noch auf den normalen Festplatte gebootet habe, aber Unity in aus SSD starte oder macht das eher kein Sinn? Ich kenn mich da leider nicht so aus. Nachher arbeite ich noch scheinheilig ^^
  24. Sorry, habe diesen Post übersehen Du kannst leider mit Booleans das nicht beeinflussen, aber mit was anderes schon: PhotonNetwork.sendRate = 20 PhotonNetwork.sendRateOnSerialize = 10 Die Zahlen dahinter sind Standard. Du kannst die etwas drosseln, aber musst selbst gucken, ob es wirklich gut ist.
×
×
  • Neu erstellen...