unity-网格编程07

举报
LittleU 发表于 2022/01/14 21:23:32 2022/01/14
【摘要】 这里呢,我们需要对于顶点的重用,那么对于顶点的重用,就必须要删除一些顶点,在这里有两个顶点是相同的,所以我们要删除它,与顶点对于的normal,uv等也需要修改,还好修改的不多.using System.Collections;using System.Collections.Generic;using UnityEngine;[RequireComponent(typeof(MeshFil...

这里呢,我们需要对于顶点的重用,那么对于顶点的重用,就必须要删除一些顶点,在这里有两个顶点是相同的,所以我们要删除它,与顶点对于的normal,uv等也需要修改,还好修改的不多.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(MeshFilter),typeof(MeshRenderer))]
public class SimpleProceduralMesh : MonoBehaviour
{
    private void OnEnable()
    {
        //var mesh = new Mesh();
        //mesh.name = "Procedural Mesh";
        var mesh = new Mesh()
        {
            name = "Procedural Mesh",
        };

        mesh.vertices = new Vector3[] {

            Vector3.zero,
            Vector3.right,
            Vector3.up,
            new Vector3(1f,1f),
        };
        mesh.triangles = new int[] {
            
            0,2,1,1,2,3
        };

        mesh.normals = new Vector3[] {
            Vector3.back,
            Vector3.back,
            Vector3.back,
            Vector3.back, 
        };

        mesh.uv = new Vector2[] {
            Vector2.zero,
            Vector2.right,
            Vector2.up, 
            Vector2.one
        };

        mesh.tangents = new Vector4[] {
            new  Vector4(1,0,0,-1),
            new  Vector4(1,0,0,-1),
            new  Vector4(1,0,0,-1),
            new  Vector4(1,0,0,-1), 
        };

        GetComponent<MeshFilter>().mesh = mesh;
    
    }
}

修改完毕之后,与之前的效果一样

base-map.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。