Collider Trigger 碰撞
目的:测试碰撞时触发的具体情况环境:建立两个Cube用于碰撞,对Cube添加刚体属性并取消重力。有必要的话也可以选择冻结或更改collider的size来增加结果的可见性。
脚本:
#pragma strict
var bool:boolean = true;
var enter_position:Vector3; // 用于记录OnTriggerEnter响应时刻obj的位置
function Update () {
if(bool && Input.GetKey(KeyCode.A))
this.transform.Translate(0,0,Time.deltaTime);
if(Input.GetKey(KeyCode.D))
this.transform.Translate(0,0,-Time.deltaTime);
if(Input.GetKey(KeyCode.P))
this.transform.position = enter_position;// 用于检测enter_position记录的位置
}
function OnTriggerEnter(){
enter_position = this.transform.position;
bool = false;
Debug.Log("TriggerEnter");
}
function OnTriggerStay(){
//this.transform.position = enter_position; // 无法实现矫正的设想
Debug.Log("TriggerStay");
}
结果:
问题:触发器并没有停在最表面;enter_position也没有记录下触发器停在最表面时刻的位置;多次进行结果有差别,但性质一样。
求教:1、出现这种现象的具体原因;2、有无解决办法;
可以把问题提炼下,最好不需要别人花时间去猜测你描述的内容 raomuqi@qq.com 发表于 2014-11-14 18:22 static/image/common/back.gif
可以把问题提炼下,最好不需要别人花时间去猜测你描述的内容
我需要的是有耐心的人来回答,而且这个问题相信多数人都遇到过.你如果能够阐释的清楚这种现象的底层原因,我依旧会感谢你! 真心顶 难得一见的好帖 说的非常好 很好哦 LZ真是人才 好帖就是要顶 真心顶
页:
[1]