我是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手动