MustafGames Geschrieben 16. September 2016 Melden Share Geschrieben 16. September 2016 Hallo, ich bin nun an folgenden Problem angestoßen, wenn ich in meinen Steuerungsscript die Camera setze: void Update() { if (!isLocalPlayer) { return; } GameObject cam = GameObject.Find("_CAMERA"); cam.GetComponent<CameraController>().target = transform; Dann setzt es sie nur für den Spieler der gerade über den Editor spielt. Ich möchte ja das jeder seine eigene Kamera hat, diese soll aber kein child Object sein. Jedes mal wenn ich dann unterhalb des Codes auf die Kamera zugreifen will, kommt der Error das die Kamera nicht gesetzt wurde. (Obwohl das Kameraobjekt den Namen hat) Im Inspector ist im Script auch dann keine Kamera eingetragen, aber warum? mfg Markus Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 16. September 2016 Melden Share Geschrieben 16. September 2016 Ist denn sichergestellt, daß das Objekt "_CAMERA" zu diesem Zeitpunkt auch existiert, da würde ich mal einen "Debug" draufsetzen? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MustafGames Geschrieben 17. September 2016 Autor Melden Share Geschrieben 17. September 2016 Ist denn sichergestellt, daß das Objekt "_CAMERA" zu diesem Zeitpunkt auch existiert, da würde ich mal einen "Debug" draufsetzen? Es existiert im Inspector sehe ich es ja und es wird ja auch nicht gespawnt sondern ist ja eine Kamera die ist halt da. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Helishcoffe Geschrieben 17. September 2016 Melden Share Geschrieben 17. September 2016 Ich würde es anders machen. Wenn es nur darum geht, dass für jeden Spieler nur seine Eigene Kamera an ist, dann würde ich die Kamera als globale Variable an das Steuerungsskript hinzufügen und im Inspector voher zuweisen. Bei Start() einfach abfragen ob isLocalPlayer geben ist und dann bei der camera enabled auf true setzen ansonsten auf false. Abgsehen davon ist es ziemlich Rechenaufwendig in Jedem Frame bei Update() GameObject.Find() aufzurufen. Also ich versuche Find() immer zu meiden weil man es meist immer anders Lösen kann Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MustafGames Geschrieben 20. September 2016 Autor Melden Share Geschrieben 20. September 2016 Ich würde es anders machen. Wenn es nur darum geht, dass für jeden Spieler nur seine Eigene Kamera an ist, dann würde ich die Kamera als globale Variable an das Steuerungsskript hinzufügen und im Inspector voher zuweisen. Bei Start() einfach abfragen ob isLocalPlayer geben ist und dann bei der camera enabled auf true setzen ansonsten auf false. Abgsehen davon ist es ziemlich Rechenaufwendig in Jedem Frame bei Update() GameObject.Find() aufzurufen. Also ich versuche Find() immer zu meiden weil man es meist immer anders Lösen kann Funktioniert nicht, den dann kommt die Variable Cam wurde nicht gesetzt.. Grund: Der Player ist ein Prefab wo ich kein Scene Objekte als Variablen setzen kann, außerdem soll die Kamera sowie das 2D Interface (wo das selbe Problem ist) keine Child-Objekte des Player-Prefabs sein. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MustafGames Geschrieben 24. September 2016 Autor Melden Share Geschrieben 24. September 2016 #Push Hat keiner eine Idee? 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.