Einzelnen Beitrag anzeigen
Alt 03.05.2014, 17:38   #10 (permalink)
manatarms
Newbie
 
Registriert seit: 02.05.2014
Beiträge: 15
Standard

Die von dir beschriebene Variante habe ich ja als erstes versucht, deshalb habe ich auch setOwner verwendet. Wenn nämlich Client A ein Objekt erzeugt, attached, rotationen vornimmt und und dann detached, dann kann Client B es zwar attachen aber keine rotation ausführen. Es springt immer wieder zurück auf die Ausgangslage. Das konnte ich nur umgehen, indem Client B den Server dazu beauftragt ihm das Objekt zu übergeben mit setOwner. Danach waren Transfomationen möglich. Dies hatt aber einen grossen Nachteil das das Objekt unsichtbar war plötzlich. Erstmal dachte ich das der Offset beim attachen vielleich falsch gesetzt wird, aber ich habe es ein paar mal manuell gemacht und es ging nicht.
Beim zweiten ansatz habe ich dann immer gesagt das wenn ein Client ein Objekt attachen will das ihm nicht gehört dann soll er das vor ihm löschen und ein gleiches bei sich erzeugen. So wird der Server nicht angefragt, aber das hatte natürlich auch Nachteile. Wenn Client A das Objekt mit sursorTarget identifizieren möchte, dann geht das so gut wie nie. Es kommt meistens Null zurück, obwohl ich genau aufs Objekt zeige. Erst wenn ich mit "player reveal object" arbeite funktioniert alles wie erwartet. Das bedeuted jedoch das ich immer einen Broadcast auslösen muss, damit jeder SPieler diese Info bekommt. Ich habe mehrfach einen Broadcast hintereinander ausgelöst und RuckZuck war Ende im Gelände. Spielumgebung zusammengebrochen !

Ich glaube am sinnvollsten wäre es das ausschliesslich der Server Objekte erzeugt und ich nur mit EventHandler arbeite. Damit die Animation ohne Delay abläuft erzeuge ich ein Dummyobjekt lokal für den Client. Die Rotation wird dann auf dem lokalen Objekt und parallel auf dem Remote Ojekt angewendet. Wenn die Rotation abgeschlossen ist lösche ich einfach das lokale Objekt. Alle Objekte wären dann zentral auf dem Server. Hat den weiteren Vorteil das wenn ich die Transformationsdaten der Objekte in eine Datenbank schreiben will direkt der Server alle Objekte kennt. Wie findest du meine Idee ? Hat es einen neuen Haken ?

Geändert von manatarms (03.05.2014 um 18:12 Uhr).
manatarms ist offline