Jump to content
Unity Insider Forum
  • 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

Aquana

Members
  • Content count

    9
  • Joined

  • Last visited

  • Days Won

    1

Aquana last won the day on April 2

Aquana had the most liked content!

Community Reputation

3 Neutral

About Aquana

  • Rank
    Newbie
  1. Jing/Jiang

    Danke. Als mir der Name in den Sinn kam fand ich ihn so bescheuert das ich ihn schon wieder gut fand Mein Favorit ist aber immer noch Das Ungehuer von Loch im Boden ;D
  2. Jing/Jiang

    Ja ich hatte noch Einsendestress. Da konnte ich schon froh sein das es sogar noch einen Tag Verlängerung gab. Denn Unity spinnte auch erst einmal rum. Ein script konnte angeblich nicht gefunden werden, so das ich es noch einmal neu machen musste und das neue aber dann ganz normal gefunden wurde. Dann lies sich plötzlich das Spiel nicht mehr aus Unity exportieren wegen irgeneiner komschen Fehlermeldung und später als ich Unity wieder einmal anschaltete ging es plötzlich doch. Dann liesen sich einige Objekte ohe Rigigbody anklicken und andere benötigten aber wieder einen Rigidbody, obwohl alle einen Boxcollider haben. Dann war noch die Aufgabe das ganze in 2min Vorzustellen. Aber erst ab vollen 5 Sekunden Überzug gibt es Strafpunkte. So gesehen war das Spiel doch etwas zu komplex um es in 2Minuten richtig präsentieren zu können. Ich habe sogar vergessen das Ziel des Spiels zu erwähnen und auch auf die verschieden Monsterfähigkeiten und die Steuerung des Roboters konnte ich nicht richtig eingehen. Naja wieder mal was gelernt fürs nächste mal
  3. Jing/Jiang

    Ein Spiel für eine GameChallenge auf Youtube.
  4. schießen und Steuerung

    Ja Input.GetKey habe ich dann später auch nur verwendet als ich diesen Fehler bemerkte. Da ich testen wollte ob das ganze irgenwie evtl an Input.GetKeyDown zu tun hat. Also liegt es dann wohl an meiner Tastatur. Okay danke, dann weiß ich wenigstens schon mal mehr^^
  5. schießen und Steuerung

    Hallo liebe UnityCommunity, Ich habe mal einen kleinen Test gemacht um ganz simpel schießen zu können. Dazu ich einen Würfel als Spieler erstellt und ein Empty als Child dieses Würfels. Von dem Empty aus soll ein Prefab abgeschossen werden. Das sieht einfach so aus. using System.Collections; using System.Collections.Generic; using UnityEngine; public class lernen2 : MonoBehaviour { public GameObject Monition; public Transform spawnpoint; void Update () { if (Input.GetKey(KeyCode.Space)) { Instantiate(Monition, spawnpoint.position, spawnpoint.rotation); } } } Dann habe ich das Empty und das Prefab in die Zeilen reingezogen wie man es so macht. Das ganze klappt auch zum Großteil so wie es klappen soll. Dann ist mir allerdings etwas seltsames aufgefallen. Drücke ich gleichzeitig Den nach oben und Linkspfeil stoppt das abfeuern des Schusses einfach, das gleiche passiert wenn ich nach hinten und rechts drücke. Alles andere wie Nach vorne rechts und hinten links kann aber gedrückt werden und es wird gefeuert. Ich dachte das es vielleicht etwas mit dem Inputmanager zu tun hat, dort war aber nach einem kurzem Vergleich im Internet alles normal.Außerdem habe ich das Steueruungsscript vollkommen entfernt. Es ist wirklich nur noch das Script zum Schießen vorhanden. Das ganze macht für mich nicht den geringsten Sinn. Kann mir das jemand erklären?
  6. Animationsanpassung bei Nahkampfsystem

    Vielen vielen dank! Jetzt sehe ich meinen Fehler. Jetzt kann nach langer Zeit und einigem Ärger endlich meine Kampfsystem besser werden.
  7. Animationsanpassung bei Nahkampfsystem

    Danke erst mal für deine Antwort. Ich habe das ganze jetzt mal mit einem einfachen Code ausprobiert in verschiedenen Weisen. Zuerst dachte ich das bei GetCurrentAnimatorStateInfo den Integer angeben muss und bei isName die Variable die in meinem Animator verändert wird. if(Input.GetKeyDown(KeyCode.Space)) { anim.SetInteger("a", 1); } if (this.anim.GetCurrentAnimatorStateInfo(1).IsName("a"))//meine Variable im Animator heißt einfach a. { Debug.Log("Ich schlage dich!"); } Dann dachte ich das ich den Integer auf dem die Variable ist bei anim.GetCurrentAnimatorStateInfo eingeben muss und wie es ja da stand den Name der Animation if(Input.GetKeyDown(KeyCode.Space)) { anim.SetInteger("a", 1); } if (this.anim.GetCurrentAnimatorStateInfo(1).IsName("Basic Attack")) { Debug.Log("Ich schlage dich!"); } Doch leider stand wieder nur Invalid Layer Index `1` UnityEngine.Animator;GetCurrentAnimatorStateInfo(Int32) Dann kam ich auf die Idee das ich den Namen der Variable angeben muss bei GetCurrentAnimatorStateInfo if(Input.GetKeyDown(KeyCode.Space)) { anim.SetInteger("a", 1); } if (this.anim.GetCurrentAnimatorStateInfo("a",1).IsName("Basic Attack")) { Debug.Log("Ich schlage dich!"); } Da stand in der Fehlermeldung das GetCurrentAnimatorStateInfo 2 Argumente hat und das wohl Nichtsein darf Da aber bei keine dieser Möglichkeiten "Ich schlage dich" angezeit wurde in der Console. Versuchte ich es bei GetCurrentAnimatorStatInfo bei 0 zu lassen und wirklich nur den Name der Animation zu verwenden.Doch leider wurde mir auch da nicht der Text ausgegeben. if(Input.GetKeyDown(KeyCode.Space)) { anim.SetInteger("a", 1); } if (this.anim.GetCurrentAnimatorStateInfo(0).IsName("Basic Attack")) { Debug.Log("Ich schlage dich!"); } Vielleicht war alles komplett falsch was ich da gemacht habe. Ich weiß langsam wirklich nicht mehr weiter.
  8. Guten Tag, Ich suche einen Weg um abzufragen ob eine Animation gerade Sattfindet oder nicht bzw zu ende ist. Ich habe mir dazu Assets aus dem Unityassetstore herunter geladen um das ganze zu testen. Eine davon ist ein Skelet deren Angriffsanimation relativ langsam ist, die andere ein Drache. Ich hoffte zuerst das ich das ganze über StartCoroutine regeln lässt und dann über Time.time. Dann legte ich sogar extra noch eine Intergervariable an die immer dann wechselt wenn der Parameter der Animation wechselt. Doch leider ist bisher immer das gleiche Problem. Der Drache (der Spieler)bekommt einen Schlag ab und schüttelt den Kopf( weil er ja getroffen wurde).Zu diesem Zeitpunkt sollte der Spieler dem Gegner keinen Schaden zufügen können. Leider passiert aber genau das immer wieder und dem Gegner wird Energie abgezogen obwohl es nicht so aussieht als würde dieser geschlagen werden. Später möchte ich dann noch einbauen das man blocken kann(natürlich auch mit Animation). Meiner Methode scheint unnötig kompliziert zu sein und zu vielen Fehlern zu führen. Aus diesem Grund würde ich gerne wissen wie man so eine Aufgabe löst. Mir wurde schon vorgeschlagen es so zu lösen. if(anim.GetInteger("Hier Name des Parameters einsetzen" == 1)) {mach jetzt was} Ich bekomme jedoch leider nur die Meldung das man einen String nicht in einen Integer umwandeln kann. Ich nutzte auch ganz bewusst Set.Integer, da ich früher den Eindruck hatte das man über Set.Bool erst einmal jede andere Boolean über Script ausschalten muss und man dann an jede Einzelheit denken muss, wie Schalte diese ganzen jetzt aus und aktiviere das usw. Bei einem Integer ersetzt die Zahl automatisch alles. Vielleicht nützt es auch was wenn ich das Script für den Player hier poste. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class CharaLaufen : MonoBehaviour { public Image Energie; private float maxhealth = 100f; public float currenthealth = 0f; private float Lebensanzeige; Monster myMonstervariable; public Animator anim; public int Animationsanpassung; private bool lebt= true; void Start() { myMonstervariable = GameObject.Find("DungeonSkeleton_demo").GetComponent<Monster>(); anim = GetComponent<Animator>(); currenthealth = maxhealth; } void LateUpdate() { if (currenthealth <= 0) { lebt = false; anim.SetInteger("a", 5);//Tot Animationsanpassung = 5; } if (lebt == true) { anim.SetInteger("a", 0);//idle if (Input.GetKeyDown(KeyCode.Space)) { anim.SetInteger("a", 1);//Attacke Animationsanpassung = 1; }   else if (Input.GetKeyDown(KeyCode.M)) { anim.SetInteger("a", 4);//idle Animationsanpassung = 4; } if (Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.DownArrow)) { transform.Translate(0, 0, (Input.GetAxis("Vertical") * 15 * Time.deltaTime)); anim.SetInteger("a", 2);//laufen Animationsanpassung = 2; } if (Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.RightArrow)) { transform.Rotate(0, Input.GetAxis("Horizontal") * 150 * Time.deltaTime, 0); anim.SetInteger("a", 2);//laufen Animationsanpassung = 2; } } Lebensanzeige = currenthealth / maxhealth;//Lebensanzeige Energie.fillAmount = Lebensanzeige; //Lebensanzeige } void OnTriggerEnter(Collider other) { if (other.CompareTag("Hit") && myMonstervariable.Monstercurrenthealth > 0 && myMonstervariable.Animationsabfrage == 2 && currenthealth > 0) { anim.SetInteger("a", 3);//Bekommt Schlag ab Animationsanpassung = 3; currenthealth -= 5; } } void OnTriggerExit(Collider other) { if (other.CompareTag("Hit")) { anim.SetInteger("a", 0); } } } Ich danke jetzt schon mal jeder Person die mir hilft.
×