饮梦 发表于 2014-11-12 17:14

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");

}
结果:

file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\781858308\QQ\WinTemp\RichOle\)$7GXZT300_SLOPG~T

问题:触发器并没有停在最表面;enter_position也没有记录下触发器停在最表面时刻的位置;多次进行结果有差别,但性质一样。
求教:1、出现这种现象的具体原因;2、有无解决办法;


奔跑的蜗牛 发表于 2017-4-27 15:41

好帖就是要顶

lbelis 发表于 2017-4-27 16:28

顶顶多好

bo255261 发表于 2017-4-27 16:14

难得一见的好帖

褚原峰 发表于 2017-4-27 15:58

说的非常好

瓦西里 发表于 2017-4-27 15:42

很好哦

fengsuo1314 发表于 2017-5-24 14:25

很不错

CryingRaven 发表于 2017-5-24 14:04

楼主是超人

2665651173 发表于 2017-5-24 13:39

好帖就是要顶

wacs1320 发表于 2017-5-24 13:52

顶顶多好
页: [1] 2 3 4 5 6 7 8
查看完整版本: Collider Trigger 碰撞