• 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

MaZy

Members
  • Content count

    460
  • Joined

  • Last visited

  • Days Won

    10

MaZy last won the day on January 13

MaZy had the most liked content!

Community Reputation

135 Excellent

About MaZy

  • Rank
    Advanced Member
  • Birthday 02/20/1988

Profile Information

  • Gender
    Male
  • Location
    Hannover

Recent Profile Visitors

3,509 profile views
  1. Kurz auf English Unity 5.6: 

     

    1. devandart

      devandart

      Sieht alles sehr gut aus.

  2. Meinst du einfach auf einem Server Unity Spiel als Server zu starten? Das geht. Hab schon mit den alten Networking gemacht und mit UNet ebenso. Man kann Unity Spielinstanz im Hintergrund starten. Je nach dem muss man natürlich anpassen was dann gestartet werden soll.
  3. Also so wie Sascha das schon beschrieben hat mit den Componenten mache ich auch. Ich lasse zwar vieles erben, aber je nach dem. Beispiel Entity <- Player | Enemy Aber sowas we HP und so weiter mache ich manchmal Seperate. HealthSystem oder DamageSystem. Später kann man sogar abfragen, ob so ein Komponent existiert, wenn nicht, dann bekommt das Ding einfach kein Damage. Wiederum frag ich auch da ab, ob man einen TeamScript hat usw. Ist schon echt Klasse mit den Komponenten zu arbeiten. EDIT: Was ich noch lustig finde es, dass man nach interfacen als Component suchen kann. Beispiel GetComponent<IDamageAble>(). Wenn es existiert dann gib ihn faust.
  4. Hallo ich benutze ScrollRect um eine Liste dazustellen. Wenn der User den Content ganz nach oben zieht, dann ist man ja über den eigentlichen Position und genau da möchte ich, dass man neue Sachen dazu "laden" kann, aber ich weiß nicht, wie ich sowas überprüfen kann. Bis jetzt hab ich nur "value" gefunden, aber der ist immer 0 obwohl der Scrollbar immer kleiner wird, wenn man weiter nach oben verschiebt. Ansonsten bewegt er sich von 0 - 1. Es müsste eigentlich in den negativen Bereich gehen, damit ich sagen kann ok der User hat es überzogen oder so. EDIT: Lösung gefunden: https://docs.unity3d...edPosition.html Die Zahl geht unter 0 oder über 1. Also kann man damit checken, ob man über die eigentliche Zahl ist. Dumm in der Dokumentation steht von 0 zu 1... daher hab ich nichts dabei erst gedacht!! EDIT2: Ok das geht doch nicht. Wenn vom scrollrect der Content nicht voll ist, dann ist es immer noch zwischen 0 - 1.... das ist doof.
  5. Du verwendest rigidbody 2d. Das funktioniert mit OnCollisionEnter nicht. Nur mit OnCollisionEnter2D und ich schätze mal du meintest boxcollider2d
  6. Ich habe noch nie NPCs im Spiel mit UNet gemacht. Was ich gemacht habe sind eher Projektile die keinem Spieler gehören. Die gehören also den Server.
  7. Ich hatte deine Problemschilderung schon bevor du editiert hast gelesen. Du hast da einen Denkfehler, wenn ich die jetzige Frage lese. Non Player Objects werden nicht mit Commands arbeiten, da sie vom Server gespawnt werden und der Server kontrolliert sie. Daher geht es nur SyncVars und ClientRpcs. Ich lasse die Objekte sowohl auf dem Client aber auch auf dem Server bewegen. Wenn jemand Beispiel "W" drückt, dann wird es auf allen Clients auch W = 1 gesetzt. Dann bewegen sich alle gleichzeitig. Natürlich gibt es Latenzen und daher wird auch nach bestimmten Abständen die Position, Rotation, Geschwindigkeit und sonst was wichtig ist gesendet. Sobald es eine Abweichung gibt wird es korrigiert. Ich benutze auch kein NetworkTransform, da ich damit nicht das geruckele wegbekommen habe. Ich habe da eigenen Script geschrieben, aber man kann sie auch kombinieren. Das hab ich schon mal gemacht, da hat es kaum geruckelt. Hä? Die werden direkt vom Server geändert. Health = 10 auf dem Server bedeutet auch, dass alle die Clients die Veränderung auch bekommen. Dafür braucht man kein Command, wenn man das auf dem Server macht.
  8. Hallo, vielleicht kennt ihr das. Mal eine Funktion etwas verspätet aufrufen oder eine Variable später verändern. Dazu benutzt man in Normalfall Invoke. Oder eventuell IEnumerator Funktionen. Mich hat es aber genervt, dass ich für jede Kleinigkeit etwas dafür erstellen muss. Bespiel Player stirbt, warte zwei Sekunde um das GameOvermenü zu zeigen. Daher hab ich eine kleine Klasse erstellt, wo ich für das hier schneller und flexibel machen lässt. DelayedCall.Exec(float delay, System.Action onFinished); Anwendung: Einfach den Script in beliebigen Ordner (in der Assetsordner natürlich) rein packen und die Funktion anwenden. Sonst wird nichts gebraucht. DelayedCall spawnt eigenständig, wenn man ihn braucht. Anwendungsbeispiele: DelayedCall.Exec(2f, () => { UIManager.ShowGameOver(); }); DelayedCall.Exec(2f, CallBackFunktion); void CallBackFunktion() { isCallbackDone = true; }
  9. @ONeillsBude Zusätzlich zu den Assets: Dein Build beinhaltet automatisch zwei verschiedene Unterstützungen für zwei Systemarten von Androidgeräten. Das ist etwas mit Kernel bzw Prozessoren oder so zu tun. Einmal armv7 und einmal x86. Daher wird es automatisch größer. In normal Fall ist es nur mit einer Scene einfach nur ca 10 Mb, Beide Kernel zusammen steigen dann glaub sogar ca 20 MB. Bei BuildSettings unter Other Settings beim Punkt Device Filter kann man abändern. Wenn es später um PlayStore oder so geht, kann man sie auch separat hochladen, damit die Spieler nicht immer so große Dateien laden müssen (naja paar mbs kleiner ^^). Bei meinem jetzigem Spiel sieht das so aus: Und im Log stehen sowas: In den Log kommst du beim Console Fenster oben Rechts. Erst mal ein Build machen und einfach nach "Complete Size" suchen. Danach findest du da die Angaben. Da kannst du mal sehen, ob es an den Bildern oder so liegt.
  10. Das hätte ich machen können, aber bei mehreren Auswahlen ist das problematisch. Allrounder beinhaltet Programmierer auch . Daher hab ich versucht kleine Antworten zu machen. Ich hätte vielleicht noch Sonstiges rein tun sollen. Bin auch bissel Musicproducer. Ist mir aber gar nicht eingefallen Leider kann man das nicht nachträglich ändern.
  11. Hallo mich interessiert so allgemein, welche Projekte man gerade macht. Viele posten ja bereits ihre Projekte, aber viele wiederum nicht, da es vielleicht kleinere Projekte sind oder nicht viel zum Präsentieren haben usw. Ich zum Beispiel poste auch sehr selten meine Projekte. Daher ein Vote mit ca 30 Antwortmöglichkeiten. Die Antworten sind eher so aufgebaut, als würde man wirklich an seinem oder bei einem Projekt arbeiten und nicht eher, weil man das als Job tut. Ich habe eine externe Seite Strawpoll als Votingsystem benutzt. Wollte nicht so vielen machen, aber da ja bei Spielen einfach zu viele verschiedene Richtungen gibt, wurde daraus ca 30 Angaben ^^. Würde mich aber wirklich sehr interessieren, was ihr so als Vote abgibt. http://www.strawpoll.me/12064294 EDIT: Natürlich könnt ihr auch hier posten was ihr derzeit so macht, aber bei dem Weekend Post sieht man ja auch teilweise
  12. Ja, danke, aber habe jetzt doch mit Physics2D gemacht. Ich raycaste einfach auf die selbe Stelle mit 0,0 Richtung. Da überprüfe ich, welche ich nun da alles treffe. Das doofe war nur, dass die Plattformen gesagt haben, ob ich sterbe. Jetzt hab ich es doch auf den Player übertragen. Da ging das leichter. So sieht es bei mir derzeit aus und es funktioniert auch. bool IsOnDeadzone() { bool onDeadZone = false; bool onTransport = false; RaycastHit2D [] hits = Physics2D.RaycastAll(transform.position, Vector2.zero); if (hits.Length > 0) { for(int i = 0; i < hits.Length; i++) { var entity = hits[i].transform.GetComponent<Entity>(); if(entity) { if(entity.type == Entity.CollisionType.TransportsPlayer) onTransport = true; else if(entity.type == Entity.CollisionType.DeadZone) onDeadZone = true; } } } return !onTransport && onDeadZone; // nur true, wenn man auf keine Transportplattform ist, aber in einer deadzone } Komisch, dass mir manchmal Lösungen einfällt, wenn ich erst etwas gepostet habe.
  13. Hallo, ich habe ein Spiel wo man über Felder läuft. War eigentlich ein Challenge von mir innerhalb 2 Stunden fertig zu werden. Naja wegen dem Problem hänge ich nun bissel. Es geht darum, dass ich ein Spieler hab und eine bewegende Plattform, aber unter den Plattform gibt es auch noch etwas, wo man aber da dann stirbt. Die nennen wir mal Deadzone. So manchmal ist das doof, da die Reihenfolge mal sich ändert bei TriggerEnter usw. Mal wird es durch den Plattform zu erst getriggert, mal der Deadzone. Jetzt war meine Idee noch einen seperaten Check mit Physics2D zu machen, aber mir viel auf, dass man ja nach Z Richtung gar nicht machen kann. Habt ihr eine Idee? Kann man da noch was machen? Edit: Mir fällt auf ich kann ja Physics2D Raycast einfach auf die selbe Stelle feuern.. gar nicht daran gedacht.
  14. Wenn der Server gestartet wurde und du die Scene schon geladen hast, dann brauchst du ja nichts "spawnen". Auch nicht ServerOnly stellen, da die Clients eigentlich fast gar nichts davon mitbekommen. Auf dem Client Sollte ja schon auch ein Deathmatchscript programmiert sein und die wissen also was abgeht. Sowas ist nicht abhängig von Networking. Das einzige, was ich mir nur vorstellen kann ist, welche Zeit gerade die Runde hat, da es ja ablaufen soll. Das kann man ja einmalig synchronisieren und danach sollten die Clients selber runterzählen. Bei sowas einfach sich mal fragen, was muss der Client wissen und was muss der Server wissen.
  15. Collsion ist bei Trigger falsch. Collider ist richtig.