赞
踩
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材质、脚本都全了~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。