• Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

AniProGuy2

Members
  • Content count

    47
  • Joined

  • Last visited

Community Reputation

1 Neutral

About AniProGuy2

  • Rank
    Advanced Member
  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. Danke für die Korrektur ^^ Ich kenne es aus dem Informatikunterricht als "Anstoßen" aber das ist ja eigentlich auch egal. Ich werde es einmal damit versuchen, danke für den schnellen Rat!
  3. Hallo Community, Meine Frage ist eigentlich fast selbsterklärend. Ich möchte für mein Spiel ein Script anfertigen (bzw. habe es schon soweit fertig), das als Schnittstelle für Interaktionen dient (z.B. etwas steuern). Dazu wäre es hilfreich, wenn man in eine Liste Components/ Scripte legen kann, bei denen dann Voids angestoßen werden, wie z.B. "UserJoined", "UserQuitted" usw. Welche Scripte in diese Liste gelegt werden, ist dabei variabel und vorher nicht definiert. Es ist nur wichtig, dass die Voids angestoßen werden, und was dann damit gemacht wird, hängt dann vom jeweiligen Script ab. Meine Frage ist nun: ist das möglich? Also Voids in Scripten anstoßen, die vorher nicht definiert sind? Ich habe dazu nichts gefunden und wäre für jede Hilfe dankbar. MfG, AniProGuy2
  4. 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);
  5. 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
  6. [Danke für die Hilfe ^^ Ich mache das jetzt erstmal mit dem Kinematic und versuche mal, ob ich noch was anderes finde, das besser funktioniert.
  7. Hallo liebe Community! Zuallererst wünsche ich euch natürlich frohe Weihnachten! Wie ihr im Titel schon lesen könnt, möcht ich in meinem Spiel die Möglichkeit integrieren, etwas zu schieben. Das ist dabei aber nicht einfach ein "dagegenlaufen", sondern eine richtige Interaktion (im spielerischen Sinne). Der Spieler wird also hinter das Objekt gesetzt und bewegt es dann. Bisher habe ich es so gemacht, dass bei der Interaktion der Spieler an die Position eines Empty gesetzt wird (sprich hinter das Objekt) und dann natürlich auch entsprechend dessen rotiert wird. Danach wird das Objekt an Spieler geparented und als Rotationspunkt der Mittelpunkt des zu schiebenden Objektes gesetzt. Man steht also nun dahinter und kann sich um die Achse es Objektes drehen. Was ich nun versuche ist, dass man sich damit bewegen kann. Theoretisch funktioniert das ja automatisch, weil der Spieler über Root Motion gesteuert wird und sich da geparentete Objekt natürlich mit bewegt. Allerdings ist es nun so, dass wenn man gegen etwas läuft (also mit dem zu schiebenden Objekt) sich die Position des Spielers ändert und er nicht mehr hinter dem Objekt steht. Und genau das will ich beheben. Man soll quasi wenn das zu schiebende Objekt sich nicht mehr bewegen kann, sich ebenfalls nicht mehr bewegen können (also in die entsprechende Richtung, z.B. wenn man frontal gegen eine Wand läuft). Den Spieler an das Objekt zu parenten möchte ich nicht machen, weil es da Probleme mit der Steuerung gab (weil der Spieler einen Charakter Controller hat und das Objekt ein RigidBody ist). Wisst ihr, wie ich das machen kann? Zur Hilfe habe hier ich mal das bisherige Bewegungsscript für euch: using UnityEngine; using System.Collections; public class VehicleMovement : MonoBehaviour { public GameObject pushPosition; public Interaction interaction; public Rigidbody physics; private ClonkSettings settings; void Update () { // if the vehicle is in use if (interaction.inUse == true) { if (interaction.start == true) { settings = interaction.user.GetComponent<ClonkSettings> (); settings.rotYAxis = transform.gameObject; settings.blockJump = true; interaction.user.transform.position = pushPosition.transform.position; interaction.user.transform.rotation = pushPosition.transform.rotation; transform.SetParent (interaction.user.transform); interaction.start = false; } } } } Die Settings sind die Einstellungen des Spielers und "interaction" ist einfach ein Script, das bei Interaktion auf "inUse" gestellt wird. Damit man den Beginn der Interaktion abfragen kann, gibt es die Variable "start", die ich bisher auch für die Anfangseinstellung nutze. Ich hoffe ihr versteht wie ich das meine ^^ MfG, AniProGuy
  8. Nun also ich habe Refresh probiert und auch Reimport (all). Bei all denen hat sich aber nichts geändert. Es muss irgendein Bug oder so gewesen sein, denn jetzt funktioniert es ja.
  9. So, ich habe jetzt nochmal das Prefab erstellt und wenn ich nun in der fbx neue Extra Transforms hinzufügen, dann werden die auch ins Prefab aktualisiert. Ich weiß nicht, woran es lag aber scheinbar war es ein Bug.
  10. Ok, also ich habe die .fbx mal von der Szene ins Prefab gezogen aber da löscht es ja alles raus und das ist im Prinzip dasselbe wie neu machen ^^
  11. Also soll ich die neue Fbx in den Ornder ziehen und auf ersetzen klicken? Tut mir leid aber ich verstehen das irgendwie nicht so ganz ^^'
  12. Also die Verbindung ist noch da aber wir ist das gemeint mit dem reinziehen?
  13. Danke für die Antwort! Eigentlich mache ich das ja. Also ich habe die .fbx und dort füge ich jetzt z.B. Extra Transforms hinzu. Dann sind die dort zwar vorhanden aber bei dem Prefab nicht (weder bei dem im Ordner noch bei dem in der Szene). Und das ist ja das Problem, falls das aus meiner Frage nicht hervorgegangen ist. Wenn das Prefab aber auf die .fbx zugreift, dann müsste das doch übernommen werden, oder?
  14. Also eigentlich mache ich ja genau das. Also ich bearbeite die Datein in blender und überspeichere dann die .fbx in den Unity ordner. Nur leider wir eben wie gesagt, das von dem Prefab nicht übernommen. Wenn ich in Unity auf die fbx schaue, dann ist es dort aber übernommen worden.
  15. Hallo Community, Ich habe mal wieder ein Problem ^^ Und zwar habe ich als meinen Spieler als ein Pregab. Er besteht aus dem Mesh und der Armature (aus einer .fbx) und dazu noch aus ein paar Emptys, die ich in Unity hinzugefügt habe. Nun ist es so, dass ich an dem Objekt noch ein paar Dinge ändern will, und es dann neu in Unity importieren muss. So will ich z.B. die Augenbrauen des Spielers als seperates Objekt machen (es war vorher eben ein Objekt) und ich brauche auch ein paar "Extra Transforms" für die Dinge, die er halten soll. Wenn ich aber in blender die Augenbrauen seperiere und es dann neu exportiere (und dann die .fbx im Unityordner damit überschreibe), dann fehlen bei dem Prefab die Augenbrauen einfach und sind nicht als einzelnes Mesh vorhanden. Bei dem importierten Objekt stimmt alles, aber bei dem Prefab eben nicht. Ähnlich ist es auch, wenn ich die Extra Transforms in Unity hinzufüge, die fehlen dann bei dem Prefab auch. Wisst ihr, wie ich das machen kann? Bzw. ist das ein Fehler in Unity oder soll das auch gar nicht funktionieren? Ich muss nunmal leider immer wieder kleinere Änderungen an dem Model vornehmen und daher muss ich auch häufiger neu imporieren. Aber ich will eben nicht jedes mal aufs neue das Prefab zusammenbauen müssen, weil das einfach ewig dauert. Ich bin dankbar für jede Hilfe! MfG, AniProGuy2