MichaelPeter Geschrieben 13. April 2014 Melden Share Geschrieben 13. April 2014 Ich habe hier ein Script geschrieben das im Grunde meinen Spieler permanent verfolgt (Ich hatte Hilfe nebenbei). Aber es funktioniert nicht weil Unity folgendes Error anzeigt: Assets/Objecte/EnemyAI.js(13,59): BCE0044: unexpected char: 0xAD. Hier das Script: var target : Transform; var moveSpeed = 3; var rotationSpeed = 3; var myTransform : Transform; function Awake() { myTransform = transform; } function Start() { target = GameObject.FindWithTag ("Player").transfoÂrm; } function Update () { var lookDir = target.position - myTransform.position; lookDir.y = 0; myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(lookDir), rotationSpeed*Time.deltaTime); myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime; } Wisst ihr was falsch ist? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Erdnussknacker Geschrieben 13. April 2014 Melden Share Geschrieben 13. April 2014 Schreib die Zeile in der Start-Funktion nochmal neu. Irgendwo ist da ein unsichtbares Zeichen rein geraten. Sowas kommt davon, wenn man Code stumpf kopiert. Auch wenn man Hilfe hatte, den Code kann man trotzdem selbst abtippen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 13. April 2014 Autor Melden Share Geschrieben 13. April 2014 Schreib die Zeile in der Start-Funktion nochmal neu. Irgendwo ist da ein unsichtbares Zeichen rein geraten. Sowas kommt davon, wenn man Code stumpf kopiert. Das stimmt, dazu muss ich aber sagen das genau der Teil nicht von mir ist. Und "kopieren" ist so faulenzerisch ausgedrückt, es stimmt schon das ich den Teil mit den vielen Worten nicht selbst gemacht habe, aber es geht ja darum das man etwas versteht, und das tue ich, nur wie man es schreibt, weiß ich nicht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 13. April 2014 Autor Melden Share Geschrieben 13. April 2014 Ich habe es nochmal geschrieben, wieder der selbe Fehler. Meinst du mit unsichtbarem Zeichen ein Leerzeichen? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Erdnussknacker Geschrieben 13. April 2014 Melden Share Geschrieben 13. April 2014 Wo das Zeichen ist, weiß ich nicht genau. Kann sein. Ich hab die Zeile nochmal geschrieben und der Fehler war weg, also wird es daran gelegen haben. Kopier das hier mal (ausnahmsweise) und teste es: target = GameObject.FindWithTag("Player").transform; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 13. April 2014 Autor Melden Share Geschrieben 13. April 2014 Ok, es geht. Immer diese gekackten Schreibfehler ... Danke. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 13. April 2014 Autor Melden Share Geschrieben 13. April 2014 Jetzt habe ich das Problem mit dem Script selbst, das was sich zu mir bewegen soll, bleibt an einer Stelle hängen. Oder nur ganz langsam zu mir hin kommt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 13. April 2014 Melden Share Geschrieben 13. April 2014 Code? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 14. April 2014 Autor Melden Share Geschrieben 14. April 2014 Der Code steht oben. Aber hier ist erwieder korrigiert: var target : Transform; var moveSpeed = 3; var rotationSpeed = 3; var myTransform : Transform; function Awake() { myTransform = transform; } function Start() { target = GameObject.FindWithTag("Player").transform; } function Update () { var lookDir = target.position - myTransform.position; lookDir.y = 0; myTransform.rotation = Quaternion.Slerp(myTransform.rotation, Quaternion.LookRotation(lookDir), rotationSpeed*Time.deltaTime); myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime; } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 Ich sehe da 2 Mögliche Fehlerquellen: moveSpeed evtl ist im Inspektor auf 0 gesetzt Dein Script liegt auf dem "Player" GO Eventuell erwartet Quaternion.LookRotation einen Richtungsvector (normalisiert) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 14. April 2014 Autor Melden Share Geschrieben 14. April 2014 Was wäre die Lösung dafür? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 Kennst du die Ansprache in der GameShow von Billy Madison als Billy eine falsche Erklärung für eine Frage gab? Wie auch immer, die Lösung wäre einfach mal nachzudenken was mein Post aussagen soll. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 14. April 2014 Autor Melden Share Geschrieben 14. April 2014 Das habe ich, aber was ist ein GO? Und moveSpeed steht entweder auf drei oder wird nicht angezeigt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Helishcoffe Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 moveSpeed evtl ist im Inspektor auf 0 gesetzt Was wäre die Lösung dafür? Ohne Worte Eventuell erwartet Quaternion.LookRotation einen Richtungsvector (normalisiert) Soweit ich weiß ist das eigtl richtig. Er hat ja die relative Position angegeben Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Helishcoffe Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 GO = GameObject Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 14. April 2014 Autor Melden Share Geschrieben 14. April 2014 Achso, dann ist Player Also ein GameObjekt und kein Transform? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Schlumpf Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 jo http://docs.unity3d.com/Documentation/ScriptReference/Transform.html https://docs.unity3d.com/Documentation/ScriptReference/GameObject.html Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 14. April 2014 Autor Melden Share Geschrieben 14. April 2014 Nein, beide sind Trnsform. Aber warum ist das so dass der Gegner (in dem Fall ein Würfel) einfach hängen bleibt und rumbuggt wie ein Hochzeits Kuchen? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Helishcoffe Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 Alles ist ein GameObject und jedes GameObject hat die Transform Komponente. Also GameObject ist das Objekt selbst, und Transform die Komponente die für Räumliche Eigenschaften etc. zuständig ist. EDIT: Kam etwas zu spät Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 14. April 2014 Autor Melden Share Geschrieben 14. April 2014 Ich verstehe immernoch nicht was jetzt die Lösung sein soll. Das Script sollte doch eigentlich funktionieren. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Helishcoffe Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 Bewegt sich dein Objekt den ein bisschen? oder macht es irgendwas? vllt ein zucken oder so? Oder bleibt es starr stehen? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 14. April 2014 Autor Melden Share Geschrieben 14. April 2014 Nein es zuckt schon und bewegt sich auch, aber wirklich auff mich zu bewegt es sich nicht direkt, nur abnund zu. Aber wenn dann auchnnur so verbuggt und zuckennd wieimmer. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Helishcoffe Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 Wieso hast du denn lookdir.y auf 0 gesetzt? probier da mal ein wenig rum. Villeicht liegt auch da der Fehler. Oder du gibts deinem Object einen Sphere Collider oder Capsule Collider. ich tippe mal aufs 2. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MichaelPeter Geschrieben 14. April 2014 Autor Melden Share Geschrieben 14. April 2014 Einen Box Collider. Und einen Rigidboy. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Helishcoffe Geschrieben 14. April 2014 Melden Share Geschrieben 14. April 2014 Einen Box Collider. Und einen Rigidboy. Eben nicht. Gib ihm nen Sphere oder nen Capsule Collider. Und stell beim Rigidbody ein, dass alle Rotationen gefreezed werden sollen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.