gpt4 book ai didi

c# - 如何使用光线转换访问不同对象的 "mesh renderer"?

转载 作者:行者123 更新时间:2023-12-05 04:29:37 28 4
gpt4 key购买 nike

例如,一个产生光线转换的相机,如果它击中它就会破坏一个物体。

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 文档和其他一些东西,但我无法弄明白。

最佳答案

像下面这样获取网格渲染器:

var meshRenderer = hit.collider.GetComponent<MeshRenderer>();

if (meshRenderer) meshRenderer.enabled = false;

关于c# - 如何使用光线转换访问不同对象的 "mesh renderer"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72263244/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com