NonCoverPolygon.rar


使用Unity3D来进行凹多边形三角网剖分的代码,我在代码中使用了Vector3这个类,因此代码并不能脱离Unity3D框架来使用,当然作为参考可以。 这个例子对中国区域进行渲染,附赠了中国的边界数据。 工程名字和注释瞎写的,姑且一看吧。我把整个工程直接压缩后打包了。 对这个资源的详细说明,见博客 https://blog.csdn.net/kongxinyue/article/details/91128766
资源截图
代码片段和文件信息
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DrawRect
{
    MeshFilter meshfilter;
    private MeshRenderer meshrenderer;

    Gameobject go;

    Color meshColor = Color.red;
    public void SetMeshRenderColor(Color color)
    {
        meshColor = color;
    }
    void CreateMesh()
    {
        meshfilter = go.GetComponent();

        if(meshfilter == null)
            meshfilter = go.AddComponent();

        meshrenderer = go.GetComponent();

        if(meshrenderer == null)
            meshrenderer = go.AddComponent();

        if (meshfilter.mesh != null)
        {
            Mesh mesh = new Mesh();


            meshfilter.mesh = mesh;
        }
        meshrenderer.material.color = new Color(meshColor.r meshColor.g meshColor.b meshColor.a);//修改时间 2019/3/12
        meshrenderer.material.shader = Shader.Find(“Transparent/Diffuse“);
    }
   public void SetGameobject(Gameobject _go)
    {
        go = _go;
        CreateMesh();
    }
    public void setDataSource(List data)
    {
        List data3 = new List();

        foreach (Vector2 d in data)
            data3.Add(new Vector3(d.x d.y -1));

        setDataSource(data3);
    }

    public void setDataSource(List data)
    {
        meshfilter.mesh.Clear();
        meshfilter.mesh.SetVertices(data);

        int[] triangle = CreateTriangle(data);

        meshfilter.mesh.triangles = triangle;
    }


    public void setDataSource(List dataint[] triangles)
    {
        meshfilter.mesh.Clear();
        meshfilter.mesh.SetVertices(data);

        meshfilter.mesh.triangles = triangles;
    }
    int[]  CreateTriangle(List data)
    {
        int[] triangles = new int[3 * (data.Count - 2)];

        for (int i = 0; i < data.Count - 2; i++)
        {
            //这个算法好好琢磨一下吧~  
            triangles[3 * i] = 0;
            triangles[3 * i + 1] = i + 2;
            triangles[3 * i + 2] = i + 1;
        }
        return triangles;
    }
 }

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.    248320  2019-06-07 17:23  NonCoverPolygon.vsNonCoverPolygonv15.suo

     文件          0  2019-06-07 15:41  NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3db.lock

     文件     929792  2019-06-07 16:42  NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide

     文件      32768  2019-06-07 15:41  NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide-shm

     文件    4128272  2019-06-07 17:23  NonCoverPolygon.vsNonCoverPolygonv15Serversqlite3storage.ide-wal

     文件      43717  2019-06-07 15:40  NonCoverPolygonAssembly-CSharp.csproj

    I.A....     11882  2019-06-07 17:23  NonCoverPolygonAssetsScenesSampleScene.unity

     文件        155  2019-06-07 15:37  NonCoverPolygonAssetsScenesSampleScene.unity.meta

     文件        172  2019-06-07 15:37  NonCoverPolygonAssetsScenes.meta

     文件       2205  2019-06-05 23:06  NonCoverPolygonAssetsscriptDrawRect.cs

     文件        243  2019-06-07 15:40  NonCoverPolygonAssetsscriptDrawRect.cs.meta

     文件        786  2019-06-05 23:16  NonCoverPolygonAssetsscriptLoadData.cs

     文件        243  2019-06-07 15:39  NonCoverPolygonAssetsscriptLoadData.cs.meta

     文件        685  2019-06-04 06:22  NonCoverPolygonAssetsscriptMeshDrawbase.cs

     文件        243  2019-06-07 15:40  NonCoverPolygonAssetsscriptMeshDrawbase.cs.meta

     文件       3597  2019-06-07 17:10  NonCoverPolygonAssetsscriptPolygon.cs

     文件        243  2019-06-07 15:39  NonCoverPolygonAssetsscriptPolygon.cs.meta

     文件      13154  2019-06-07 17:10  NonCoverPolygonAssetsscriptTriangular.cs

     文件        243  2019-06-07 15:39  NonCoverPolygonAssetsscriptTriangular.cs.meta

     文件        172  2019-06-07 15:39  NonCoverPolygonAssetsscript.meta

     文件     183572  2019-06-07 17:11  NonCoverPolygonChina_1.at

     文件       4768  2019-06-07 17:11  NonCoverPolygonChina_2.at

     文件       1154  2019-06-07 17:11  NonCoverPolygonChina_3.at

     文件       6003  2019-06-07 17:11  NonCoverPolygonChina_4.at

    I.A....      4116  2019-06-07 15:37  NonCoverPolygonLibraryAnnotationManager

    I.A....   4209016  2019-06-07 17:23  NonCoverPolygonLibraryassetDatabase3

    I.A....        10  2019-06-07 15:37  NonCoverPolygonLibraryAssetImportState

    I.A....         0  2019-06-07 15:37  NonCoverPolygonLibraryBuildPlayer.prefs

    I.A....      4152  2019-06-07 15:37  NonCoverPolygonLibraryBuildSettings.asset

    I.A....     16048  2019-06-07 17:24  NonCoverPolygonLibraryCurrentLayout.dwlt

............此处省略2274个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)