我有一个脚本可以让游戏对象在某个高度移动,例如200。 在地形上我有另一个游戏对象。我希望当他开始进入另一个游戏对象区域时移动的第一个游戏对象做一些事情。
喜欢
void OnTriggerEnter(Collider other)
{
if (other.gameObject.name == "Base")
{
}
}
但这不起作用,因为变换和“基础”之间没有物理碰撞。变换高度为200。
我也尝试过使用Raycast命中。 在脚本的顶部我添加了:
Collider col;
然后在更新
中 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (col.Raycast(ray, out hit, 100.0F))
{
Debug.Log("Hit !");
}
但转变再次在空中。 这个想法是在变换开始进入基地区域后做一些事情。
答案 0 :(得分:4)
实现这一目标的简单方法:
Box Collider
个组件(isTrigger
设置为true
)使用以下代码将脚本附加到移动的游戏对象:
using UnityEngine;
public class CheckBaseCollider : MonoBehaviour {
public GameObject baseCollider;
private void OnTriggerEnter(Collider other) {
if (other.gameObject == baseCollider) {
Debug.Log("Entered");
}
}
}
你很高兴。