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



我是Unity的新手,但我在Java方面有1.5年的经验。我理解大部分unityscript的内容,但我仍在努力弄清楚如何用第一人称从场景中拾取对象。这是我用来捡东西的东西,但我不知道如何告诉电脑该捡哪个物体,谢谢!

#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;
    }
}

一种方法是使用RaycastHit和Physics,同时设置与对象的最小距离,以便拾取对象。

RaycastHit-JS-Unity手动

最新更新