Raycast 统一击中游戏对象
Raycast hit game object in unity
我在unity中创建了一个3d主菜单,每个按钮都是一个立方体。
我允许用户通过光线投射点击按钮,问题是
我想在光线投射在立方体上时更改立方体颜色,并在光线投射退出立方体时将其转换回原始颜色。
我正在使用 c#,我读到了 "OnMouseEnter" 和 "OnMouseExit" - 我没有使用鼠标,而是使用游戏控制器 (Razer Hydra)。
如何在光线投射中模拟 OnMouseEnter 和 OnMouseExit?
根据我的理解,您想在立方体上进行光线投射并更改其颜色,然后在光标或光线投射未击中它时将其改回原来的颜色,我建议您在不使用 mouseEnter 和 mouseExit 的情况下使用此逻辑。
RaycastHit命中;
void Update () {
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit)) {
if (hit.collider.tag == "cube"){
//Change color here
}
}else {
// Change back to prvious color.
}
}
我在unity中创建了一个3d主菜单,每个按钮都是一个立方体。 我允许用户通过光线投射点击按钮,问题是 我想在光线投射在立方体上时更改立方体颜色,并在光线投射退出立方体时将其转换回原始颜色。 我正在使用 c#,我读到了 "OnMouseEnter" 和 "OnMouseExit" - 我没有使用鼠标,而是使用游戏控制器 (Razer Hydra)。 如何在光线投射中模拟 OnMouseEnter 和 OnMouseExit?
根据我的理解,您想在立方体上进行光线投射并更改其颜色,然后在光标或光线投射未击中它时将其改回原来的颜色,我建议您在不使用 mouseEnter 和 mouseExit 的情况下使用此逻辑。
RaycastHit命中;
void Update () {
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit)) {
if (hit.collider.tag == "cube"){
//Change color here
}
}else {
// Change back to prvious color.
} }