OK,上面已经创建了一个Mesh,我们就用Main.cs来代码创建GameObject。
一般是shader附着在Material Material附着在Mesh上。
但是Mesh我们已经生成了,很难用代码得到生成的结果,只好拖入面板中,再将拖入面板的GameObject托给Main.cs
OK,看Main.cs的主代码
using UnityEngine; using System.Collections; using UnityEditor; public class Main : MonoBehaviour { // 创建SimpleMesh之后实例化的值 拖入 public GameObject meshObject; // Use this for initialization void Awake () { createMesh(); } // 创建MeshObject void createMesh() { GameObject simpleMesh = new GameObject(); // 定义对象名为 Water simpleMesh.name = "Water"; // 添加MeshFilter simpleMesh.AddComponent<MeshFilter>(); // 添加MeshRenderer simpleMesh.AddComponent<MeshRenderer>(); // 将新建的SimpleMesh赋值给新GameObject simpleMesh.GetComponent<MeshFilter>().mesh = meshObject.GetComponent<MeshFilter>().mesh; // 创建shader为VertexColor的Material Material simpleMaterial = new Material(Shader.Find("Custom/VertexColor")); // 加入SimpleMaterial simpleMesh.GetComponent<MeshRenderer>().material = simpleMaterial; // 加入脚本 simpleMesh.AddComponent<WaterScript>(); } }
此图仅说明此GameObject材质、脚本都全了~~
原文:http://blog.csdn.net/lihuozhiling0101/article/details/43453751