Unity中Mesh多种网格绘制模式使用方法参考
Unity中MeshFilter中的Mesh默认情况下使用MeshTopology.Trigangles类型绘制网格,就是通常的绘制三角形网格,实际上Mesh有五种绘制模式,对应MeshTopology的枚举,分别是
| Triangles | 网格由三角形构成。 |
| Quads | 网格由四边形构成。 |
| Lines | 网格由线条构成。 |
| LineStrip | 网格是线条带。 |
| Points | 网格由点构成。 |
这里以Lines和Quads为例说明Trigangles方式之外的绘制方式。
效果如下:

参考代码如下:
using System.Collections.Generic;
using UnityEngine;public class LineMeshTest : MonoBehaviour
{[SerializeField]Material material;void Start(){GameObject circle = new GameObject("Circle");circle.transform.SetParent(transform);circle.transform.localPosition = new Vector3(-5, 0, 0);MeshFilter filterCircle = circle.AddComponent<MeshFilter>();Mesh meshCircle = GetCircleMesh(2);filterCircle.mesh = meshCircle;MeshRenderer renderCircle = circle.AddComponent<MeshRenderer>();renderCircle.material = material;GameObject quad = new GameObject("Quad");quad.transform.SetParent(transform);quad.transform.localPosition = new Vector3(5, 0, 0);MeshFilter filterQuad = quad.AddComponent<MeshFilter>();Mesh meshQuad = GetQuadMesh(5);filterQuad.mesh = meshQuad;MeshRenderer rendeQuad = quad.AddComponent<MeshRenderer>();rendeQuad.material = material;}Mesh GetCircleMesh(float radius){List<Vector3> vertexList = new();List<int> indexList = new List<int>();float radDelta = Mathf.PI / 36;for (float i = 0; i < 72f; i++){float rad = radDelta * i;Vector3 vert = new(radius * Mathf.Cos(rad), radius * Mathf.Sin(rad), 0);vertexList.Add(vert);}indexList.Add(0);for (int i = 1; i < 72; i++){indexList.Add(i);indexList.Add(i);}indexList.Add(0);Mesh mesh = new();mesh.SetVertices(vertexList);mesh.SetIndices(indexList.ToArray(), MeshTopology.Lines, 0);return mesh;}Mesh GetQuadMesh(float size){float s = size * 0.5f;Vector3[] vertices = new[] { new Vector3(s, s, 0), new Vector3(s, -s, 0), new Vector3(-s, -s, 0), new Vector3(-s, s, 0) };int[] indices = new[] { 0, 1, 2, 3 };Mesh mesh = new Mesh();mesh.SetVertices(vertices);mesh.SetIndices(indices, MeshTopology.Quads, 0);return mesh;}
}
这个例子里面使用Mesh绘制了一个圆形线条,注意这两行语句:
mesh.SetIndices(indexList.ToArray(), MeshTopology.Lines, 0);
mesh.SetIndices(indices, MeshTopology.Quads, 0);
相关文章:
Unity中Mesh多种网格绘制模式使用方法参考
Unity中MeshFilter中的Mesh默认情况下使用MeshTopology.Trigangles类型绘制网格,就是通常的绘制三角形网格,实际上Mesh有五种绘制模式,对应MeshTopology的枚举,分别是 Triangles网格由三角形构成。Quads网格由四边形构成。Lines网…...
【Spring Security】基于SpringBoot3.3.4版本②如何配置免鉴权Path
基于Spring Boot 3.3.4,详细说明Spring Security 6.3.3的使用 摘要本地开发环境说明SecurityFilterChain介绍application.ymlWen3SecurityProperties.java修改DemoWen3Security修改SecurityFilterChainIgnoredPathController.javaIgnoredPathController2.java启动工程测试测试…...
信息学奥赛复赛复习11-CSP-J2020-04方格取数-动态规划、斐波那契数列、最优子结构、重叠子问题、无后效性
PDF文档回复:20241004 1 P7074 [CSP-J2020] 方格取数 [题目描述] 设有 nm 的方格图,每个方格中都有一个整数。现有一只小熊,想从图的左上角走到右下角,每一步只能向上、向下或向右走一格,并且不能重复经过已经走过的方格&#x…...
Hive数仓操作(十二)
一、Hive 中的行列转换 1. 行转列: collect_list() collect_list() 函数用于将一个列中的数据收集成一个数组。 示例数据文件 假设有一个名为 orders.txt 的文件,内容如下: 1,101 1,101 1,103 2,104 2,105导入数据到 Hive 表 首先&…...
计算机毕业设计 基于SpringBoot和Vue的课程教学平台的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...
有状态(Session) VS 无状态(Token)
目录 概念 JWT Token在项目中使用 概念 有状态和无状态服务是两种不同的服务架构,两者的不同之处在于对于服务状态的处理。 1、有状态服务 是指程序在执行过程中生成的中间数据,服务器端一般都要保存请求的相关信息,每个请求可以默认地使…...
天坑!Spark+Hive+Paimon+Dolphinscheduler
背景: 数据中台项目使用Spark+Hive+Paimon做湖仓底层,调度任务使用的是基于Dolphinscheduler进行二开。在做离线脚本任务开发时,在Paimon库下执行非查询类SQL报错。 INSERT报错 DELETE报错 现状: 原始逻辑为数据中台中选择的Paimon数据源,实际上在Dolphinscheduler中是…...
JAVA——IO框架
目录 一、框架 二、导入框架步骤 三、测试 一、框架 框架就是为了解决某类问题,编写的一套类、接口等。大多数框架都是第三方研发的 好处: 在框架的基础上开发,提高开发效率 框架的形式:一般是把类、接口编译成class形式,再…...
项目管理系统如何实现项目申报流程自动化?
传统的项目申报流程往往繁琐复杂,涉及众多环节和部门间的协作,不仅耗时费力,还容易因人为疏忽而导致错误或延误。随着信息技术的飞速发展,项目管理系统的出现为项目申报流程的自动化提供了可能,极大地提升了申报效率和…...
ndb9300public-ndb2excel简介
1 引言 ndb9300是一个自己定义的机载导航数据库劳作(不敢称为项目)代号,其中3表示是第3种数据库。 多年前,对在役民航客机中的某型机载导航数据库的二进制文件进行分析,弄明白它的数据结构后做了几个工具,…...
C++:const成员
const修饰成员变量,要在初始化列表中进行初始化。 const修饰成员函数,要放在函数后,称为常函数。常函数不能修改普通成员变量。 const修饰的对象,称为常对象。常对象不能修改普通成员变量,只能读取。 常对象只能使用…...
基于ROS的激光雷达点云物体检测
环境 RTX 2060(后面关于算力) ubuntu 18.04 ROS melodic (ubuntu 18.04安装ROS melodic可以参看我这篇文章ubuntu 18.04安装ROS系统) CUDA 10.0 cudnn 7.6.5 caffe cmake 3.18.0(不能低于3.12.2) opencv 3…...
大模型训练环境搭建
硬件资源说明 本教程基于GPU 3090的服务器 资源类型 型号 核心指标 CPU Intel(R) Xeon(R) Bronze 3204 CPU 1.90GHz 12核 内存 / 125Gi GPU NVIDIA GeForce RTX 3090 24G显存 注意:接下来的部分命令需要使用科学上网,需要事先配置好。 安…...
使用Java调用GeoTools实现全球国家矢量数据入库实战
目录 前言 一、相关数据介绍 1、无空间参考的数据 2、有空间参考的数据 3、空间信息表物理模型 二、全球国家空间数据入库 1、后台实体类图 2、后台实体对象关键代码 三、时空数据入库实践 1、读取无空间参考数据 2、入库成果及注意事项 四、总结 前言 在当今世界&…...
计算机毕业设计 基于Python的广东旅游数据分析系统的设计与实现 Python+Django+Vue Python爬虫 附源码 讲解 文档
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
Springboo通过http请求下载文件到服务器
这个方法将直接处理从URL下载数据并将其保存到文件的整个过程。下面是一个这样的方法示例: import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection…...
使用CSS实现酷炫加载
使用CSS实现酷炫加载 效果展示 整体页面布局 <div class"container"></div>使用JavaScript添加loading加载动画的元素 document.addEventListener("DOMContentLoaded", () > {let container document.querySelector(".container&q…...
【STM32-HAL库】AHT10温湿度传感器使用(STM32F407ZGT6配置i2c)(附带工程下载连接)
一、温湿度传感器: 温湿度传感器是一种能够检测环境中的温度和湿度,并将其转化为电信号输出的装置。它在智能家居、工业自动化、气象监测、农业等领域有着广泛的应用。 原理: 温湿度传感器通常基于不同的物理原理,以下是一些常见…...
深入理解网络通信: 长连接、短连接与WebSocket
在现代网络应用开发中,选择合适的通信方式对于应用的性能、效率和用户体验至关重要。本文将深入探讨三种常见的网络通信方式:长连接、短连接和WebSocket,分析它们的特点、区别以及适用场景。 1. 短连接 © ivwdcwso (ID: u012172506) 1.1 定义 短连接是指客户端和服务器…...
Linux·环境变量与进程地址空间
1. 命令行参数 各位可能见过main函数也是有参数的,只是我们平时写的代码都比较简单,用不到main函数的参数,下面我们看一下main函数的参数是什么又是怎么用的 我们看这样一段代码 其编译运行后的效果是这样的 我们将main函数后面的那两个参数叫…...
一天一个开源项目(第61篇):knowledge_graph - 把任意文本转成知识图谱
引言 “Convert any text to a graph of knowledge. Graph Retrieval Augmented Generation (GRAG) — a new and improved version of RAG.” 这是「一天一个开源项目」系列的第 61 篇文章。今天介绍的项目是 knowledge_graph(GitHub)。 想把文档、PDF…...
GPEN老照片修复案例:增强前后对比,效果直观展示
GPEN老照片修复案例:增强前后对比,效果直观展示 1. 引言:老照片修复的痛点与解决方案 翻开泛黄的相册,那些承载着珍贵记忆的老照片往往因为年代久远而变得模糊、褪色甚至破损。传统的手工修复不仅耗时耗力,还需要专业…...
SEM优化和SEO优化的成本是多少_SEM优化和SEO优化的未来展望如何
SEM优化和SEO优化的成本是多少 在当今数字化营销的时代,SEM(搜索引擎营销)和SEO(搜索引擎优化)已经成为企业获取在线流量的两大关键手段。许多企业在投入这些优化策略时,往往会对其成本产生疑虑。本文将深…...
OrangepiZERO3驱动USB摄像头的记录
关于orangepiZERO3的官方文档: http://www.orangepi.cn/orangepiwiki/index.php/Orange_Pi_Zero_3 按照里面有关的步骤进行操作,但是可能会有一点小问题,特此记录一下 第一步和第二步一致,不多说。 第三步: 我的命令…...
Tencent Hunyuan3D-1.0模型蒸馏实践:从std版本压缩出移动端可用的轻量模型
Tencent Hunyuan3D-1.0模型蒸馏实践:从std版本压缩出移动端可用的轻量模型 【免费下载链接】Hunyuan3D-1 腾讯开源的Hunyuan3D-1项目,创新提出两阶段3D生成方法,实现快速、高质量的文本到3D和图像到3D转换,融合Hunyuan-DiT模型&am…...
React Overdrive与Next.js集成:构建流畅页面过渡
React Overdrive与Next.js集成:构建流畅页面过渡 【免费下载链接】react-overdrive Super easy magic-move transitions for React apps 项目地址: https://gitcode.com/gh_mirrors/re/react-overdrive React Overdrive是一款为React应用提供超简单魔法移动过…...
保姆级教学:用星图AI云平台快速搭建Clawdbot,让Qwen3-VL:30B接入飞书
保姆级教学:用星图AI云平台快速搭建Clawdbot,让Qwen3-VL:30B接入飞书 1. 为什么选择本地部署多模态办公助手? 在日常办公中,我们经常遇到需要处理图片和文字的场景: 同事发来的产品截图需要快速分析内容会议白板照片…...
OpenClaw调试进阶:百川2-13B-4bits量化模型响应日志分析
OpenClaw调试进阶:百川2-13B-4bits量化模型响应日志分析 1. 为什么需要关注模型响应日志 上周我在用OpenClaw对接百川2-13B-4bits量化模型时,遇到了一个奇怪的现象:自动化任务执行到一半突然中断,控制台只显示"模型响应异常…...
Visium HD空转实战:Space Ranger v4.0.1从安装到结果解读全流程
1. Visium HD与Space Ranger初探 第一次接触Visium HD技术时,我被它强大的空间转录组分析能力震撼到了。简单来说,这项技术能让我们在组织切片上精确到单个细胞的位置,同时获取它们的基因表达数据。想象一下,这就像给组织样本拍了…...
Pixel Aurora Engine应用场景:独立开发者低成本构建像素IP资产库
Pixel Aurora Engine应用场景:独立开发者低成本构建像素IP资产库 1. 像素艺术创作新纪元 在游戏开发领域,像素艺术始终保持着独特的魅力。从早期的《超级马里奥》到现代的《星露谷物语》,像素风格游戏凭借其怀旧感和艺术表现力,…...
