如何在Unity中选择拾取对象的重力

时间:2016-06-15 07:21:39

标签: javascript unity3d

我用Javascript创建了一个简单的日志文件,通过这个脚本,第一个人物角色能够拾取对象并将它们移动到另一个地方。但问题是有时物体被放置在空中!例如,在这张图片中,你可以看到一个圆柱体的物体位于地面上......

enter image description here

那么如何调整必须放置在地面上的物体的设置呢? 我的意思是,如果用户拿起一个物体,即使他将物体放在天空中,物体也会因重力而掉落并放在地面上。

这是我添加的JS代码:

    //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;

}

1 个答案:

答案 0 :(得分:0)

如果您希望GameObjects受重力影响,可以附加Rigidbody并启用重力。

另一个评论:您提供的代码段中包含不必要的代码。在OnMouseDown中,this.transform.parent的第二个分配会覆盖第一个分配,因此您可以将第一个分配出去。这同样适用于OnMouseUp