例如,一個生成 Raycast 的相機,如果它擊中它會破壞一個物件。
public class RaycastScript : MonoBehaviour
{
void CheckForRaycastHit()
{
RaycastHit hit;
//if raycast hit
if(Physics.Raycast(transform.position, transform.forward, out hit))
{
print(hit.collider.gameObject.name " hit"); //print what object got hit
Destroy(hit.collider.gameObject); //destroy object
}
}
void Update()
{
//mouse controls camera
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
transform.Rotate(-mouseY, 0, 0);
transform.Rotate(0, mouseX, 0,Space.World);
CheckForRaycastHit();
}
}
我不想破壞我想禁用網格渲染器,所以物件是不可見的,但仍然存在。我一直在嘗試使用“.GetComponent()”,查看 Unity 檔案和其他一些東西,但我無法弄清楚。
uj5u.com熱心網友回復:
像下面這樣獲取網格渲染器:
var meshRenderer = hit.collider.GetComponent<MeshRenderer>();
if (meshRenderer) meshRenderer.enabled = false;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/475800.html