2016-06-15 8 views
0

Ich habe eine einfache Protokolldatei mit Javascript erstellt, dass mit diesem Skript die erste Person Charakter in der Lage sein, Objekte aufzunehmen und sie an einen anderen Ort verschieben. Aber manchmal sind die Objekte in der Luft! Zum Beispiel in diesem Bild können Sie das Objekt sehen, das ist ein Zylinder über dem Boden positioniert ist ...Wie Gravitation hinzufügen Objekte in Unity

enter image description here

So, wie die Einstellungen auf Objekte einstellen, dass sie auf den Boden gestellt werden muss? Ich meine, wenn ein Benutzer ein Objekt aufhob und selbst wenn er das Objekt in den Himmel hob, sollte das Objekt aufgrund von Schwerkraft fallen und auf den Boden fallen.

Hier ist der JS-Code, die ich hinzugefügt haben:

//Jimmy Vegas Unity Tutorial 
//This script will allow you to pick up and move objects 


var target : Transform; 


function Update() { 

} 

function OnMouseDown() { 

    this.transform.position = target.position; 
    this.transform.parent = GameObject.Find("FPSController").transform; 
    this.transform.parent = GameObject.Find("FirstPersonCharacter").transform; 

} 


function OnMouseUp() { 

    this.transform.parent = GameObject.Find("FPSController").transform; 
    this.transform.parent = null; 

} 
+0

Nicht gut, um Ihre Frage zu löschen, wenn gute Antwort zur Verfügung gestellt wird. Es ist eine schlechte Art, Hilfe zu bekommen. – Programmer

Antwort

0

Wenn Sie Ihren GameObjects wollen durch die Schwerkraft beeinflusst werden Sie auf die Schwerkraft eine Rigidbody und biegen befestigen können.

Noch eine Bemerkung: Sie haben unnötigen Code in dem von Ihnen bereitgestellten Snippet. In OnMouseDown überschreibt die zweite Zuweisung von this.transform.parent die erste, so dass Sie die erste auslassen können. Gleiches gilt für OnMouseUp.

Verwandte Themen