Jump to content
Unity Insider Forum

Shalafi

Members
  • Content count

    24
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Shalafi

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi, ich bastle seit kurzen an einem Multiplayer Spiel (Kein Shooter, eher Aufbau). Die Verbindung und der Datenaustasch zwischen Client und Masterserver funktioniert. Jetzt steh ich vor der Frage, wie ich am Besten die Worldserver entwickle. Muss pro Map-"Instanz" ein eigener Server (in Unity entwickelt) gestartet werden, oder kann ein Server auch mehrere Instanzen einer Map verwalten? Die müssten ja dann alle getrennt von einander behandelt werden. Hat da jemand Tipps für mich? Gruß
  2. Shalafi

    Dedicated Server - Unity

    Hi, also für die Entwicklung werde ich natürlich erstmal selber nen Server hosten. Ich möchte auch erstmal die Machbarkeit meiner Idee ausprobieren und nen kleinen Prototypen entwickeln. Ich arbeite hauptberuflich auch bei einem großen deutschen ISP, deshalb sollten später auch gemietete Root-Server möglich sein. Aber wie gesagt, erstmal möchte ich ausprobieren, ob das technisch überhaupt machbar ist. Gruß
  3. Shalafi

    Dedicated Server - Unity

    Hi, also ich gedenke das Serversystem so aufzubauen, dass es einen Masterserver gibt, der die ganzen Login-Prozesse übernimmt und die Spieler auf die gewünschten World-Server weiterleitet. Jeder World-Server (eine Unity-Instanz) ist dann für ein Dorf zuständig. Was genau meinst du mit "mehrere Server in einem Prozess"? Meinst du damit das mehrere Server auf einem Rechner laufen? Oder kann man mit einer Unity-Instanz mehrere Server simulieren? Gruß
  4. Shalafi

    Dedicated Server - Unity

    Hi, danke für die Antwort. Mir schwebt so eine Art Minecraft vor, wo eine Gruppe von Spielern einen eigenen Bereich hat, auf dem sie bauen können. Dafür wäre dann wohl für jeden Bereich eine Server-Instanz nötig, oder?
  5. Shalafi

    Dedicated Server - Unity

    Hi, danke für die ausführliche Antwort. Wenn man zB mehrere Dungeons hat, muss man dann für jeden Dungeon einen Server starten, oder kann man auch mehrere Maps mit einem Server arbeiten lassen? Gruß
  6. Shalafi

    Dedicated Server - Unity

    Hi, ich denke an ein Spiel Richtung Minecraft (Citybuild). Das heißt es gibt verschiedene Zonen, die Spieler bebauen können. Muss ich da für jede Zone eine eigene (World-)Server Instanz starten? Ich überlege noch wie ich die ganze Server-Architektur aufbaue.
  7. Hi, ich möchte ein kleines 3D Multiplayer Spiel erstellen, was mit deinem dedicated Server arbeiten. Ich hab mir einige Guides angesehn, allerdings hab ich eine Sache noch nicht verstanden. Eigendlich habe ich gedacht, dass der Server doch die Daten der Clients immer gegenprüfen muss. Wenn der Client zB eine Positions-Angabe schickt, muss der Server prüfen ob der Spieler da überhaupt sein darf. Sonst konnte doch jemand einfach falsche Positionsangaben verschicken und sich so durch Wände teleportieren oder ähnliches. Dazu muss der Server ja dann auch die Unity-Map kennen. Dazu hab ich bisher noch keine Informationen gefunden. Wie wird sowas in der Praxis umgesetzt? Gruß
  8. Shalafi

    ParticleSystem - BulletTracer

    Hi, danke für deine Antwort. Da sich die Spitze der Waffe nicht genau in der Bildschirm-Mitte befindet, würde ein Raycast aus der Waffe recht ungenau sein, oder? Dass das Projektil dahin fliegt, wo der Raycast trifft, das hatte ich schon so eingebaut. Das Problem war allerdings, dass das Projektil falsch fliegt, wenn der Raycast nichts trifft. Ich hatte dann die Projektil in Richtung der Kamera-Rotation fliegen lassen. Dann hatte ich allerdings das Problem, dass wenn ich knapp neben ein Objekt schieße, der Raycast also nichts trifft, das Projektil trotzdem das Objekt trifft, da sich die Spitze der Waffe ja nicht in der Mitte der Kamera befindet. Ich suche eine Lösung des Problems. Gruß
  9. Shalafi

    ParticleSystem - BulletTracer

    Hi, ok danke. Wir geht man dann mit diesem Problem um? Garkein Raycast nutzen und die Bullet-Collision nutzen? Gruß
  10. Shalafi

    ParticleSystem - BulletTracer

    Oder ist ein Bullet-Objekt mit Trail-Renderer für diese Sache besser geeignet? Ich hatte das schonmal ausprobiert, und es hat eigendlich auch gut funktioniert. Das Problem war allerdings, dass der Raycast des Schusses von der MItte der Kamera ausgeht, das Projektil allerdings aus der Spitze der Waffe kommt. Das hat dazu geführt, dass das Projektil unter Umständen ein Objekt trifft, was der Raycast nicht getroffen hat. Wie löst man die Situation mit Bullet-Tracers am besten? Gruß
  11. Shalafi

    ParticleSystem - BulletTracer

    Hi, ich möchte ein ParticleSystem als BulletTracer für ein FPS benuzten. Dazu hab ich das ParicleSystem direkt an der Spitze der Waffe platziert. Das Particle-System ändert auch die Rotation zusammen mit der Kamera bzw. dem Fadenkreuz, damit die Schüsse immer in die richtige Richtung gehn. Der Renderer hat den Render-Mode Streched-Billboard und eine Length-Scale von 20. Das Problem ist jetzt, dass die Particle anscheinend ihren Mittelpunkt an der Position des ParticleSystems haben und somit der halbe Particle durch die Waffe und den Spieler nach hinten gerendert wird. Wie kann ich das verhindern? Die Particle sollen immer direkt vor der Waffe anfangen. Gruß
  12. Hi, ich versuche mich an einem FPS. Ich hab ein Modell mit MakeHuman erstellt und eingebunden, so dass man die Arme sieht und wenn man an sich runter guckt die Beine. Nun möchte ich das gerne mit Waffen aus dem Asset-Store kombinieren, so dass man sie in die Hand nehmen und animieren kann. Ich hab im Moment keine Ahnung, wie ich sowas machen kann. Hat jemand ein gutes Tutorial als Einstiegspunkt für mich? Gruß
  13. Shalafi

    Destroy zerstört alle Clone

    Hi, hier ist es: public class Grenade : MonoBehaviour { public float Explosiontime { get; set; } public float Countdown = 5f; public float BlastRadius = 5f; public float ExplosionPower = 100f; public float MaxDmg = 100f; void Start() { this.Explosiontime = -1; } void Update() { if (this.Explosiontime > 0 && Time.time >= this.Explosiontime) { this.Explode(); } } //Countdown beginnt public void Throw(float throwtime) { this.Explosiontime = throwtime + this.Countdown; } //Explosion private void Explode() { Explosion.Explode(this.transform.position, this.BlastRadius, this.ExplosionPower, this.MaxDmg); Destroy(this.gameObject); } } Und das Skript für die Explosion auch noch: public static class Explosion { public static void Explode(Vector3 explosion_position, float BlastRadius, float ExplosionPower, float MaxDMG) { Collider[] hitColliders; hitColliders = Physics.OverlapSphere(explosion_position, BlastRadius); foreach (Collider hitcol in hitColliders) { if (hitcol.GetComponent<Rigidbody>() != null || hitcol.GetComponent<GaW.Player.PlayerStats>() != null) { //Gucken, das nix im Weg RaycastHit hit; bool wallhit = false; if (Physics.Raycast(explosion_position, hitcol.transform.position - explosion_position, out hit, BlastRadius)) { if (hit.transform.GetComponent<Rigidbody>() == null && hit.collider != hitcol && hit.transform.tag != "Player") { wallhit = true; } } if (wallhit == false) { if (hitcol.GetComponent<Rigidbody>() != null) { hitcol.GetComponent<Rigidbody>().AddExplosionForce(ExplosionPower, explosion_position, BlastRadius, 1, ForceMode.Impulse); } if (hitcol.GetComponent<GaW.Player.PlayerStats>() != null) { Vector3 closespoint = hitcol.ClosestPoint(explosion_position); float dmg = MaxDMG * (1 - (Vector3.Distance(explosion_position, closespoint) / BlastRadius)); hitcol.GetComponent<GaW.Player.PlayerStats>().Damage(dmg); } } } } } } Gruß
  14. Shalafi

    Destroy zerstört alle Clone

    Hi, Ich hab ein Skript geschrieben, dass Granaten wirft. Das Problem ist, dass wenn ich mehrere Granaten werfe, und die erste sich nach der Explosion selbst löscht (Destroy(this.gameObject);), werden alle Granaten gelöscht, auch die, die noch nicht explodiert sind. Hier mein Skript: public class ThrowGranade : MonoBehaviour { public GameObject GrenadePrefab; private Transform MyTransform; private GameObject GrenadeObj; private Transform CameraTransform; public float ThrowForce = 5f; // Use this for initialization void Start() { this.MyTransform = this.transform; this.CameraTransform = this.transform.Find("Body/PlayerCamera").transform; } // Update is called once per frame void Update() { if (Input.GetButtonDown("ThrowGrenade")) { this.InstantiateGrenade(); } else if (Input.GetButtonUp("ThrowGrenade")) { this.ThrowGrenade(); } } private void InstantiateGrenade() { if (this.GrenadePrefab != null) { this.GrenadeObj = (GameObject)Instantiate(this.GrenadePrefab, this.CameraTransform.TransformPoint(.45f,-.25f,.7f), this.CameraTransform.rotation); this.GrenadeObj.GetComponent<Rigidbody>().isKinematic = true; this.GrenadeObj.transform.SetParent(this.CameraTransform, true); } } private void ThrowGrenade() { if (this.GrenadeObj != null) { this.GrenadeObj.GetComponent<Grenade>().Throw(Time.time); this.GrenadeObj.transform.SetParent(null, true); this.GrenadeObj.GetComponent<Rigidbody>().useGravity = true; this.GrenadeObj.GetComponent<Rigidbody>().isKinematic = false; this.GrenadeObj.GetComponent<Rigidbody>().AddForce(this.CameraTransform.forward * this.ThrowForce, ForceMode.Impulse); this.GrenadeObj.GetComponent<Rigidbody>().AddForce(this.MyTransform.up * this.ThrowForce, ForceMode.Impulse); } } } Kann man das irgendwie verhindern? Google konnte mir da auch nicht richtig weiterhelfen. Gruß
  15. Shalafi

    Rigidbody.AddForce() funktioniert nicht

    Hi, das Problem ist jetzt, dass sobald ich das Parent auf null setzte, die Granate an eine andere Position gesetzt wird. Kann man das verhindern? Gruß
×