找回密码
 立即注册
楼主: 饮梦

[常见问题] Collider Trigger 碰撞

[复制链接]
发表于 2014-11-12 17:20 | 显示全部楼层 |阅读模式
目的:测试碰撞时触发的具体情况
环境:建立两个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、有无解决办法;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2014-11-14 18:22 | 显示全部楼层
可以把问题提炼下,最好不需要别人花时间去猜测你描述的内容

点评

我需要的是有耐心的人来回答,而且这个问题相信多数人都遇到过.你如果能够阐释的清楚这种现象的底层原因,我依旧会感谢你!  详情 回复 发表于 2014-11-16 09:46
 楼主| 发表于 2014-11-16 09:46 | 显示全部楼层
raomuqi@qq.com 发表于 2014-11-14 18:22
可以把问题提炼下,最好不需要别人花时间去猜测你描述的内容

我需要的是有耐心的人来回答,而且这个问题相信多数人都遇到过.你如果能够阐释的清楚这种现象的底层原因,我依旧会感谢你!
发表于 2017-3-27 13:53 | 显示全部楼层
真心顶
发表于 2017-3-27 14:13 | 显示全部楼层
难得一见的好帖
发表于 2017-3-27 14:34 | 显示全部楼层
说的非常好
发表于 2017-3-27 14:29 | 显示全部楼层
很好哦
发表于 2017-3-27 14:18 | 显示全部楼层
LZ真是人才
发表于 2017-5-29 10:51 | 显示全部楼层
好帖就是要顶
发表于 2017-5-29 10:24 | 显示全部楼层
真心顶
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-15 10:03 , Processed in 0.111696 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表