Unity3D之Mesh(一)绘制三角形

学习笔记:unity通过Mesh网格绘制图形:三角形&正方体&圆柱 一,介绍 Mesh类:通过脚本创建或是获取网格的类,网格包含多个顶点和三角形数组。顶点信息包含坐标和所在面的法线。 unity中3D的世界的所有图形全部都是由三角形构成的。 比如unity已经装配好的几种图形我们可以看一下: 我们可以在unity中通过Mesh类来绘制图形。 所以在我们绘制其它图形之前,首先完成一个小目标,画一个三角形。 二,绘制三角形 首先做准备工作: 1.在场景中创建一个空物体,并挂载MeshRenderer和MeshFilter组件。//我们先不考虑碰撞器的问题,所以不添加colli 阅读详情
using System.Collections;
using System.Collections.Generic;
using UnityEngine;


//1.当将TestTriangle的代码挂在GameObject上的时候,会自动添加这两个组件。
//2.当要移除MeshRenderer或MeshFilter的时候,编辑器会提示不能移除。//如果要移除,先移除TestTriangle脚本之后,才能移除。
[RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))]

public class TriangleMesh : MonoBehaviour
{
    void Start()
    {
        Mesh mesh = new Mesh();
        MeshFilter meshFilter = new MeshFilter();
        meshFilter = GetComponent<MeshFilter>();

        Vector3[] vertices = new Vector3[4];
        vertices[0] = new Vector3(0, 0, 0);
        vertices[1] = new Vector3(0, 1, 0);
        vertices[2] = new Vector3(1, 1, 0);
        vertices[3] = new Vector3(1, 0, 0);

        int[] triangles = new int[3 * 3];
        triangles[0] = 0;
        triangles[1] = 1;
        triangles[2] = 2;
        triangles[3] = 2;
        triangles[4] = 1;
        triangles[5] = 3;
        triangles[6] = 2;
        triangles[7] = 1;
        triangles[8] = 0;

        mesh.vertices = vertices;
        mesh.triangles = triangles;
        meshFilter.mesh = mesh;
    }   
}

Explanation:

  1. RequireComponent这一行,表示我们需要MeshRenderer和MeshFilter这两个组件,当我们将TestTriangle的代码挂在GameObject上的时候,会自动添加这两个组件。而我们要移除MeshRenderer或MeshFilter的时候,编辑器就会提示不能移除。

 

Unity3D Mesh小课堂(一)三角形 Mesh顾名思义“网格”,Unity3D里面所有的模型都是由Mesh组成的,UI也不例外。 模型上的一个个小网格就是Mesh,这些Mesh有不同的三维顶点(Vector3),共同组成了一个3D模型。 Mesh的基本单位是三角形,学习应该由浅入深,所以今天我们就从最基本最简单的三角形开始画起。 阅读详情

相关推荐

Unity3d学习之弹坑功能(一)—将SpriteRenderer组件转换为Mesh

简单来说,要实现弹坑功能最关键的部分就是找到顶点的位置,以及连线的顺序。具体可以分为以下几步: (1)在碰撞点生成一个Mesh来模拟爆炸半径; (2)获取爆炸半径内的顶点; (3)将在爆炸范围内的顶点从网格中移除; (4)根据新的顶点数组绘制网格; (5)更新网格贴图; (6)更新网格碰撞器。

qq_37429107的博客 4684

Unity3d Mesh篇(一)— 创建简单三角面

Mesh(网格)是一种常用的3D图形表示方法,它由顶点,法线,UV 坐标,和三角形等组成。您可以使用 Mesh 类的方法来创建或修改网格,也可以使用 MeshFilter 组件或 MeshRenderer 组件来显示网格。UnityMesh 可以用于制作各种 3D 场景和效果,例如地形,水面,粒子,布料等。

脚踏实地,实事求是。 2788

Unity3d修炼之路:用Mesh绘制一个Cube

#pragma strict function Awake(){ var pMeshFilter : MeshFilter = gameObject.AddComponent(typeof(MeshFilter)) as MeshFilter;//网格过滤器 var pMeshRender : MeshRenderer = gameObject.AddComponent(typeof(Mes

xiaxiang123的专栏 4568

Unity Mesh 生成图形(二)

Unity 的 Mesh 是用于表示三维物体的网格数据结构。它是由一系列顶点和三角形组成的网格,用于描述物体的形状和外观。Mesh 是由顶点、三角形和其他相关信息组成的,它用于在 Unity 中创建和渲染三维对象。顶点是网格的基本构建单元,它们定义了物体的形状,每个顶点都有三维坐标和其他可选属性,如法线、 UV 坐标和颜色。三角形则是由三个顶点组成的,它们定义了网格表面的平面,形成了物体的可见表面。Mesh 类提供了许多方法来操作顶点和三角形,例如添加、删除、移动顶点和三角形,以及调整网格的大小和形状。

熊思雨的博客 1622

Unity3D Mesh小课堂(二)为三角形添加纹理

通过修改UV坐标,为自定义Mesh添加纹理。

凯奥斯的注释 6850

Unity3D Mesh类的使用以及网格地形生成

三角面片的生成 一般来说我们开发中对mesh类的接触并不多,mesh类可以让你在unity3d里动态生成一个网格,一般用在地形或者建筑生成,或者是一些建模或者优化插件中。 这里简要介绍一下mesh类的用法。 要生成一个可以正常显示的mesh需要以下几步。 1.设置该网格所有的顶点位置(局部坐标) 2.设置每个顶点属于哪个三角形 3.如果需要接受到光照,需要设置每个顶点的法线 4.如果需要贴材质,需要正确设置uv 我们先以一个三角形为例 首先new一个mesh类,然后创建一个三维向量数组,最后赋值。 1.设置

o83290102o5的博客 4943

项目记录 : Unity3D之Mesh(一)绘制三角形

注意:三角形的顶点顺序必须是顺时针,顺时针表示正面,逆时针表示背面,而unity3d在渲染时默认只渲染正面,背面是看不见的。 待续

【黑键】 1199

Unity3D Mesh小课堂(三)圆形与圆环

Unity3D中Mesh的基本单位是三角形,而圆形就是由许许多多的三角形组成的。我们绘制N个等腰三角形,把它们拼起来,就形成了一个圆。 而圆环则是由N个等腰梯形组成,而每个梯形则是由两个三角形组成。

凯奥斯的注释 1万+

unity3d之浅谈Mesh组件:mesh绘制三角形,正方形,正方体

一:对于新手来说,首先需要简单的了解一下mesh,别一开始就去看代码绘制图形。 Mesh是Unity内的一个组件,称为网格组件。 ◦ Mesh 网格 ◦ MeshFilter 网格过滤器 ◦ Mesh Renderer 网格渲染器 Mesh:是指模型的网格,建模就是建网格。细看Mesh,可以知道Mesh的主要属性内容包括顶点坐标,法线,纹理坐标,三角形绘制序列等其他有用属性和功能。因此建网格,就是...

yffgamestart的博客 7639

【边玩边学Unity3d】Mesh属性

Unity没有建模工具,大多是在其他3D软件中建模后导入Unity资源中使用。但通过脚本可以修改网格的顶点属性,所以理论上可以实现在Unity中从无到有地建模。 建模,就是建网格;建网格,就是画些三角形;画个三角形呢,也就是定位三个点。 不过首先了解下Unity中网格的特性。Unity中的对象就是GameObject了,每个GameObject都可以有一个MeshFilter组

Orionid4Java的专栏 1万+

Unity中的Mesh网格编程(一)——绘制基本2D图形

一:前言 利用Mesh可以绘制任意样式的图形,创建一个新的Mesh并设置vertices和triangles,因为任何图形都是由若干个三角形组成的 二:绘制基本图形 ——三角形 using UnityEngine; public class Test : MonoBehaviour { private void Awake() { DrawTriangle(); } /// <summary> /// 绘制三角形 //

L的博客 6946

Unity Mesh(一) 初步使用Mesh画平面图形

最近发现Mesh很牛的样子,虽然以前也见过人家大牛用这个写过工具,当时没大在意,现在开始接触,觉得挺好玩的,首先先上我画的几个图: 据说还可以画各种形状,原理就是所有图形都是由三角形组成的。 下面我们一一的解释下: 一.画三角形 首先,给组件添加MeshFilter和MeshRenderer两个组件,这两个组件是Mesh必须的,然后我们自

御雪妃舞 2万+

Unity3D中三角形Mesh绘制基础教程

在三维图形的世界中,Mesh(网格)是构成三维物体的基础单位,它是一种数据结构,通过一系列顶点(vertices)、边(edges)和面(faces)来描述一个三维模型的形状。Unity3D作为一款强大的游戏开发引擎,其核心就在于将Mesh数据整合到场景中并进行渲染。Mesh不仅决定了物体的外型,还影响到游戏的性能表现和视觉效果。理解Mesh的基本概念,是每位三维游戏开发者的必经之路。

weixin_42497762的博客 878

Unity3D学习笔记1——绘制一个三角形

详细介绍了Unity3D的第一个简单实例——绘制一个三角形的过程。

Charlee44的技术驿站 3942

UFS 功能描述:UFS boot

UFS 启动过程介绍:启动配置,启动代码下载过程和安全性

m0_51720747的博客 1601

K-近邻算法: k-nearest neighbor classification (kNN) 详细介绍

@创建于:2020.04.09 @修改于:2020.04.09,2024.06.22 文章目录1、kNN介绍2、k近邻法的三要素详解2.1 距离度量2.2 k值的选择2.3 分类决策规则3、k近邻法的实现:kd树4、Python实现过程5、优缺点6、常见问题 1、kNN介绍 kNN是一个基本而简单的分类算法,作为监督学习,那么KNN模型需要的是有标签的训练数据,对于新样本的类别由与新样本距离最近的k个训练样本点按照分类...

chenhepg的博客 9万+

Unity 初识Mesh绘制面(一)

Unity中渲染出的3D物体组成内容 首先我们先在Unity3D中创建一个Cube,在Inspector可以看到其中含有MeshFilter、MeshRenderer组件。 由此可见如果你想要展示一个3D游戏物体,它必须拥有两个组件。 MeshFilter 这个组件记录了你想要展示的网格数据,相当于人的骨骼 MeshRenderer 使用这个组件告诉网格如何渲染,比如使用哪个材质球,是否接受阴影和其他设置,相当于人的皮肤,可以设置不同的贴图,化妆什么的。 Mesh中包含的内容 从官方手册..

奋斗的菇凉的博客 4696

GD32F103程序烧录全攻略:从SWD到串口的实战指南

本文提供了GD32F103微控制器程序烧录的全面实战指南,详细介绍了SWD、JTAG和串口(ISP)三种主流下载方式。文章重点解析了在Keil MDK中使用ST-Link进行SWD下载的完整步骤,包括硬件连接、软件配置和Flash算法设置,并针对烧录过程中的常见问题提供了实用的排坑解决方案,帮助开发者高效完成程序部署。

weixin_29191669的博客 438

Unity3D 动态创建Mesh(一)

转自:https://www.cnblogs.com/kyokuhuang/p/4191169.html 1.Mesh、MeshFilter、MeshRenderer关系整理 在Unity3D中创建一个Cube,在Inspector可以看到其中含有MeshFilter、MeshRenderer组件。 MeshFilter含有一个Public成员 Mesh。 在Mesh中存储着三维模型的数据...

GGman的博客 2827

【鸿蒙南向开发】OpenHarmony音频驱动audio适配方案

这份鸿蒙(HarmonyOS NEXT)文档包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

HarmonyOS_666的博客 4514

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026

YOLO系列算法改进 | Neck改进篇 | 融合FAAFusion傅里叶角度对齐模块 | 攻克多尺度方向特征冲突,角度检测精度飙升! | CVPR 2026 (以YOLO26最新目标检测模型为基础,利用FAAFusion傅里叶角度对齐模块改进Neck部分)

2502_91881744的博客 315

Unity的Mesh 网格学习 一 (写一个四方形和三角形的面片, )

前言 3D世界中任何的面都是由三角形绘制完成的,因为任何无规则的集合图形都可以由三角形来组成。比如四边形,无论是正四边形还是无规则四边形都可以由两个三角形拼接而成。如下图,模型上的一个个小网格就是Mesh,这些Mesh有不同的三维顶点(Vector3),共同组成了一个3D模型。 1.Mesh、MeshFilter、MeshRenderer关系整理 在Unity3D中创建一个Cube,在I...

习惯冬天的静谧 4067

电子电器架构 --- OEM企标中规定ECU启动时间的目的

电子电器架构 --- OEM企标中规定ECU启动时间的目的

Soly_kun的博客 223
下一篇: 《UI框架_Siki老师》(一)(共2篇)
xingjiaming1
博客等级 码龄10年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值