首页 > 其他分享 >通过网格绘制圆

通过网格绘制圆

时间:2023-02-02 09:22:57浏览次数:40  
标签:通过 vh float 网格 mesh using new 绘制

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

public class Creat_Yuan : MonoBehaviour
{
MeshFilter meshFilter;
MeshRenderer meshRenderer;
MeshCollider meshCollider;

public int n;//个数
public float r;//半径
// Start is called before the first frame update
void Start()
{
meshFilter = gameObject.AddComponent<MeshFilter>();
meshRenderer = gameObject.AddComponent<MeshRenderer>();
meshCollider = gameObject.AddComponent<MeshCollider>();
Mesh mesh = new Mesh();
VertexHelper vh = new VertexHelper();
//计算每个角的弧度
float ang = (2 * Mathf.PI) / n;
//添加圆心
vh.AddVert(Vector3.zero, Color.white, new Vector2(0.5f, 0.5f));
//添加顶点(顶点坐标,顶点颜色,uv坐标)
for (int i = 0; i < n; i++)
{
float x = Mathf.Sin(ang * i) * r;
float y = Mathf.Sin(ang * i) * r;
float uvx = (r + x) / (r + y);
float uvy = (r + y) / (r + r);
vh.AddVert(new Vector3(x, y, 0), Color.white, new Vector2(uvx, uvy)); ;
}
//添加绘制顺序
for (int i = 0; i < n; i++)
{
if (i == 0)
{
vh.AddTriangle(0, n, 1);
}
else
{
vh.AddTriangle(0, i, i + 1);
}

}
//把顶点助手的信息赋值给mesh网格
vh.FillMesh(mesh);
//重新计算法线
mesh.RecalculateNormals();
//把mesh网格赋值给网格过滤器
meshFilter.mesh = mesh;
//给网格碰撞器赋值


}

// Update is called once per frame
void Update()
{

}
}

标签:通过,vh,float,网格,mesh,using,new,绘制
From: https://www.cnblogs.com/Chenchen11111/p/17084816.html

相关文章

  • 通过LineRenderer画线使玩家跟随线条移动
    usingCinemachine;usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassCreatLine:MonoBehaviour{publicCinemachineVir......
  • 通过代码实现有描边有背景的雷达图
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;usingSystem.Linq;publicclassLDT5:MaskableGraphic{pu......
  • java_swing绘制图形
    在java的jpanel绘制图形使用paint方法,在里面使用super.paint清除之前的残留在while里使用repaint进行循环绘画publicvoiddisplay(){ this.repaint(); } public......
  • 【YBT2023寒假Day4 A】网格染色(DP)(矩阵乘法)(DFT)
    网格染色题目链接:YBT2023寒假Day4A题目大意有一个n*3的网格,你可以选恰好m个格子染成黑色。然后对于一个黑点,我们对它周围的\(8\)个点中的一些有限制不能是黑点,......
  • 通过脚本将unity3D模型转出图片
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEditor;usingUnityEngine;publicclassChangeToTexture:MonoBehaviour{//这里是要导出模型......
  • 通过HH8WilEdit学习WIL 文件编码 3 资料 Delphi 资源文件( .res)
    https://blog.csdn.net/fangyuan621/article/details/122476617一.现在的Windows应用程序几乎都使用图标、图片、光标、声音等,我们称它们为资源(Resource)。最简单的使用资......
  • 通过dns api解析域名
    1.Cloudflarednsapicurl-H"accept:application/dns-json""https://1.1.1.1/dns-query?name=baidu.com"importrequestsheaders={"accept":"application/dns-......
  • ElementUI 中 el-form 验证 el-upload 上传图片校验不通过
    ————————————————版权声明:本文为CSDN博主「xiaoxiaodeDream」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog......
  • Unreal学习笔记2-绘制简单三角形
    目录1.概述2.详论2.1.代码实现2.2.解析:Component2.3.解析:材质2.4.解析:包围盒2.5.解析:Section3.其他4.参考1.概述之所以写这个绘制简单三角形的实例其实是想知......
  • go 通过bufio 写文件
    bufio是先写道缓冲区,通过Flush()更新funcwriteFile(content,fileNamestring){create,err:=os.Create(fileName)//如果文件已存在,会将文件清空。if......