选择要在鼠标悬停时拾取的对象

时间:2013-07-29 16:30:43

标签: unity3d unityscript

我是Unity的新手,但我有1.5年的Java经验。我理解大部分的统一内容,但我仍然想弄清楚如何从第一人称的场景中拾取一个物体。以下是我的选择,但我不知道如何告诉计算机要拿起哪个对象,谢谢!

#pragma strict

function Start () {

}

var SpawnTo : Transform; 
var Object1 : Transform; 
var dist = 4;
private var isHolding = false;
function Update () {
    if(Input.GetKeyDown(KeyCode.E)){
        if(Vector3.Distance(transform.position, Object1.position) < dist){
            isHolding = !isHolding;
        }
    }
if(isHolding == true){
    Object1.rigidbody.useGravity = false; 
    Object1.parent = SpawnTo;
    Object1.transform.position = SpawnTo.transform.position;
    Object1.transform.rotation = SpawnTo.transform.rotation;
}else{
    SpawnTo.transform.DetachChildren();
    Object1.rigidbody.useGravity = true;
    }
}

1 个答案:

答案 0 :(得分:0)

这样做的一种方法是使用RaycastHit和Physics,同时设置与对象的最小距离,以便可以选择它。

RaycastHit - JS - Unity Manual