unity3d Mesh mesh; MeshRenderer meshRenderer; MeshFilter meshFilter; 制作baseMash脚本,meshRenderer 使用default
时间: 2024-02-20 08:59:01 浏览: 116
unity3d 一些常用的脚本
5星 · 资源好评率100%
好的,您的问题是如何制作baseMesh脚本,并且在其中使用默认的MeshRenderer组件?
首先,在Unity中创建一个C#脚本文件,命名为baseMesh。
然后,在脚本中定义一个Mesh类型的变量,命名为mesh:
```csharp
Mesh mesh;
```
接下来,定义一个MeshRenderer类型的变量,命名为meshRenderer,并使用默认的构造函数来初始化它:
```csharp
MeshRenderer meshRenderer = new MeshRenderer();
```
注意,这里不需要使用GetComponent()函数来获取MeshRenderer组件,因为我们使用的是默认的构造函数,所以该组件已经自动添加到了游戏对象上。
最后,定义一个MeshFilter类型的变量,命名为meshFilter,并使用默认的构造函数来初始化它:
```csharp
MeshFilter meshFilter = new MeshFilter();
```
同样地,这里也不需要使用GetComponent()函数来获取MeshFilter组件。
完整的baseMesh脚本代码应该是这样的:
```csharp
using UnityEngine;
public class baseMesh : MonoBehaviour
{
Mesh mesh;
MeshRenderer meshRenderer = new MeshRenderer();
MeshFilter meshFilter = new MeshFilter();
// Start is called before the first frame update
void Start()
{
// TODO: 在这里初始化mesh变量,生成一个新的网格
meshFilter.mesh = mesh;
gameObject.AddComponent<MeshFilter>();
meshRenderer.material = new Material(Shader.Find("Standard"));
gameObject.AddComponent<MeshRenderer>();
}
// Update is called once per frame
void Update()
{
}
}
```
在Start()函数中,我们将mesh变量赋值给meshFilter组件的mesh属性,并使用AddComponent()函数向游戏对象添加MeshFilter和MeshRenderer组件。注意,我们还为MeshRenderer组件创建了一个新的材质,并将其赋值给了meshRenderer的material属性。
以上就是制作baseMesh脚本,并且使用默认的MeshRenderer组件的方法。希望能对您有所帮助!
阅读全文