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

kevios105

Members
  • Content count

    10
  • Joined

  • Last visited

Community Reputation

0 Neutral

About kevios105

  • Rank
    Member
  1. Follower und zu gleich Attacker wenn Enemy in Nähe

    Erst einmal vielen Lieben DANK!!! nun versteh ich das ganze auch etwas besser wie es funktioniert! Ein Problem bleibt aber und zwar das der Begleiter am Anfang zum Spieler hin läuft, bewegt sich der Spieler aber weg bleibt der Begleiter an der Stelle und spielt nur die Animation "Walk" ab. Auch Routiert der Begleiter nicht zum Spieler sondern hält die Richtung bei. Könntest du mir bitte hierbei noch einmal helfen? Den Rest bekomme ich hoffentlich dann selbst noch alles hin... PS: bin wirklich fleißig am lernen von C# ... les mir im moment einfach alles durch was ich in die finger bekomme! ///EDIT ICH HABS!!!! DANKE DANKE
  2. Follower und zu gleich Attacker wenn Enemy in Nähe

    Also ich gebe echt mein bestes bin aber echt am verzweifeln ich benutze das Addon Invector und es klappt rein gar nichts >.< bitte kann mir jemand mal helfen ... Hier mein bisheriger Code: using UnityEngine; using System.Collections; using UnityStandardAssets.CrossPlatformInput; using System; using Invector.EventSystems; public class PetfollowerAttack1 : MonoBehaviour { public Transform Player; public float rotationSpeed = 3; //speed of turning public GameObject Follower; public float distance = 1.3f; public float followDistance = 1.4f; public bool isNotDead = true; bool stopped = false; public GameObject territory; GameObject Enemy; private Transform myTransform; private UnityEngine.AI.NavMeshAgent agent; //current transform data of this enemy void Awake() { myTransform = transform; //cache transform data for easy access/preformance } void Start() { agent = GetComponent<UnityEngine.AI.NavMeshAgent>(); Enemy = GameObject.FindGameObjectWithTag("Enemy"); } void Update () { if(isNotDead){ //rotate to look at the player var distance = Vector3.Distance(Player.position, myTransform.position) ; if (distance < followDistance) { stopped = true; GetComponent<Animator>().Play("Idle"); } else{ //move towards the player stopped = false; agent.SetDestination(Player.position); GetComponent<Animator>().Play("Walk"); myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(Player.position - myTransform.position), rotationSpeed*Time.deltaTime); } } } void OnTriggerEnter (Collider other) { var distance = Vector3.Distance(Enemy, myTransform.position) ; if (other.gameObject.tag == Enemy) { agent.SetDestination(Enemy); GetComponent<Animator>().Play("Walk"); myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(Enemy - myTransform.position), rotationSpeed*Time.deltaTime); } void ApplyDamage (){ vIDamageReceiver ISerializationCallbackReceiver = Follower.GetComponent<vIDamageReceiver>(); if (receiver != null) receiver.TakeDamage(45); } } void OnTriggerExit (Collider other) { if (other.gameObject.tag == Enemy) { agent.SetDestination(Player.position); GetComponent<Animator>().Play("Walk"); myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(Player.position - myTransform.position), rotationSpeed*Time.deltaTime); } } } Ich wäre bei jeder Hilfe euch soooo dermaßen Dankbar!!!
  3. Hallo ich hab folgende frage und zwar wie mache ich das am besten mit meinem vorhanden Script das wenn ein Enemy bzw. Gegner in die Nähe von meinem Follower kommt, ein Follower automatisch diesen Gegner angreift und sobald dieser Tot ist wieder meinem Player folgt oder aber auch wenn mein Player weg läuft (also eine gewisse Distanz zu Follower und Player entsteht), der Follower sich automatisch dazu entscheidet dem Player wieder zufolgen... Ich bin ziemlich neu in Unity und C# deshalb weiß ich ehrlich gesagt nicht einmal wo ich ansetzen könnte schon allein wegen dem abwiegen von Prioitäten von Player zu Gegner ... Dann hatte ich überlegt das ganze mit einem SphereCollider zu lösen, aber habe hier dann erfahren das wenn ich irgendwann mal mehrere Follower habe es ganz schön Laggen könnte usw und das dies keine gute Lösung wäre... Ist das richtig? Ich hoffe ich konnte mein Problem einigermaßen gut beschreiben und es wäre wirklich toll wenn mir da jemand helfen könnte, da ich schon in anderen Foren zuvor dieses Problem beschrieben hatte und keinerlei Hilfe bekommen habe Hier mein vorhandenes Script bisher: using UnityEngine; using System.Collections; using UnityStandardAssets.CrossPlatformInput; using System; public class Petfollower : MonoBehaviour { public Transform Player; public float rotationSpeed = 3; //speed of turning public GameObject Follower; public float distance = 1.3f; public float followDistance = 1.4f; public bool isNotDead = true; bool stopped = false; private Transform myTransform; private UnityEngine.AI.NavMeshAgent agent; //current transform data of this enemy void Awake() { myTransform = transform; //cache transform data for easy access/preformance } void Start() { agent = GetComponent<UnityEngine.AI.NavMeshAgent>(); } void Update () { if(isNotDead){ //rotate to look at the player var distance = Vector3.Distance(Player.position, myTransform.position) ; if (distance < followDistance) { stopped = true; GetComponent<Animator>().Play("Idle"); } else{ //move towards the player stopped = false; agent.SetDestination(Player.position); GetComponent<Animator>().Play("Walk"); myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(Player.position - myTransform.position), rotationSpeed*Time.deltaTime); } } } } Bitte helft mir das wäre so wundervoll und ich könnte meine Kopfschmerzen endlich beseitigen
  4. JS zu C++

    Okay hab es nun hinbekommen vielen lieben Dank noch einmal für den schnellen Support!!!
  5. JS zu C++

    Erst einmal vielen lieben dank ihr seit echt der Wahnsinn *-* Hab nun einen Problem und zwar: (40,4): error CS0103: The name `Froze' does not exist in the current context gibt es einen "Ersatz" für "Froze" ? Froze stand dafür das er stehen bleiben soll quasi...
  6. JS zu C++

    Ehrlich? vielen vielen lieben dank! Also ich finde das Forum hier wirklich klasse man bekommt so schnell eine Antwort!!!
  7. JS zu C++

    Hallo, ich hab da einmal eine Frage und zwar könnte mir jemand ein Script von JS zu C++ machen? Oder mir zumindest dabei helfen? Ich hab große Schwierigkeiten es in C++ umzuschreiben und wenn mir jemand dies machen könnte bzw. mir helfen könnte (ich nehme an das dies auch nicht all zu schwer wäre für ein geübten C++ Programmierer), wäre ich: 1. sehr sehr Dankbar und 2. könnte ich dann die Codes vergleichen und daraus lernen. Ich möchte hier nicht meine "Arbeit" auf andere ablagern also bitte nicht falsch verstehen. Das Script funktioniert wunderbar in JS aber damit ich es weiterverarbeiten kann mit Invector und den anderen Addons bzw. Assets wäre es schon sehr sinnvoll es in C++ zu haben. Ich bin Beginner aber gebe mein bestes alles irgendwie alleine hinzubekommen, da dies mir auch am meisten Spaß macht für ein Problem eine Lösung zu finden und ich habe mir mit dem JS Script viel mühe gegeben nur komme ich jetzt nicht mehr weiter da ich es in C++ bräuchte wie bereits erwähnt. var Player : Transform; var rotationSpeed = 3; //speed of turning var myTransform : Transform; var ragdoll : GameObject; var agent : UnityEngine.AI.NavMeshAgent;//current transform data of this enemy var isNotDead : boolean = true; var distance : float = 3.0f; var followDistance : float = 10f; function Awake() { myTransform = transform; //cache transform data for easy access/preformance } function Start() { agent = GetComponent.<UnityEngine.AI.NavMeshAgent>(); } function Update () { if(isNotDead){ //rotate to look at the player var distance = Vector3.Distance(Player.position, myTransform.position) ; if (distance < followDistance) { Froze = true; GetComponent.<Animator>().Play("Idle"); } else{ //move towards the player Froze = false; agent.SetDestination(Player.position); GetComponent.<Animator>().Play("Walk"); myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(Player.position - myTransform.position), rotationSpeed*Time.deltaTime); } } } Ich kann es nachvollziehen wenn es niemand dem annehmen will ... =/
  8. Feste Distanz zum Player einstellen

    Konnte das ganze nun Lösung mit Froze = true; aber vielen Dank für deine schnelle Hilfe!
  9. Feste Distanz zum Player einstellen

    Vielen Dank erst einmal für die schnell Antwort! Ich habe es natürlich gleich ausprobiert leider bekomme ich nun diesen Fehler in der Console angezeigt: Assets/Petfollow.js(39,17): BCE0005: Unknown identifier: 'NavMeshAgent'. Ich schätze mal das ich NavMeshAgent erst definieren muss? Wenn ja wie? // Edit habe das nun so versucht UnityEngine.AI.NavMeshAgent anstatt das NavMeshAgent und nun bekomme ich zwar keinen Fehler direkt angezeigt in der Console aber das "Pet" folgt mir nun auch nicht mehr egal was für eine Distanzgröße ich eingebe, wenn ich ihm aber dann zu nahe komme, bekomme ich folgenden Fehler in der Console angezeigt MissingFieldException: UnityEngine.AI.NavMeshAgent.isStopped Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.FindExtension (IEnumerable`1 candidates) Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.Create (SetOrGet gos) Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.CreateSetter () Boo.Lang.Runtime.RuntimeServices.DoCreatePropSetDispatcher (System.Object target, System.Type type, System.String name, System.Object value) Boo.Lang.Runtime.RuntimeServices.CreatePropSetDispatcher (System.Object target, System.String name, System.Object value) Boo.Lang.Runtime.RuntimeServices+<SetProperty>c__AnonStorey19.<>m__F () Boo.Lang.Runtime.DynamicDispatching.DispatcherCache.Get (Boo.Lang.Runtime.DynamicDispatching.DispatcherKey key, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory) Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type[] cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory) Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object[] args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory) Boo.Lang.Runtime.RuntimeServices.SetProperty (System.Object target, System.String name, System.Object value) Petfollow.Update () (at Assets/Petfollow.js:39) Bin da jetzt total überfordert um ehrlich zu sein mit dem Fehler o.O
  10. Feste Distanz zum Player einstellen

    Hallo erst einmal, ich bin ziemlich neu in Unity und habe hier ein Script wo ich einfach nicht eine feste Distanz zwischen Follower und Player hinbekomme... Das Script soll folgendes einfach machen: Player folgen und eine gewisse Distanz zum Spieler immer einhalten und wenn der Player sich nicht bewegt soll der "Follower" automatisch in die "Idle" Animation gehen und nicht weiter laufen bis der Player sich wieder bewegt... Ganz am ende soll es ein "Follower Pet" sein bzw. ein Begleiter der aber auch Gegner die sich in einer gewissen Distanz befinden automatisch attackieren. Aber soweit komme ich gerade noch nicht wegen eben dieser Distanz... Ich bin wirklich sehr neu in Unity und in C++ sowie JS aber ich gebe mein bestes aber ich bin echt am verzweifeln >.< Wenn mir einer bitte helfen könnte wäre ich sehr dankbar und natürlich würde ich mich auch freuen wenn jemand das mit dem Automatischen Attackieren wenn ein Gegner in Range ist auch mir zeigen könnte aber das ist kein "muss" ... ich werde es auch selbst irgendwie dann hinbekommen (hoffe ich doch ^^)... Vielen dank für jede Hilfe! hier das Script was ich bisher habe: var Player : Transform; var moveSpeed = 3; //move speed var rotationSpeed = 3; //speed of turning var myTransform : Transform; var ragdoll : GameObject; var agent : UnityEngine.AI.NavMeshAgent;//current transform data of this enemy var isNotDead : boolean = true; var health : float = 100; var distance : float = 3.0f; function Awake() { myTransform = transform; //cache transform data for easy access/preformance } function Start() { agent = GetComponent.<UnityEngine.AI.NavMeshAgent>(); } function Update () { if(health < 1){ isNotDead = false; Destroy(gameObject); Instantiate (ragdoll, myTransform.position, myTransform.rotation); } if(isNotDead){ //rotate to look at the player var distance = Vector3.Distance(Player.position, myTransform.position) ; if (distance < 1.0f) { GetComponent.<Animator>().Play("Idle"); } else{ //move towards the player agent.SetDestination(Player.position); GetComponent.<Animator>().Play("Walk"); myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(Player.position - myTransform.position), rotationSpeed*Time.deltaTime); } } } function OnTriggerEnter(collider : Collider) { if(collider.tag == "Player") { GetComponent.<Animator>().Play("sound"); GetComponent.<AudioSource>().Play(); yield WaitForSeconds (2); Player = GameObject.FindWithTag("Player").transform; } } function ApplyDamage(dmg : float){ health -= 20; }
×