unity Mesh绘制网格线

绘制网格线
using System.Collections.Generic;
using UnityEngine; public class GridMesh : MonoBehaviour { // Use this for initialization
void Start () {
GameObject obj = new GameObject("cube");
MeshFilter mf = obj.AddComponent<MeshFilter>();
MeshRenderer mr = obj.AddComponent<MeshRenderer>();
mr.sharedMaterial = Resources.Load<Material>("Mat1"); Vector3[] ptsArr1 = new Vector3[5];
ptsArr1[0].Set(0.0f, 0.0f, 0.0f);
ptsArr1[1].Set(0.0f, 1.0f, 0.0f);
ptsArr1[2].Set(1.0f, 1.0f, 0.0f);
ptsArr1[3].Set(1.0f, 0.0f, 0.0f);
ptsArr1[4].Set(0.0f, 0.0f, 0.0f); Vector3[] ptsArr2 = new Vector3[6];
ptsArr2[0].Set(2.0f, 0.0f, 0.0f);
ptsArr2[1].Set(2.0f, 1.0f, 0.0f);
ptsArr2[2].Set(3.0f, 1.0f, 0.0f);
ptsArr2[3].Set(3.0f, 0.0f, 0.0f);
ptsArr2[4].Set(2.0f, 0.0f, 0.0f); List<int> indices1 = new List<int>();
CalIndices(ptsArr1, 0, indices1); List<int> indices2 = new List<int>();
CalIndices(ptsArr2, ptsArr1.Length, indices2); List<int> indicesTotal = new List<int>();
indicesTotal.AddRange(indices1);
indicesTotal.AddRange(indices2); List<Vector3> ptsTotal = new List<Vector3>();
ptsTotal.AddRange(ptsArr1);
ptsTotal.AddRange(ptsArr2); mf.mesh.vertices = ptsTotal.ToArray();
mf.mesh.SetIndices(indicesTotal.ToArray(), MeshTopology.Lines, 0);
} void CalIndices(Vector3[] ptsArr, int startIndex, List<int> indiceArr)
{
//int[] indiceArr1 = new int[2 * ptsArr.Length];
int k = 0;
for (int i = startIndex; i < startIndex + ptsArr.Length - 1; i++)
{
indiceArr.Add(i);
indiceArr.Add(i+1);
} indiceArr.Add(startIndex + ptsArr.Length - 1);
indiceArr.Add(startIndex);
}
}
参考:https://blog.csdn.net/zouxin_88/article/details/82962521
unity Mesh绘制网格线的更多相关文章
- [Unity]利用Mesh绘制简单的可被遮挡,可以探测的攻击指示器
最近做一个小游戏的Demo,最终的效果是这样的 主要是利用Mesh绘制三角形作为显示,然后使用后处理来制作探灯,注意,性能一般,仅仅适合小游戏 分为3步 1:利用mesh绘制三角形,原理很简单,利用三 ...
- Unity Mesh 初体验
什么是Mesh Mesh是Unity中的一个组件,称为网格组件.通俗的讲,Mesh是指模型的网格,3D模型是由多边形拼接而成,而一个复杂的多边形,实际上是由多个三角面拼接而成.所以一个3D模型的表面是 ...
- 在Unity中使用UGUI修改Mesh绘制几何图形
在商店看到这样一个例子,表示很有兴趣,他们说是用UGUI做的.我想,像这种可以随便变形的图形,我第一个就想到了网格变形. 做法1: 细心的朋友应该会发现,每个UGUI可见元素,都有一个‘Canvas ...
- Unity动态构建mesh绘制多边形算法流程分析和实践
前言 先说一下,写这篇博文的动机,原文的博主代码写的十分潇洒,以至于代码说明和注释都没有,最近恰逢看到,所以以此博文来分析其中的算法和流程 参考博文:https://blog.csdn.net/lin ...
- Mesh绘制雷达图(UGUI)
参考资料:http://www.cnblogs.com/jeason1997/p/5130413.html ** 描述:雷达图 刷新 radarDate.SetVerticesDirty(); usi ...
- 初识Unity Mesh
Mesh概念:Mesh是Unity中的一个组件,称为网格组件.通俗的讲,Mesh是指模型的网格,3D模型是由多边形拼接而成,而多边形实际上是由多个三角形拼接而成的.所以一个3D模型的表面其实是由多个彼 ...
- 定义自己的布局RelativeLayout
绘制网格线
在Android画线必须由一个载体,无论是控制,无论是布局.实际上它们是从继承View.由画线的方式自己的控制或布局的定义是最常见的. 以下是在其定义中的小样本实现RelativeLayout绘制网络 ...
- Unity 网格 绘制
网格绘制主要用是对Mesh进行操作,通过对vertex和triangles进行操作生成对应的面片: 这里首先得用到一个类:Triangulator(根据vertex生成triangles数组) usi ...
- unity, mesh Collider
关闭mesh Renderer以便查看mesh Collider "For Unity 5, we must also select "Convex" on the Me ...
- Unity mesh 合并
簡介: 基本上就是把 很多物體結合成一個物體 的作法,這種做法有很多優點,例如:1. 提高效能2. 統一材質 (只要建立一個材質,就能控制.分配給所有物體)3. 動畫控制方便 (像是你要在 Unity ...
随机推荐
- 仿EXCEL插件,智表ZCELL产品V3.0 版本发布,底层采用canvas全部重构,功能大幅扩展,性能极致提升,满足千万级单元格加载
本次更新是底层全部重构,按照现代浏览器要求,采用canvas方式进行了重构,预留了将来扩展空间,特别是在大数据量性能提升方面有了较大提升,可以满足千万级单元格加载,欢迎大家体验使用. 体验地址:zce ...
- 树-BST基本实现
之前的数组, 栈, 链表, 队列等都是顺序数据结构, 这里来介绍一个非顺序数据结构, 树. 树在处理有层级相关的数据时非常有用, 还有在存储数据如数据库查询实现等场景也是高频使用. 作为一种分层数据的 ...
- vault
目录 Vault使用场景 数据加密 访问控制 有时间限制的访问 灾备恢复 基于身份(Identity)的安全性 人类和机器认证 静态和动态secrets的Secrets engines Install ...
- Python单元测试标准库unittest简单学习
1.背景 当需要测试较为复杂的module,class或者系统的功能时,如果一个一个的去测试就会显得很麻烦,如果每项测试又有一定的配置或者设置的话,比如每个测试都要新建一个对象之类的,那就更麻烦了.单 ...
- 聊一聊 .NET在Linux下的IO多路复用select和epoll
一:背景 1. 讲故事 在windows平台上,相信很多人都知道.NET异步机制是借助了Windows自带的 IO完成端口 实现的异步交互,那在 Linux 下.NET 又是怎么玩的呢?主要还是传统的 ...
- AI大模型应用开发入门-LangChain开发RAG增强检索生成
检索增强生成(RAG)是一种结合"向量检索"与"大语言模型"的技术路线,能在问答.摘要.文档分析等场景中大幅提升准确性与上下文利用率. 本文将基于 LangCh ...
- 高效安全迁移:PG高可用集群实战方案深度解析
PostgreSQL是一个开源的数据库管理系统,相比于其他开源数据库系统,PostgreSQL有更加丰富的数据类型和可扩展性,并因此被广泛采用.在实际工作中,若企业业务需求变动,则有可能面临PG高可用 ...
- 数栈技术分享:OTS数据迁移——我们不生产数据,我们是大数据的搬运工
数栈是云原生-站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变 ...
- Java源码分析系列笔记-9.CountDownLatch
目录 1. 是什么 2. 如何使用 2.1. CountDownLatch VS CyclicBarrier 3. uml 4. 构造方法 4.1. Sync[AQS子类] 5. countDown方 ...
- DotTrace系列:6. 程序异常诊断 和 Request慢处理
一:背景 1. 讲故事 在我分析的众多dump中,有一些CPU爆高是因为高频的抛 Exception 导致,比如下面这张图,有 19 个线程都在抛 xxxResultException 异常. 从卦中 ...