unity 脚本创建 MESH(网格)

本文介绍了如何在Unity中使用脚本创建Mesh,探讨了网格由顶点和面构成,并展示了三角形面的顺时针法则。通过示例代码,解释了不同视角下三角面的朝向变化,帮助理解Mesh的渲染原理。
摘要由CSDN通过智能技术生成

Unity 脚本创建 Mesh
网格由点面 , 组成 , 每个面是三个顶点构成
代码如下:

using UnityEngine;
using System.Collections;

public class mesh01 : MonoBehaviour {

    // Use this for initialization
    void Start () {
        CreatePlane ();
    }

    // Update is called once per frame
    void Update () {

    }

    void  CreatePlane(){
        GameObject plane = new GameObject ();
        plane.name  = "plane";
        //  添加组件
        MeshFilter mfilter =plane.AddComponent<MeshFilter> ();
        MeshRenderer render =   plane.AddComponent<MeshRenderer> ();
        // 添加默认的材质
        render.material=new Material(Shader.Find("Diffuse"));
        //mfilter.mesh  = new Mesh ();
        Mesh mesh = mfilter.mesh;
        //  设置三个顶点
        mesh .vertices = new Vector3[] {
            new Vector3 (0, 0, 0),
            new Vector3 (0<
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您的问题是如何制作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组件的方法。希望能对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值