Pixorzist Geschrieben 27. Februar 2013 Melden Share Geschrieben 27. Februar 2013 moin , da ich ja mit meiner bunkertestplattform nicht zufrieden bin habe ich mal nach anleitung ein fahrstuhl gebastelt. http://xc0d3.com/unity/elevator/ die problematik die besteht: rauf gehts wunderbar geschmeidig .. supi! runter ruckelts und dauert doch ne zeit länger. woran könnte das liegen? hier mal der code elevatorup.js var Player: Transform; var Elevator: Transform; var to: Vector3; var from: Vector3; var elespeed: int=5; var boolswitch: updown; var delay: int=2; function OnTriggerStay(other: Collider){ boolswitch = FindObjectOfType (updown); if (boolswitch.eleswitch == 1){ if (Elevator.transform.position.y < to.y) { Player.parent = Elevator; Elevator.transform.Translate(Vector3.up * Time.deltaTime * elespeed); } } } elevatordown.js var Player: Transform; var Elevator: Transform; var to: Vector3; var from: Vector3; var elespeed: int=5; var boolswitch: updown; var delay: int=2; function OnTriggerStay(other: Collider){ boolswitch = FindObjectOfType (updown); if (boolswitch.eleswitch == 2){ if (Elevator.transform.position.y > to.y) { Player.parent = Elevator; Elevator.transform.Translate(Vector3.down * Time.deltaTime * elespeed); } } } übersehe ich da was ganz wichtiges? grüße pixi Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xenes Geschrieben 27. Februar 2013 Melden Share Geschrieben 27. Februar 2013 Probiers mal mit FixedUpdate() und Time.fixedDeltaTime - bei mir hilfts. Malzbie hat dazu auch irgendwo ein Tutorial verfasst. Dein Code gefällt mir aber nicht so Warum nicht eine Klasse mit der einen oder anderen boolschen Variable? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Pixorzist Geschrieben 27. Februar 2013 Autor Melden Share Geschrieben 27. Februar 2013 zum glück ist das nicht mein code das war ein youtube tutorial und das hab ich erstmal 1zu1 übernommen um überhaupt zu verstehen wie was warum funzt. ich bau das aber gerade um so wie ich das meine danke für die tipps da werd ich mich mal reinlesen! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xenes Geschrieben 28. Februar 2013 Melden Share Geschrieben 28. Februar 2013 Hab da mal was zusammengebastelt, vlt als orientierung? Würd mich mal interessieren obs b ei dir ruckelt using UnityEngine; using System.Collections; public class Aufzug : MonoBehaviour { //musste halt deine werte zuweisen, oder noch besser über transform.position zuweisen public Vector3 oben = new Vector3(0,5,2); public Vector3 unten = new Vector3(0,0,2); public bool Fahrelos; bool NachOben; void OnTriggerEnter (Collider other) { //musst den Player natürlich als Player taggen; Vergleich weil sonst jeder Collider den Trigegr auslösen könnte if(other.transform.CompareTag("Player")){ NachOben = !NachOben; Fahrelos = true; } } void FixedUpdate () { if(Fahrelos){ if(NachOben){ transform.Translate(new Vector3 (0,Time.fixedDeltaTime,0)); ChekPos(); } else { transform.Translate(new Vector3 (0,-Time.fixedDeltaTime,0)); ChekPos(); } } } void ChekPos() { if(transform.position.y > oben.y || transform.position.y < unten.y){ Fahrelos = false; } } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Usche Geschrieben 1. März 2013 Melden Share Geschrieben 1. März 2013 Ich mag mich irren, aber wird beim "Runterfahren" das OnTriggerEnter/Stay event nicht ständig "unterbrochen" ausgelöst, da der Fahrstuhl nen Stück nach unten fährt, die Hitbox vom Rigidbody den Kontakt verliert, dann die gravity den Player nach unten drückt, wodurch er wieder den Fahrstuhl berührt und das Event auslöst, da aber die ? Auch halte ich es für nicht vorteilhaft, den Player wie oben gleich als Child dem Fahrstuhl zuzuweisen, da sich ja der Player durchaus unabhängig vom Fahrstuhl bewegen kann (z.b Rausspringen). Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xenes Geschrieben 2. März 2013 Melden Share Geschrieben 2. März 2013 Ich mag mich irren, aber wird beim "Runterfahren" das OnTriggerEnter/Stay event nicht ständig "unterbrochen" ausgelöst, da der Fahrstuhl nen Stück nach unten fährt, die Hitbox vom Rigidbody den Kontakt verliert, dann die gravity den Player nach unten drückt, wodurch er wieder den Fahrstuhl berührt und das Event auslöst, da aber die ? Du irrst Auch halte ich es für nicht vorteilhaft, den Player wie oben gleich als Child dem Fahrstuhl zuzuweisen, da sich ja der Player durchaus unabhängig vom Fahrstuhl bewegen kann (z.b Rausspringen). Ist er auch nicht 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.