1110309 隱藏物體
by 黃國哲 2022-03-09 00:58:58, 回應(0), 人氣(658)
用C則是
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class 隱藏script : MonoBehaviour
{
public GameObject Target ;
public Component[] meshs; //meshs 可以替換成自己想要的名稱
void Start()
{}
// Update is called once per frame
void Update()
{}
//此程式功能為將物件的Renderer渲染器隱藏,而不是將整個物件SetActive關閉
public void 點擊隱藏I() //點擊第一次會隱藏,再點一次會顯示
{
print("YES"); //成功點擊到物品會顯示出YES的文字
this.GetComponent<Renderer>().enabled = !this.GetComponent<Renderer>().enabled ;
//將 !this.GetComponent<Remderer>().enabled改成 =True或 =False可以變成只顯示或隱藏
}
public void 點擊隱藏II() //點擊第一次會隱藏,再點一次會顯示
{
print("YES"); //成功點擊到物品會顯示出YES的文字
this.GetComponent<MeshRenderer>().enabled = !this.GetComponent<MeshRenderer>().enabled ; //將 !this.GetComponent<MeshRenderer>().enabled改成 =True或 =False可以變成只顯示或隱藏
}
//如果要隱藏的Renderer很多,可以用下列的GetComponentsInChildren指令
public void 點擊隱藏III() //點擊第一次會包含子物件一起隱藏,再點一次會一起顯示
{
print("YES"); //成功點擊到物品會顯示出YES的文字
meshs = GetComponentsInChildren<Renderer>();
foreach (Renderer joint in meshs)
joint.enabled = !joint.enabled ;
//將!joint.enabled改成 =True或 =False可以變成只顯示或隱藏
}
}
隱藏renderer可以指隱藏外型,碰撞保留仍可以點
回應