Jump to content
Unity Insider Forum

AniProGuy2

Members
  • Posts

    61
  • Joined

  • Last visited

Everything posted by AniProGuy2

  1. Hallo Cummunity, Ich habe ein kleines Problem (mal wieder ^^). Und zwar möchte ich bei meinem Spiel alle offenen Spiele (Rooms) in einer Liste haben. Das funktioniert soweit auch ganz gut, sofern ich für die List-Items nur die jeweiligen RoomOptions auslese (die Rooms selbst bekomme ich ja durch PhotonNetwork.GetRoomList). Nun möchte ich aber auch, dass dort der Name des Hosts angezeigt wird, welchen man in den Spieleeinstellungen festlegen kann. Sprich, ich möchte für den Raum einen extra String anlegen, der diesen Namen speichert. Ich habe mich im Internet belesen und gehe nun davon aus, dass das über Custom Properties funktionieren sollte. Das Problem ist, dass ich nicht so ganz verstanden habe, wie man diese anlegt. Ich habe einen Hasthable und dort ein Objekt Namens "HostName" mit einem String für den Namen angelegt. Nun möchte diesen von einem anderen Clienten, der die Liste mit den Spielen offen hat, auslesen. Aber wie genau geht das? So, wie ich es bis jetzt mache, kommt die Fehlermeldung "NullReferenceException: Object reference not set to an instance of an object" Meine Scripte: Zum Hosten des Raumes: ExitGames.Client.Photon.Hashtable props = new ExitGames.Client.Photon.Hashtable(); props.Add ("HostName", "TestHost"); RoomOptions newOptions = new RoomOptions () { IsVisible = true, MaxPlayers = 5 , CustomRoomProperties = props}; PhotonNetwork.JoinOrCreateRoom ("test1", newOptions, TypedLobby.Default); Zum Auslesen des Hostnamens: item.GetComponent<NetworkListItem> ().Initialize (game.Name, game.CustomProperties["HostName"].ToString(), game.MaxPlayers, game.PlayerCount); Ich bin dankbar für jede Hilfe MfG, AniProGuy2
  2. Hallo Community, Ich befasse mich seit einiger Zeit mit der Photon Engine und würde diese gern zur Entwicklung meines Multiplayers nutzen. Es ist nun so, dass ich meine Spieler am Anfang spawne und diese mehrere Avatare haben, die ebenfalls zu beginn instantiatet werden. Nun will ich auf diese zugreifen und nutze dabei gezwungenermaßen für RPC die View Ids. Das Problem ist dabei aber, dass diese bei 1001 anfangen, was ich nicht so ganz verstehe. Ich habe 1.) keine 20 Objekte zu Beginn in der Scene, die ebenfalls eine Photon View haben und 2.) ist das Limit auf 1000 gesetzt. Müsste nicht eigentlich das neu gespawnte Objekt eine ID von sagen wir 20 haben, wenn die zuvor höchste ID 19 war? Wenn ich auf die Objekte über ihre ID zugreifen will, dann beginnt es bei 1001 wieder von vorn und gibt mir das Objekt mit der ID 1. Habe ich einen Fehler gemacht oder habe ich da etwas falsch verstanden? Ich bin dankbar für jede Hilfe! MfG, AniProGuy2 Ps.: Hier habe ich mal sicherheitshalber den Code für das Spawnen des Players, auch wenn der eigentlich ganz normal sein sollte. GameObject player = PhotonNetwork.Instantiate ("NetworkPlayer", transform.position, transform.rotation, 0);
  3. Hallo lieber Unity-Community, Ich habe mal wieder eine Frage. Und zwar bin ich es von der Blender Game Engine gewohnt, dass ich Animationen an eine Variable anpassen kann. Sprich dass die Animation nicht regulär abgespielt wird, sondern sich immer auf dem Frame befindet, der den Wert der Variable hat. Das war sehr nützlich, z.B. wenn man Dinge steuern sollte. Genau das versuche ich nun mit einem Modell in Unity. Und zwar gibt es dort mehrere Zahnräder, die ineinander greifen und letztlich ein bewegliches Teil (Zielvorrichtung) rotieren. Ich wollte, daher eine Animation erstellen, bei der sich der bewegliche Kopf einmal so weit, wie er es kann, nach oben und nach unten rotiert. Diese Animation wollte ich dann über eine Variable an die Mausbewegung anpassen, damit man das Ganze gut steuern kann. Meine Frage ist nun, ist das überhaupt möglich? Oder gibt es da bessere Möglichkeiten, um das umzusetzen? Ich bin wie immer dankbar für jede Hilfe! MfG, AniProguy2
  4. Hallo lieber User, Das hier ist mein erster Beitrag hier in diesem Forum und ich hoffe mal, dass er unter "Allgemeine Hilfe" auch richtig ist. Ich habe 2 Jahre lang mit der BGE gearbeitet und dort auch schon ein FPS erstellt ( ). Da diese Engine aber zu wenig Leistung für mich hatte, bin ich nun auf Unity umgestiegen und arbeite mich fleißig ein. Nun möchte ich ein erstes (kleineres) Projekt starten, welches hauptsächlich zu Lernzwecken dienen soll. Es soll natürlich wieder ein FPS werden. Ich will mit einer grundlegenden Steuerung anfangen und dabei gleich die Arme implementieren aber ich bin mir über das "wie?" noch nicht ganz sicher.In Blender habe ich einfach das Modell an den Playercam geparentet und via Boneparent ein Empty an den Handflächen geheftet. Daran habe ich dann wiederum sämtliche Waffen und Gegenstände geparentet, die der Spieler verwendet sollte. Diese habe ich dann schlicht sicht,- und unsichtbar gemacht, jenachdem, was man brauchte und dann entsprechende Animationen ausgeführt. Ich habe nun schon ein paar Tutorials dazu in Unity gesehen aber dort waren es immer nur eine Waffe und kein Wechsel aber sonst so, wie ich es damals gemacht habe. Nach ein wenig rumprobieren habe ich einfach begonnen, in den Assets des Spiels die .blend mit den Armen zu bearbeiten (sprich, dort wie schon in der BGE, die Objekte an die Hände zu parenten). Aber meine Frage ist: Ist das sinnvoll so? Kann das später zu Problemen führen? Ich habe also alle Objekte gleich mit in der .blend und update dann die Änderungen einfach. Wenn es kein guter Weg sein sollte, wie kann man das sonst umsetzen? ich bin für jedem Tipp dankbar! MfG, AniProGuy2
×
×
  • Create New...