swat243 Geschrieben 22. Januar 2016 Melden Share Geschrieben 22. Januar 2016 NetworkTransform ist ein Komponent,den man Manual zu dem Gameobject zufügen kann . Normal sollte da alles glat laufen,das hat ja Unity gemacht und ich müsse es nur als Komponent mit rein holen^^ Aber ich habe das Problem,dass wenn man Z.b ein Spiel startet und 3 in einem Server sind,dass nur der erst gejointe die Sync position von den anderen sieht und die anderen z.b der 3 kein SYnc Position der anderen 2 sieht ?? Ich Frage mich echt,was das soll,das hat Unity erstellt und es sollte eigentlich reibungslos gehen Also wäre schon Doff,wenns nicht gehen würde,dann müsste ich es mit den Attributen machen,aber da sagt mir Unity ,ich habe Copiler errors ,wenn ich auf start gehe ,aber ohne irgendetwas anzuzeigen Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hrungdak Geschrieben 23. Januar 2016 Melden Share Geschrieben 23. Januar 2016 Wenn irgendwas mit der neuen Netzwerk-API von Unity nicht funktioniert, würde ich den Fehler zuerst mal in deinem Code suchen, und nicht bei Unity. Bei mir funktioniert die Synchronisierung über NetworkTransform und NetworkIdentity einwandfrei. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 23. Januar 2016 Autor Melden Share Geschrieben 23. Januar 2016 Also ich hab nicht auf NetwrokTransform per Script zugegriffen,hab zum testen cubes mit einfachen movment erstellt und den Komponenten `NetworkTransform` zugefügt,also werde erstmal eine neues Project Öffnen und weiter gucken Also NetworkIdentity geht bei mir auch einwandfrei ^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 23. Januar 2016 Autor Melden Share Geschrieben 23. Januar 2016 Ich habe das Problem gefunden,weil es nicht richtig gehostet wurde :/ Also wenn ich auf LocalHost spiele geht es einwand frei also das hier: using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.Networking; public class Server_manager : MonoBehaviour { public NetworkManager manager; public void Start_server() { manager.StartHost (); manager.maxConnections = 3; Debug.Log (manager.networkAddress.ToString ()); } public void join_server() { manager.StartClient (); Debug.Log (manager.networkAddress.ToString ()); } } Aber wenn ich den Server eine IP gebe geht es nicht using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.Networking; public class Server_manager : MonoBehaviour { public NetworkManager manager; public Text server_IP_for_server; public void Start_server() { manager.StartHost (); manager.networkAddress = (string)server_IP_for_server.text; manager.maxConnections = 3; Debug.Log (manager.networkAddress.ToString ()); } public Text Server_ip_to_join; public void join_server() { manager.StartClient (); manager.networkAddress = (string)Server_ip_to_join.text; Debug.Log (manager.networkAddress.ToString ()); } } Aber ich muss den Server eine IP geben,damit Welche Joinen können. Sogar wenn ich die IP falsch eingebe,joint er mit den Anderen,aber dann geht NetworkTransform nicht Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
PunchLine Geschrieben 23. Januar 2016 Melden Share Geschrieben 23. Januar 2016 Ich habe das Problem gefunden,weil es nicht richtig gehostet wurde :/ Also wenn ich auf LocalHost spiele geht es einwand frei also das hier: using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.Networking; public class Server_manager : MonoBehaviour { public NetworkManager manager; public void Start_server() { manager.StartHost (); manager.maxConnections = 3; Debug.Log (manager.networkAddress.ToString ()); } public void join_server() { manager.StartClient (); Debug.Log (manager.networkAddress.ToString ()); } } Aber wenn ich den Server eine IP gebe geht es nicht using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.Networking; public class Server_manager : MonoBehaviour { public NetworkManager manager; public Text server_IP_for_server; public void Start_server() { manager.StartHost (); manager.networkAddress = (string)server_IP_for_server.text; manager.maxConnections = 3; Debug.Log (manager.networkAddress.ToString ()); } public Text Server_ip_to_join; public void join_server() { manager.StartClient (); manager.networkAddress = (string)Server_ip_to_join.text; Debug.Log (manager.networkAddress.ToString ()); } } Aber ich muss den Server eine IP geben,damit Welche Joinen können. Sogar wenn ich die IP falsch eingebe,joint er mit den Anderen,aber dann geht NetworkTransform nicht Also dein Code is falsch als erstes ma public class Server_Manager : NetworkManager dann fehlt dir der port als erstes ma beim Hosten und dann beim joinen (string)server_IP_for_server.text kenn ich ds komischerweise garnet ich machs immer .text.ToString(); und als 3. musst du zuerst bevor du deinen client mit dem server verbindest erst die ip port angeben dann kannst du erst connecten Und wegen ohne ip usw is ganz einfach wennst du keine angibst connectet er mit Local also " 127.0.0.1" Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 23. Januar 2016 Autor Melden Share Geschrieben 23. Januar 2016 Also das Problem mit den TransformNetwork Komponenten ist doch nicht gelöst,nur das Client,der das Spiel erstellt hat,wird für die Anderen geupdatet :/ Die Anderen Bewegen sich und nichts Passiert. (string) funktioniert gut... -_- ,aber was ist wenn Jemand ein Server erstellen will,da kann nicht Jeder "127.00...." verwenden,ehh ist der Server Automatisch auf LocalHost..........wenn man nichts eingibt. Also der Port ist schon in den Network Manager drin `7777`.. Also wollte nur mal die ip verändern und gucken,ob die Anderen auch wirklich drauf gehen können,aber nichts passiert. EDIT: Wenn ich zuerst die IP eingebe und beitrete bekomme ich die Errors: 1.DNS resolution failed: 11001 2.UNet Client Error Connect Error: 11 UnityEngine.Networking.NetworkIdentity:UNetStaticUpdate() Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
PunchLine Geschrieben 24. Januar 2016 Melden Share Geschrieben 24. Januar 2016 using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.Networking; public class Server_manager : NetworkManager { public Text server_IP_for_server; public void Start_server() { singleton.StartHost (); singleton.networkAddress = (string)server_IP_for_server.text; singleton.maxConnections = 3; singleton.port = 777; Debug.Log (manager.networkAddress.ToString ()); } public Text Server_ip_to_join; public void join_server() { singleton.StartClient (); singleton.networkAddress = (string)Server_ip_to_join.text; singleton.port = 777; Debug.Log (manager.networkAddress.ToString ()); } probiers mal so. Und ist auto create Player aktiviert? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 24. Januar 2016 Autor Melden Share Geschrieben 24. Januar 2016 Also der Server wird erstellt und man kann sich verbinden. using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.Networking; public class Unet : NetworkManager { public void Start_server12212211221212121() { singleton.StartHost (); singleton.networkAddress = "TMG:COM46463"; singleton.maxConnections = 3; singleton.networkPort = 777; Debug.Log (singleton.networkAddress.ToString ()); } public void join_server21212121212121() { singleton.StartClient (); singleton.networkAddress = "TMG:COM46463"; singleton.networkPort = 777; Debug.Log (singleton.networkAddress.ToString ()); } } Habs nur auf mein PC getestet,also Local. Aber NetworkTransform geht immer noch nicht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 25. Januar 2016 Melden Share Geschrieben 25. Januar 2016 Kleine Frage, aber wieso änderst du die Netzwerksettings (networkAddress, maxConnections, networkPort) nach dem erstellen/joinen? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Felix K. Geschrieben 25. Januar 2016 Melden Share Geschrieben 25. Januar 2016 Hi, vielleicht hilf es Dir die Tut-Reihe mal zu überfliegen und dir den Code anzuschauen. MfG Felix Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 25. Januar 2016 Autor Melden Share Geschrieben 25. Januar 2016 Kleine Frage, aber wieso änderst du die Netzwerksettings (networkAddress, maxConnections, networkPort) nach dem erstellen/joinen? Also ich bin da noch Unentschlossen,hab die Daten mal vor dem erstellen des Server verändert und habe sie mir mit Debug.log printen,lassen,aber es wurde dann LocalHost und port 7777 angezeigt und der ServerManager wird ja nicht gelöscht bei erstellen des Server,also hab mir gedacht,dass da was schief gelaufen ist,aber muss da noch gucken,Wahrscheinlich ist es das richtige,wenn ich es vor dem Server erstellen mach,ergibt dann ja kein sinn....Weil er die Daten vor dem Erstellen braucht Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 26. Januar 2016 Autor Melden Share Geschrieben 26. Januar 2016 Das Problem ist gelöst ! Also hat bei NetworkIdetity kein Local Player Authority auf true Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
PunchLine Geschrieben 27. Januar 2016 Melden Share Geschrieben 27. Januar 2016 Das Problem ist gelöst ! Also hat bei NetworkIdetity kein Local Player Authority auf true Ich frage mich ob du weißt wofür das steht? Mal ne Frage nebenbei warum sync's du dir deine Positionen net selber is normalerweise recht simple und bei kleineren script brauchst du nichtmal 10 Zeilen. Habe das Networktransform 1. Benutzt aber das war irgendwie total unflüssig dann hab ichs selbst gemacht hat viele andere Vorteile auch. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 27. Januar 2016 Autor Melden Share Geschrieben 27. Januar 2016 Jaa ich denke,ich machs auch nur per Script das Sync Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
swat243 Geschrieben 27. Januar 2016 Autor Melden Share Geschrieben 27. Januar 2016 Bei "Local Player Authority " denke mal,dass da gecheckt wird,ob dieser Spieler meiner ist und ich auf diesen Zugriff hab,also das er als Spieler Zählt,weiß es,aber nicht genau,hab noch nicht nachgeguckt in der API was Local Player Authority ist . Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
PunchLine Geschrieben 27. Januar 2016 Melden Share Geschrieben 27. Januar 2016 Glauben gibt es in der Programmiertechnik. Glauben geht man nach in der Kirche. Nein. Eben es steht dafür das der Lokale Client komplette Authorität für dieses Object besitzt somit machen kann was er will. Was bei einem Spiel eigntl. nicht sein sollte da man sonst leicht hacken könnte. Was anderes wäre es evntl, bei einem Rennspiel oder so Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.