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

Hermetes

Members
  • Content count

    136
  • Joined

  • Last visited

  • Days Won

    1

Hermetes last won the day on May 5 2016

Hermetes had the most liked content!

Community Reputation

4 Neutral

About Hermetes

  • Rank
    Advanced Member

Recent Profile Visitors

715 profile views
  1. Animator

    Aufräumen, genau! Ahja, dann muss ich das über Sub States machen. Danke! Bist ja richtig fleißig hier!
  2. Animator

    Hallo! Was ist wenn ich soviel Animationen habe, das mir das Spinnennetz artige Gestrüp mir zuviel wird? Nun könnte ich Blend Tree´s oder Layers verwenden. Doch meine Animationen möchte ich alle mit bool´s und triggern steuern. Da scheidet aber Blend Tree´s schon mal aus ? Und wie muss ich scripten wenn ich Layers benutze? Da konnte ich leider nirgendwo was finden. Viele Grüße
  3. for loop - Einheiten (Player) auf Startplätze

    Hm, ja es potenziert sich immer mit den Elementen der Liste. Dann versuche ich erstmal mit 1x Start Einheit und instanziiere es später. Bis wir auf eine andere Möglichkeit kommen.
  4. for loop - Einheiten (Player) auf Startplätze

    Hi & Danke für die Antwort! Die Players List ist eine Liste wieviel Spieler teilnehmen. Also Player1 ist der menschliche Spieler und die AI wäre Player2 zum Beispiel. !?
  5. Hallo zusammen! Komme leider nicht auf eine Lösung Ich wollte zu Spielbeginn meine Starteinheiten auf ihren Startpositionen zuweisen. In meinem Code werden 3 Starteinheiten plötzlich zu 9 Einheiten. Obwohl ich doch mit "i" angegeben habe , das sich nur die Startplätze erhöhen soll. Nun habe ich jeweils 3 Einheiten auf einem Startplatz.(!?) 6 Startplätze (Tranform Array) 3 Einheiten zum Start (GameObject List) Danke euch schon mal für´s nachdenken! foreach (var p in Players) { //Geht die Liste StartingUnits von Players durch foreach (var u in p.StartingUnits) { // u = Einheiten // go = Instantiate Player // benutzt count for (int i = 0; i < p.StartingUnits.Count; i++) { var go = (GameObject)GameObject.Instantiate(u, p.Location[i].transform.position, p.Location[i].transform.rotation); //Figur1 // go wird zu player var player = go.AddComponent<Player>(); Debug.Log("RTSManager Variable u" + u);
  6. Hi! Wenn ich ein Prefab in der Szene (Runtime aus) anklicke, dann bekomme ich einen orangen farbigen Rand um das Prefab angezeigt. Wie bekomme ich das mit einem Script im Runtime hin? Viele Grüße
  7. Scripting einfacher - Schleife?

    Hi und Danke für eure Antworten! Ist auf public da dieses Script die Architektur der GUI ist. Aber da ich nur die Syntax eines Tutorials abschreibe, weiss ich nicht wie es auch anders möglich ist. Außerdem lasse ich alles zunächst mal auf public. In meinen Anfängen hatte ich mal eine ganze Woche damit verbracht einem anderen Skript ein private bool zu setzen ^^. Daher würde mir auch kein [System.Serializeable] weiter helfen (oder?). Oder hätte es auch einen Nutzen wenn ich meine Variablen auf public hätte + [System.Seri....] Weiss nicht ob es nur dafür da eine private Variable im Inspector sichtbar zu machen. Jetzt stehe ich da, und bin ratlos was ich denn jetzt als Parameter angeben muss. Muss ich trotz Schleife und Liste alle Variablen ansprechen? @Mazy Ich werds irgendwann mal bereuen es nicht so strukturiert gemacht zu haben! Wie geht man so eine Struktur an? Mit oder ohne abstrakte Klassen? public List<Image> profilImages = new List<Image>(); public void SetProfilPics() { foreach (var picture in profilImages) { picture.color = Color.white; } } public void ClearProfilImages() { foreach (Image picture in profilImages) { picture.color = Color.clear; } } void Start() { ClearLines(); ClearPic(); //ClearGameObjects(); ClearSiegeImages(); ClearPlayerPropertiesImages(); ClearJobs(); ClearIntJobs(); ClearButton(); ClearProfilImages(); }
  8. Scripting einfacher - Schleife?

    Mein Script wird immer länger und ich frage mich ob sich das nicht einfacher und übersichtlicher mit einer Schleife gestalten lässt. public Image ProfilePic; public Image Background; public Image LivebarPic; public Image HealthbarPic; public Image StaminabgPic; public Image StaminabarPic; public Image wishtable; public Image HintergrundImage; public void SetPic(Sprite pic1,Sprite pic2,Sprite pic3,Sprite pic4, Sprite pic5,Sprite pic6,Sprite pic7,Sprite pic11) { ProfilePic.sprite = pic1; ProfilePic.color = Color.white; Background.sprite = pic2; Background.color = Color.white; LivebarPic.sprite = pic3; LivebarPic.color = Color.white; HealthbarPic.sprite = pic4; HealthbarPic.color = Color.white; StaminabgPic.sprite = pic5; StaminabgPic.color = Color.white; StaminabarPic.sprite = pic6; StaminabarPic.color = Color.white; wishtable.sprite = pic7; wishtable.color = Color.white; HintergrundImage.sprite = pic11; HintergrundImage.color = Color.white; } public void ClearPic() { ProfilePic.color = Color.clear; Background.color = Color.clear; LivebarPic.color = Color.clear; HealthbarPic.color = Color.clear; StaminabgPic.color = Color.clear; StaminabarPic.color = Color.clear; wishtable.color = Color.clear; HintergrundImage.color = Color.clear; }
  9. shortcut ? hotkey ? Wie nennt man das.....

    Endlich mal wieder Zeit gefunden, doch was mache ich nur falsch??? Ich konnte die angeklickten Figuren in eine Liste setzten. Doch leider kann ich die Figuren Gruppierung nicht wieder aufrufen. using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShortcutUnits : Interaction { public bool selected = false; public override void Select () { selected = true; } public override void Deselect() { selected = false; } public List<GameObject> SwapList1; GameObject[] selectedgameobjects; // Use this for initialization void Start () { selectedgameobjects = GameObject.FindGameObjectsWithTag("Player"); } void Update () { if (selected && Input.GetKeyDown(KeyCode.LeftControl)) { Debug.Log("Strg is pressed"); if (Input.GetKeyDown(KeyCode.I)) { if (SwapList1.Count != 0) { SwapList1.Clear(); } else{ if(SwapList1.Count == 0) { foreach (GameObject obj in selectedgameobjects) { SwapList1.Add(obj); } } } } } if (Input.GetKey(KeyCode.I)) { foreach(GameObject obj in SwapList1) { selected = true; } } }
  10. shortcut ? hotkey ? Wie nennt man das.....

    Vielen Dank euch beiden für eure Hilfe! Wollte nur kurz Bescheid geben das ich da gerade dran bin. Und weil ich unbedingt das Thema Listen und Schleifen vertiefen möchte, gehe ich nach dem ersten Konzept. Auf dem Weg im Auto, ist mir auch eingefallen das ich für alle Tasten eine Liste brauche. Bin schon gut voran gekommen, allerdings auch auf ein paar Probleme. Ich versuchs die erstmal eigenständig zu lösen und lass es euch dann wissen ob es geklappt hat!
  11. ....und vor allem wie kann man ein Gameobjekt im Runtime einer Taste zuweisen, wie z.B. indem man STrg + 1 drückt ? Um dieses Objekt, oder auch mehrere Objekte, dann mit der Taste 1 abrufen kann. Grüße
  12. NavMeshAgent List Waypoints ablaufen

    Achja natürlich! Da hatte ich den ganzen Tag lang noch nichts gegessen. Also läuft jetzt! Man kann das noch richtig gut ausbauen. Den Pfad auch anzeigen lassen mit dem line.renderer z.B.,von deinem letztem Beitrag. Auch wird es später in einer anderen Varianten in meinem Spiel eine große Bedeutung bekommen. So, wieder einiges gelernt, und gefühlt um einen Level gestiegen! Danke Zer0
  13. NavMeshAgent List Waypoints ablaufen

    Danke für deine Unterstützung ZerO Ich habe es weitesgehends geschafft! Es sieht jetzt so aus: Markiere Pos1 - Figur bleibt stehen. Markiere Pos2 - Figur bewegt sich auf Pos 1 Markiere Pos3 - Figur bewegt sich auf Pos 2 usw. Wieso ignoriert es die letzte Position? Und wie bekomme ich ein Loop hin? using System.Collections; using System.Collections.Generic; using UnityEngine; public class RightClickNavigation : Interaction { public float RelaxDistance = 0.05f; private UnityEngine.AI.NavMeshAgent nav; public Vector3 target = Vector3.zero; public bool selected = false; public bool isActive = false; private Animator anim; //-------------Start AttackMove------------------------- public bool isAttack; public float shotRange; public Vector3 enemy = Vector3.zero; //--------------Start Waypoints------------------------- public List<Vector3>points ; int destPoint = 0; //public Transform[] points; //private List<Vector3>points; public override void Select () { selected = true; } public override void Deselect() { selected = false; } public void SendToTarget() { nav.SetDestination (target); nav.Resume(); isActive = true; } void Start () { nav = GetComponent<UnityEngine.AI.NavMeshAgent>(); anim = GetComponent<Animator>(); } // Update is called once per frame void Update () { if (selected && Input.GetMouseButtonDown (1)){ var tempTarget = RtsManager.Current.ScreeenPointToMapPosition(Input.mousePosition); if (tempTarget.HasValue){ target = tempTarget.Value; SendToTarget(); anim.SetBool("Move",true); } } if (isActive && Vector3.Distance (target, transform.position) < RelaxDistance){ nav.Stop(); isActive = false; anim.SetBool("Move",false); } //-------------------Waypoints-------------------------------------------------------- if (selected && Input.GetKey(KeyCode.LeftShift) && Input.GetMouseButton(0)) { var temp = RtsManager.Current.ScreeenPointToMapPosition(Input.mousePosition); //points.Add(temppoints); // error CS0266: Cannot implicitly convert type `UnityEngine.Vector3?' // to `UnityEngine.Vector3'. An explicit conversion exists (are you missing a cast?) if (temp.HasValue) { points.Add(temp.Value); //points.Add(temp.......geht nicht.error CS1502: The best overloaded method match for //`System.Collections.Generic.List<UnityEngine.Vector3>.Add(UnityEngine.Vector3)' has some invalid arguments ); //points = temp.Value; GoNextWaypoint(); } } } public void GoNextWaypoint() { //if (points.Count == 0) // erstmal deaktiviert // return; // deaktiviert nav.destination = points[destPoint]; destPoint = (destPoint + 1) % points.Count; isActive = true; } }
  14. NavMeshAgent List Waypoints ablaufen

    Tschuldigung hatte waypoint antatt points drinne. Dann ist es kein float sondern ein Transform, das den Fehler cannot convert..... , auslöst. nav.destination = points[destPoint];
  15. NavMeshAgent List Waypoints ablaufen

    Hmmm...ich kann keine Transform mit der ScreenToWorld ermitteln , die ich benötige für agent.destination = points[destPoint].position; Das heisst einmal can not convert type Vector 3 to Transform. Dann: can not convert type float to Vector3 if (selected && Input.GetKey(KeyCode.LeftShift) && Input.GetMouseButton(0)) { // Vector3 waypoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); Transform point = Camera.main.ScreenToWorldPoint(Input.mousePosition); //error CS0029: Cannot implicitly convert type `UnityEngine.Vector3' to `UnityEngine.Transform' mywaypoints.Add(waypoint); //Bis hier (hatte) funktioniert es. GoNextWaypoint(); Debug.Log("Waypoint ist:" + waypoint); } } public void GoNextWaypoint() { if (mywaypoints.Count == null){ return;} nav.destination = waypoint[destPoint]; //error CS0029: Cannot implicitly convert type `float' to `UnityEngine.Vector3' destPoint = (destPoint + 1) % mywaypoints.Count;
×