Unity 动态生成mesh圆圈

2023-10-29

 

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))]
public class yuan : MonoBehaviour
{
	public float Radius = 0.01f;          //外半径  
	public float innerRadius = 0.008f;     //内半径
	public float angleDegree = 0;   //扇形或扇面的角度
	public int Segments = 60;         //分割数  
	public int lastTime = 10;

	private MeshFilter meshFilter;

	void Start()
	{
		meshFilter = GetComponent<MeshFilter>();

	}

	void Update()
	{


		meshFilter.mesh = CreateMesh(Radius, innerRadius, angleDegree, Segments);
		if (angleDegree > 360) {

			System.Threading.Thread.Sleep(2000);

			angleDegree = 0;
		}
		angleDegree += 10;


	}




	Mesh CreateMesh(float radius, float innerradius,float angledegree,int segments)
	{
		//vertices(顶点):
		int vertices_count = segments* 2+2;              //因为vertices(顶点)的个数与triangles(索引三角形顶点数)必须匹配
		Vector3[] vertices = new Vector3[vertices_count];       
		float angleRad = Mathf.Deg2Rad * angledegree;
		float angleCur = angleRad;
		float angledelta = angleRad / segments;
		for(int i=0;i< vertices_count; i+=2)
		{
			float cosA = Mathf.Cos(angleCur);
			float sinA = Mathf.Sin(angleCur);

			vertices[i] = new Vector3(radius * cosA, 0, radius * sinA);
			vertices[i + 1] = new Vector3(innerradius * cosA, 0, innerradius * sinA);
			angleCur -= angledelta;
		}

		//triangles:
		int triangle_count = segments * 6;
		int[] triangles = new int[triangle_count];
		for(int i=0,vi=0;i<triangle_count;i+=6,vi+=2)   
		{
			triangles[i] = vi;
			triangles[i + 1] = vi+3;
			triangles[i + 2] = vi + 1;
			triangles[i + 3] =vi+2;
			triangles[i + 4] =vi+3;
			triangles[i + 5] =vi;
		}

		//uv:
		Vector2[] uvs = new Vector2[vertices_count];
		for (int i = 0; i < vertices_count; i++)
		{
			uvs[i] = new Vector2(vertices[i].x / radius / 2 + 0.5f, vertices[i].z / radius / 2 + 0.5f);
		}

		//负载属性与mesh
		Mesh mesh = new Mesh();
		mesh.vertices = vertices;
		mesh.triangles = triangles;
		mesh.uv = uvs;
		return mesh;
	}
}

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity 动态生成mesh圆圈 的相关文章

  • Typora文本颜色设置

    Typora文本颜色设置 前言 方法一 使用markdown语法的内联公式 设置颜色 文本颜色设置公式 常用的颜色公式代码表 效果预览 方法二 使用html代码 设置颜色 文本颜色设置公式 颜色代码 方法三 借助第三方软件AutoHotKe
  • 数据库之SqlSessionTemplate源码解析

    前言 在普遍的JAVA WEB项目的实际业务处理中 最终都是通过SqlSessionTemplate执行数据库的CURD操作 本文结合mybatis源码 对SqlSessionTemplate进行详细的介绍 SqlSessionTempla
  • 【微信小程序】微信小程序怎么让tabbar右上角的红点动起来,闪烁红点。

    1 需要用到两个API分别是wx showTabBarRedDot 和wx hideTabBarRedDot wx showTabBarRedDot 显示 tabBar 某一项的右上角的红点 wx hideTabBarRedDot 隐藏 t
  • ERC20接口下USDT代币的深入解析

    ERC20代币合约规则简介 ERC20 是各个代币的标准接口 ERC20 代币仅仅是以太坊代币的子集 为了充分兼容 ERC20 开发者需要将一组特定的函数 接口 集成到他们的智能合约中 以便在高层面能够执行这些操作 获得代币总供应量 获得账
  • Hbase存储方式

    Hbase概念 HBase是一个分布式的 面向列的数据库它介于nosql和RDBMS之间 仅能通过主键 row key 和主键的range来检索数据 仅支持单行事务 可通过hive支持来实现多表join等复杂操作 主要用来存储非结构化和半结
  • do{}while(0)的用法

    这几天在看代码的时候遇到了一个好像很神奇的用法 do while 0 do while 1 我能理解 就是一直循环 然后在循环体内设置跳出条件 或者干脆就不跳出 那do while 0 是干嘛的呢 在内部也改变不了循环条件 然后执行一次就结
  • 测试-1-基础篇

    基础概念 一 相关概念 1 软件测试 2 软件测试和研发的区别 3 软件开发的生命周期 4 需求 5 什么是 BUG 6 什么是测试用例 二 开发模型 1 瀑布模型 2 螺旋模型 3 增量模型 4 迭代模型 5 敏捷开发 三 测试模型 1
  • usb的pid和vid

    根据USB 规范的规定 所有的USB设备都有供应商ID VID 和产品识别码 PID 主机通过不同的VID和PID来区别不同的设备 VID和PID都是两个字节长 其中 供应商ID VID 由供应商向USB执行论坛申请 每个供应商的VID是唯
  • 【课程作业经验】盘古α模型数据集生成以及训练初始化问题解决方案

    盘古模型代码及指导 models Models of MindSpore Gitee com 环境 华为云ModelArts Ascend 8 Ascend 910 Mindspore 1 5 1 PyTorch 1 8 一 盘古数据集生成
  • 前后端中的异步和事件机制

    前言 在前后端程序设计开发工作中 小伙伴们一定都接触过事件 异步这些概念 出现这些概念的原因之一是 我们的代码在执行过程中所涉及的逻辑在不同的场合下执行时间的期望是各不相同的 为了尽量做到充分利用CPU等资源做尽可能多的事 免不了通过异步和
  • 处理跨域问题

    1 vue hr2 1234567890 gitee com 2 画图 整个的登录流程 3 画图解释 vue cli的proxy代理解决跨域问题 4 cookie和localStorage区别 存储大小 cookie 一般不超过4K 因为每
  • 毕业设计-基于街景影像中行人车辆检测方法 -YOLO

    目录 前言 课题背景和意义 实现技术思路 一 方法理论 二 试验与分析 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目
  • 特征变换:特征归一化(Normalization)作用以及方法 Min-Max、Z-Score

    为什么需要对特征数据进行归一化 1 在基于梯度下降的算法中 使用特征归一化方法将特征统一量纲 能够提高模型收敛速度和最终的模型精度 1 如上图所示 黄色的圈圈图代表的是两个特征的等高线 其中左图两个特征 X1 和 X2 的区间相差非常大 X
  • Element UI input输入框实现模糊查询

    Element UI的input输入框进行搜索的时候 根据输入内容提供对应的输入建议 有个坑 它只能用第一个字进行搜索 不能够实现模糊匹配 下面的方法就是填这个坑 原来搜 奖 后台给返回数据 但是不会出现下拉框 例如 只要搜 抽 才出现下拉
  • JAVA面试

    JAVA网络通信篇 一 TCP和UDP有什么区别 TCP为什么是三次握手 而不是两次 TCP Transfer Control Protocol 是一种面向连接 可靠的 传输层通信协议 特点 好比是打电话 面向连接的 点对点的通信 高可靠的
  • 基础笔记(二):设计模式摘录

    基础笔记 二 设计模式摘录 前言 收录一些自己在开发过程中比较常用的模式 整理出来以便自己复习 毕竟熟才能生巧 才能变通 举一反三 设计模式在大多数灵活性好 可扩展性高 可移植的优秀程序中都有运用 比如界面展现层运用的MVC模式的主要关系就
  • Java俄罗斯方块,老程序员花了一个周末,连接中学年代!

    Java俄罗斯方块 老程序员花了一个周末 连接中学年代 热门专栏推荐 1 Java小游戏 俄罗斯方块 飞机大战 植物大战僵尸等 2 JavaWeb项目实战 图书管理 在线考试 宿舍管理等 3 JavaScript精彩实例 飞机大战 贪吃蛇

随机推荐

  • 从零开始基于nonebot2搭建Q群机器人自动获取各大平台热搜

    从零开始基于nonebot2搭建Q群机器人自动获取各大平台热搜 目录 从零开始基于nonebot2搭建Q群机器人自动获取各大平台热搜 安装步骤 使用方法 退出方法 启用方法 参考链接 安装步骤 安装步骤如下所示 总共仅需简单的17步 1 创
  • 从库mysqldump会导致复制中断

    背景 环境 数据库版本 5 6 24 log 主从架构 一主两从搭配mha 操作步骤 1 开发要求truncate一张表 在删除之前需要备份下数据 2 在从库上使用mysqldump命令做逻辑备份 备份sql mysqldump uXXX
  • ubuntu20.04下搭建pcl安装环境

    我是小白 初学PCL 此文章用来提醒自己安装流程 同时也希望能帮助其他人一贴搭完环境 此贴安装版本为 Ubuntu20 04 6LTS ros2 foxy VTK 8 2 0 cmake 3 16 3 PCL 1 10 1 1 安装vmwa
  • Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean

    问题出现 SpringBoot工程启动不起来 报错Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean
  • 虚拟服务器vps怎么扩展,vps虚拟服务器怎么用

    vps虚拟服务器怎么用 内容精选 换一换 裸金属服务器具备物理机级的性能和隔离性 用户独占计算资源 并且无任何虚拟化开销 存储在高性能高可靠的服务器上的数据 自然也会很安全 带有本地磁盘的裸金属服务器 支持本地磁盘组RAID 磁盘数据冗余存
  • SpringCloud Alibaba 组件介绍

    Spring Cloud Alibaba 一 介绍Spring Cloud Alibaba 简介 spring cloud Netflix 相关技术整体进入维护模式 Ribbon Hystrix zuul Eureka config等 sp
  • Vue课后练习题及答案解析

    Vue课后练习题 第一章 Vue js基础入门 填空题 Vue是一套构建 的渐进式框架 用户界面 MVVM主要包含3个部分 分别是Model View和 ViewModel Vue中通过 属性获取相应的DOM元素 refs 在进行Vue调试
  • html a标签去掉下划线_HTML常用标签a、img、table

    HTML常用标签 a 标签的用法 标签定义超链接 用于从一张页面链接到另一张页面 主要属性有href target download rel等 href指示超链接目标 可以取网址 相对路径 绝对路径 伪协议进行跳转 target属性规定在何
  • 【SpringBoot】最通俗易懂的任务机制(一)--异步任务和定时任务

    注 本文章基于尚硅谷Springboot高级特性相关视频及资料进行编写 代码简单 较容易理解 若有问题或者源码资料获取可以在评论区留言或者联系作者 目录 导引 异步任务 没有返回值的异步任务 有返回值的异步任务 定时任务 总结 导引 开发w
  • springboot自定义favicon.ico

    Favicon配置 说到favicon ico这个小图标 Spring Boot提供了默认的小叶子 如果大家想定制这个小图标可通过以下做法 1 application properties spring mvc favicon enable
  • QObject::connect: No such signal 原因

    QObject connect No such signal 使用connect连接信号与槽函数时 附带了信号或者槽函数的参数 编译会通过 而运行不会通过 若信号函数 void signal 1 int param 槽函数 void fun
  • ssh连接localhost失败 permission deny问题解决

    首先确认ssh 和 sshd都已经正常安装且运行 其次设置ssh和sshd的一些系统参数 基本都是修改以下这两个文件 1 etc ssh ssh config 2 etc ssh sshd config 比如permitrootlogin
  • 如何使用 docker 搭建本地 overleaf 服务器

    如何使用 docker 搭建本地 overleaf 服务器 overleaf 使用便捷 相信很多人都在上面编辑过论文 但是国内访问 overleaf 确实网速限制比较大 编译时等待时间较长 而且中文字体等配置也不是很方便 应运而生的 ove
  • 自动化测试之 Espresso VS Appium

    前言 事情的起因是这样的 相信很多人都经历过这样一个过程 一个成熟的线上app版本需要更新一个系列新功能的时候 我们上线需要完成以下几个步骤 1 测试环境下 测试人员测试新功能 并且连带需要测试线上稳定版本的主要老功能 2 确保没问题以后
  • B树与B+树

    一 B树 B 树 特点 1 多路 非二叉树 2 每个节点既保存索引 又保存数据 3 搜索时相当于二分查找 二 B 树 特点 1 多路非二叉 2 只有叶子节点保存数据 3 搜索时相当于二分查找 4 增加了相邻接点的指向指针 三 B树与B 树的
  • 决策树和 K 近邻分类

    决策树和 K 近邻分类 决策树和 K 近邻分类 决策树和 K 近邻分类 介绍 知识点 机器学习介绍 示例 决策树 如何构建决策树 熵 玩具示例 决策树构建算法 分类问题中其他的分割质量标准 示例 树的关键参数
  • CUnit的用法

    CUnit下载地址 http sourceforge net projects cunit CUnit 在线文档帮助 http cunit sourceforge net doc index html 关于CUnit 本文主要从介绍三方面的
  • Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群

    大纲一 前言二 环境准备三 Corosync 安装与配置四 Pacemaker 安装与配置五 DRBD 安装与配置六 MySQL 安装与配置七 crmsh 资源管理 推荐阅读 Linux 高可用 HA 集群基本概念详解 http www l
  • c语言中delay的用法。

    C语言作为一门新型高级编程语言 在计算机软件编程中具有较为广泛的应用和实现 下面小编就跟你们详细介绍下c语言中delay的用法 希望对你们有用 c语言中delay的用法如下 假设一个延时函数如下 void delay uint i for
  • Unity 动态生成mesh圆圈

    using UnityEngine using System Collections RequireComponent typeof MeshRenderer typeof MeshFilter public class yuan Mono