Mkey Posted August 13 Report Share Posted August 13 Hallo, Ich arbeite gerade an einem 1st Person 3D Jump n Run Spiel. Ein Level aus gewöhnlichen würfeln hab ich schon zusammengestellt. Aber gerade wollte ich so etwas wie Einen Slime block in Minecraft erstellen. Also wenn der Player (der btw. hauptsächlich aus der First Person Vorlage von UNity kommt)diese Plattform berührt soll er hochkatapultiert werden.Und Ich habs letztens mit nem Physics Material versucht... Ich habe schon vieles Probiert und gesucht. Geklappt hat es allerdings nie... Anbei ein Paar Dateien : Die SprungPlattform, dessen Script, der Player... (hab nicht viel Erfahrung. Also bitte nicht schlagen) Quote Link to comment Share on other sites More sharing options...
Lewo Posted August 16 Report Share Posted August 16 Ich verstehe nicht so ganz, warum du das mit Material lösen willst. Ich nehme eine Plane und einen Player. Beide bringen einen Collider mit. Der Player bekommt einen Ridgidbody und den Tag Player. Die Plane bekommt das Script ... private void OnCollisionEnter(Collision collision) { if (collision.gameObject.CompareTag("Player")) { Rigidbody rB = collision.gameObject.GetComponent<Rigidbody>(); rB.AddForce(Vector3.up * 5, ForceMode.Impulse); } } WEnn ich das Spiel starte, hüpft der Player auf der Plane auf und ab Quote Link to comment Share on other sites More sharing options...
Mkey Posted August 17 Author Report Share Posted August 17 Also das Problem ist,dass der player nur einen Rigidbody script hat. Und wenn ich noch denn Standart-unity-Rigidbody hinzufüge kann men den Player nicht maehr normal steuern. Funktioniert, das denn auch mit dem Script-Rigidbody? Quote Link to comment Share on other sites More sharing options...
Lewo Posted August 17 Report Share Posted August 17 Was ist denn ein Script-Rigidbody? Ich kenne das tatsächlich nur so, dass das Player-GameObject eine Componente Rigidbidy bekommt. Wenn ich dann diese Componente ansprechen will hole ich sie mir mit GetConponent<Rigidbody>(). Steuerst Du deinen Player durch Änderung der Positionswerte, oder durch AddForce? Quote Link to comment Share on other sites More sharing options...
malzbie Posted August 18 Report Share Posted August 18 Hmm... Du musst dich noch ein wenig einlesen. Es ist alles nicht so einfach, wie man zuerst denkt. Ich will mal ein paar Dinge erklären: Unity hat eine Physik Engine, die hauptsächlich mit Collidern, Triggern, Raycasts und vorallem dem Rigidbody funktioniert. Der Rigidbody ist die Komponente, die einen Collider bewegen kann, mit anderen Collidern kollidiert, Trigger auslöst und alle Kräfte ( Reibung, Federung, Masse, Beschleunigung im Raum) erst ermöglicht. Der Character Controller (kurz CC) ist "kein" Bestandteil dieser Physik. Er macht zwar ähnliche Dinge, die Auswertung der Kräfte erfolgt aber ganz anders und ist auch unvollständig. Trotzdem kann der CC auch mit Collidern zusammenstoßen und Triggerevents auslösen. Er kann auch springen. Er kann aber nicht von irgendeinem Kollider abgestoßen werden, nur weil dieser Collider ein Gummimaterial hat. Es gibt eine Möglichkeit um mit einem CC auch von einem RB abgestoßen zu werden. Dafür musst du eine gewisse Option aktivieren: https://docs.unity3d.com/Packages/com.unity.charactercontroller@1.0/manual/dynamic-body-interaction.html?q=physical material Wie gut das funktioniert kann ich nicht sagen. Aber im Text steht ja schon, dass es zu einem kleinen Lag kommen kann. Ob die Eigenschaften eines physikalischen Materials richtig ausgewertet werden, weiss ich nicht. Übrigens: selbst wenn ein Collider kein phys. Material zugewisen bekommen hat, so hat er doch default Eigenschaften. Einen CC mit einem Rigidbody zu kombinieren, ist meines Wissens keine gute Lösung, weil dann 2 Dinge verknüpft werden, die sich gegenseitig stören. Ich muss aber gestehen, dass ich im Bezug auf den CC nicht mehr auf dem neuesten Stand bin. Quote Link to comment Share on other sites More sharing options...
Mkey Posted August 19 Author Report Share Posted August 19 Am 18.8.2023 um 10:12 schrieb malzbie: Vielen Dank, für eure hilfreichen Nachrichten! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.