Jump to content
Unity Insider Forum

GelegenheitsProgrammierer

Members
  • Content count

    159
  • Joined

  • Last visited

Everything posted by GelegenheitsProgrammierer

  1. GelegenheitsProgrammierer

    Was ist Spieleentwicklung?

    Für mich ist Spieleentwicklung, eine Spielidee umsetzen. Wie man das macht, ob alles selbst modelliert oder gecodet oder aber zusammengekauft macht da erst mal kein unterschied, solange es am Ende spaß macht. Ich denke je nachdem wie du dich entscheidest das Spiel zu entwickeln hat man halt mehr oder weniger Freiheiten. Ich mein es gibt ja in der Entwicklung viele verschiedene Aufgaben/Jobs. Die typischen sind der Grafiker und der Programmierer aber es gibt noch jede Menge mehr. Also dein Part währe, wenn ich das richtig verstehe, der Gamedesigner, also der sich gedanken über den Inhalt des Spiels macht. Also schlechtes Gewissen weil du deine "Schwächen" mit fertigen "Bauteilen" ausgleichst brauchst du nicht zu haben.
  2. GelegenheitsProgrammierer

    Auto-Aim-Turret-Problem

    So ich hab das Problem jetzt endlich lösen können, wenn man draufkommt ist es gar nicht so schwer. Naja Danke dir erst mal Sascha. Irgendwie hat das was du Vorgeschlagen hast nicht funktioniert oder ich hatte deine Idee nicht gerafft(wahrscheinlicher). Hier mal mein Code, wie es jetzt funktioniert. public class TurretContr : MonoBehaviour { //Geschwindigkeit der Drehung public float RotateSpeed = 3.0f; //Das Target was anvisiert werden soll public GameObject activeTarget; //Die Zielerfassung public GameObject TargetAcquisition; //Die Basis des Turms public GameObject Base; //Min und Max rotation des Turm auf der y achse public Vector2 BaseMinMax; //Waffe des Turms public GameObject Weapon; //Min und Max rotation der Waffe auf der x Achse public Vector2 WeaponMinMax; //Temporäre rotation zu Ziel private Quaternion AcquisitionRotation; // Update is called once per frame void Update() { RotateTargetAcquisition(); OrientateTurret(); } void RotateTargetAcquisition() { //Debug.Log(Base.transform.localEulerAngles + " / " + Weapon.transform.localEulerAngles + " / " + TargetAcquisition.transform.localEulerAngles); //Um die Richtung des Targets als Quaternion zu bekommen AcquisitionRotation = Quaternion.LookRotation(activeTarget.transform.position); //Annähern des Targets AcquisitionRotation = Quaternion.RotateTowards(TargetAcquisition.transform.rotation, AcquisitionRotation, RotateSpeed * Time.deltaTime); //Die Rotation setzen TargetAcquisition.transform.localEulerAngles = AcquisitionRotation.eulerAngles; //Die Rotation begrenzen TargetAcquisition.transform.localEulerAngles = new Vector3(ClampEulerAngle(TargetAcquisition.transform.localEulerAngles.x, WeaponMinMax.x, WeaponMinMax.y), ClampEulerAngle(TargetAcquisition.transform.localEulerAngles.y, BaseMinMax.x, BaseMinMax.y), 0); } /// <summary> /// die Modelle Ausrichten /// </summary> void OrientateTurret() { Base.transform.localEulerAngles = new Vector3(0,TargetAcquisition.transform.localEulerAngles.y,0); Weapon.transform.localEulerAngles = new Vector3(TargetAcquisition.transform.localEulerAngles.x, 0,0); } /// <summary> /// Clampfunktion für eulerangles /// </summary> /// <param name="_angle"></param> /// <param name="_min"></param> /// <param name="_max"></param> /// <returns></returns> float ClampEulerAngle(float _angle, float _min, float _max) { float tempAngle = _angle; if(_angle < 180) { tempAngle = Mathf.Clamp(tempAngle,0,_max); } else { tempAngle = Mathf.Clamp(tempAngle, 360 - _min, 360); } return tempAngle; } } Hoffe es kann jemanden helfen.
  3. GelegenheitsProgrammierer

    Auto-Aim-Turret-Problem

    Hallo Leute, lange her das ich mich hier mal blicken lassen hab. Doch jetzt bäuchte ich mal wieder eure Hilfe. Das problem ist folgendes: Ich möchte gerne einen Auto-Aim-Turret haben(die überschrift verrät es ja schon). Dieser soll eine Reichweite haben, was ich mit einem Collider machen möchte und soll sich Ziele rauspicken die er dann anvisiert. Nun da ich hier erst mal nicht das Problem für mich sehe, interessiert und das erst mal nicht. Mein Tower ist wie folgt auf gebaut. Ich habe denTurm als model und dann noch die Kanone bzw die waffe. Die waffe ist ein Child von dem Turm. Soweit so gut. Nun möchte ich da der Turm ein einzelnes Testziel anvisiert. Ich hab das erst mal so gelöst. public float speed = 3.0f; GameObject m_target; Vector3 m_lastKnownPosition = Vector3.zero; Quaternion m_lookAtRotation; // Update is called once per frame void Update () { if(m_target){ if(m_lastKnownPosition != m_target.transform.position){ m_lastKnownPosition = m_target.transform.position; m_lookAtRotation = Quaternion.LookRotation(m_lastKnownPosition - transform.position); } if(transform.rotation != m_lookAtRotation){ transform.rotation = Quaternion.RotateTowards(transform.rotation, m_lookAtRotation, speed * Time.deltaTime); } } } War jetzt erst mal nicht so schwer. Nun wollte ich das der Turm sich nur auf der Y-axe gedreht wird und die Kanone auf der x-Axe. Auch das hab ih relativ unschön gelöst bekommen aber es mehr oder weniger genau geklappt. Doch dann bin ich weiter gegangen, denn ich will den Turret begrenzen, was den Drehwinkel angeht. Und genau da liegt jetzt mein Problem, den alles was ich ausprobiert. Ich hab mir gedacht das mit clamp zu tun doch bei Quaternion ist das so ne sache. Mir kommt es so vor das der Ansatz den ich gewählt habe für mein Problem nicht wirklich geignet ist. Meine Frage ist hättet ihr da ne mögliche Lösung oder andere Ansätze. Die ergebnisse meiner Google suche waren eher schwammig und führen auch nicht immer zum Ergebnis. Hoffe ich konnte mein Problem deutlich darstellen und ihr könnt mir weiterhelfen. Mit freundlichen Grüßen Gelegenheitsprogrammierer
  4. GelegenheitsProgrammierer

    Auto-Aim-Turret-Problem

    Ok danke werde ich mir gleich nach dem Essen anschauen. Sieht interessant aus
  5. GelegenheitsProgrammierer

    Neu in Unity, Feinde erzeugen, Feinde Schaden zufügen, Konstruktoren

    Hier noch ein paar Dinge die helfen könnten. Schau dir Mal Trigger an. Mit denen solltest du einfacher zurechtkommen um Feinde in der Nähe zu finden. Und getComponent sollte dir beim Zugriff auf deine Scripte dann helfen. Hoffe es hilft weiter
  6. GelegenheitsProgrammierer

    Das Material genau unter dem Raycast bekommen

    Hi Leute, ich hatte über Weihnachten ein bisle Zeit wieder, was zu programmieren. Nun hab ich folgendes Problem. Ich hab eine fliegende Insel mit verschiedenen Materials. Nun möchte ich Random verteilt auf dieser Insel Objekte plazieren wie Bäume etc. Wie auch immer, diese Punkte bekomme ich mit einem RaycastHit. Doch das Problem ist wie bekomme ich das Material von dem Hit. Hoffe ihr hab einen Lösungsansatz. Wenn ihr den Code haben wollt sagt bescheid. MFG Felix
  7. GelegenheitsProgrammierer

    Trigger und Damage

    Drücke mal in der Konsole clear, könnte sein das der noch die alten Fehlermeldungen drinnen hat. Oder schmeiß den alten kram aus dem Script raus wenn der noch nicht raus ist.
  8. GelegenheitsProgrammierer

    Trigger und Damage

    Ich weiß es gerde nicht komplet auswendig public void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Player")){ other.gameObject.GetComponent("PlayerHealth").TakeDamage(100); } Irgend wie so war das, wenn ich mich nicht irre
  9. GelegenheitsProgrammierer

    Trigger und Damage

    Wie wärs den wenn du über other die abfrage machst ob das der Spieler ist und ihm dann direkt über getComponent den Schaden reindrückst ? Und noch ne frage. Was genau soll das obere Script tun, also wenn das für ne Kugel ist die auf den Spieler trifft würde es nicht Sinn machen die OnTrigger funktion beim Spieler reinzubasteln ??
  10. GelegenheitsProgrammierer

    GameObjects kopieren

    prefab[i] = (GameObject)Instantiate(field, new Vector3(i * 2.0F, 0, 0), Quaternion.identity); prefab[i] = Instantiate(field, new Vector3(i * 2.0F, 0, 0), Quaternion.identity) as GameObject; versuch mal ein von den beiden dann sollte die Fehlermeldung verschwinden, wenn es die ist, an die ich denke.
  11. GelegenheitsProgrammierer

    GameObject platzieren

    Ich Schätze mal das das Script an den Objekten selber hängt ?
  12. GelegenheitsProgrammierer

    GameObject platzieren

    Naja mit erstellen meinst du natürlich das es dann an dem Ort platziert wird und nicht mehr von der Maus verschoben werden kann, war etwas unglücklich formuliert wenn du das meinst. Wenn du auf deinen Button drückt, erstelltst du ein Gameobject(ich nenn es jetzt einfach mal Cube ersatzweise). Dieser bekommt jedes Update die Position deiner Maus übermittelt. So das der Cube immer da ist wo deine Maus ist. Wenn du jetzt die Mouse los lässt mit GetMouseButtonUp(), musst du einfach in dein GameObject verweis in deinen Script "Null" schreiben. Bei dir wäre das gObject glaub ich also musst du einfach gObject = null; schreiben. Probier das mal. Was vielleicht auch helfen könnte ist das video Das sollte deinem Problem recht ähnlich kommen MFG GelegenheitsProgrammierer
  13. GelegenheitsProgrammierer

    Netzwerk Anfänger ratlos

    Dem würd ich aber auch zustimmen
  14. GelegenheitsProgrammierer

    Welche Pathfinding Lösung?

    In diesem Tutorial wird dir gezeigt wie du ein einfachen A* Algo schreibst und nutzt also, könntest du dir das Pathfinding selber basteln und dann auf deine anforderungen Optimieren.
  15. GelegenheitsProgrammierer

    C# Bücher für Einsteiger gesucht

    Das ist auch nicht übel
  16. GelegenheitsProgrammierer

    C# Bücher für Einsteiger gesucht

    http://www.thalia.de/shop/home/rubrikartikel/ID42842239.html?ProvID=11000522 Das hilft mir immer noch obwohl ich etwas fortgeschrittender bin, hab mir als einstieg sehr gut geholfen.
  17. GelegenheitsProgrammierer

    (3D) Waffen auf dem Raumschiff

    Ich glaube er meint das etwas anders. Mach doch für jede Waffe eine Script, in dem du über Methoden feuern kannst und die Waffe zu einer bestimmten Position auszurichten. Dann machst du ein weiteres Script, mit dem du Zielst und dann alle Waffen abfeuerst. Du erfasst die Position deines Ziels und übermittels diese dann an deine Waffen weiter und feuerst. Ich hoffe das hilft dir weiter. Ach ja ich weiß nicht was du mit .blend meinst aber wenn du Probleme hast die Modelle in Unity zu ziehen, versuchs mal mit dem fbx format.
  18. GelegenheitsProgrammierer

    Neu und gleich ne Fehlerfrage

    schreib mal transform.GetComponent<Transform>.position etc etc
  19. GelegenheitsProgrammierer

    Insider Dev Team

    Bei mir momentan nicht mehr zu viel um die Ohren
  20. GelegenheitsProgrammierer

    Insider Dev Team

    Ähm ich glaub wenn ich mich noch recht errinnern kann, sollte es ein endless 3rd Jump in run spiel werden. Was man zwischendurch aus seitenperspective spielen sollte. Dazu sollten noch kleine Rätsel kommen. Ich glaub das wars. Der Thread zum project war dieser Thread xD. Naja ich hoffe du hast Spaß damit was zu basteln und ein codesalat zu entschlüsseln xD. Wenn du fragen hast schreib mich an. Vielleich kann ich dir ja noch helfen.
  21. GelegenheitsProgrammierer

    Insider Dev Team

    So über diesen Link solltet ihr das ganze runterladen können. Falls nicht schreibt mir. https://www.dropbox.com/sh/3gunp5hdjuqj74h/AAAacy85nKdobXUf5uWPe0rpa?dl=0 Viel Spaß damit. MFG Felix PS: Ich hab mir da bei der Programmierung nicht viel mühe gegeben, also kommentare und so sollten nicht vorhanden sein soweit ich mit entsinne
  22. GelegenheitsProgrammierer

    Insider Dev Team

    Ich wollt die schon mal hochladen, ic verpeils nur immer. Ich setzt mich mal am Samstag ran, da hab ich dann auch einen ordentlichen upload.
  23. GelegenheitsProgrammierer

    Insider Dev Team

    Im Sande verlaufen
  24. GelegenheitsProgrammierer

    Unity 3D C#: Minecraft Klon Tutorial

    Vor allem ist es noch besser wenn du dann in den Videos auch erklärt warum das nicht gut ist oder warum etwas so nicht läuft und kann somit ein besseres Verständnis vermittelt werden.
  25. GelegenheitsProgrammierer

    Arbeitstitel "Tharos" *Mittelalterspiel

    Sieht echt gut aus. Bin erst jetzt auf dieses Project gestoßen, komt da noch was ?
×