我是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;
}
}
答案 0 :(得分:0)
这样做的一种方法是使用RaycastHit和Physics,同时设置与对象的最小距离,以便可以选择它。