我正试图建立一个接近警报系统,但我遇到了一些麻烦。
为了尽可能地简化事情:
我在一个场景中有两个游戏对象(Object1和Object2)。Object1有一个大的子对象(是Object1或Object2的两倍),它没有网格渲染器,但是有一个对撞机(勾选了Is触发器框)。对象2有一个刚体组件。
当Object1与object 2‘S刚体重叠时,Object1上的脚本应该将它接近的对象的名称放到一个帧上,直到Object1移动。
我的代码如下:
public Collider objectCollidedWith;
void OnTriggerStay(Collider other)
{
objectCollidedWith = other.transform.GetComponent<Collider>();
}
void Update()
{
Debug.Log(objectCollidedWith);
}
不幸的是,我的设置不起作用。控制台只显示"null“,一旦帧和对象接近,就不会改变这一点。
你能告诉我我做错了什么吗?
非常感谢你抽出时间。
发布于 2019-03-19 08:55:30
如果脚本位于object1上,并且触发器位于子脚本上,那么除非在object1上设置刚体,否则脚本不会出现气泡。没有刚体的对撞机,只向对撞机所在的gameObject广播碰撞消息。对撞机与刚体在其父母的任何地方,将广播信息给游戏对象,刚体是开着的。
https://gamedev.stackexchange.com/questions/169145
复制相似问题