当前位置: 首页 > news >正文

b2b网站的特点代写文章质量高的平台

b2b网站的特点,代写文章质量高的平台,黑龙江做网站哪家好,div css网站重构第二版视频教程💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的网格编程方面学习笔记 🈶本篇是unity的网格编程系列01-mesh基础属性 网格编程系列01 mesh基础属性实践操作用代码初始化一个三角形在三角形的基础上改成正…

💗 未来的游戏开发程序媛,现在的努力学习菜鸡
💦本专栏是我关于游戏开发的网格编程方面学习笔记
🈶本篇是unity的网格编程系列01-mesh基础属性

网格编程系列01

    • mesh基础属性
    • 实践操作
      • 用代码初始化一个三角形
      • 在三角形的基础上改成正方形
      • 贴图正确的显示
    • 补充

mesh基础属性

在Unity中,网格编程Mesh是一种用于定义3D对象形状的基本组件。它定义了一个对象的顶点、三角形、法向量和UV贴图坐标等基本属性。

  • 顶点(Vertices):是对象的顶点,为Vector3类型的数组。
    :所有的图形都是点和面(三角形的面)构成的。

  • 三角序列(Triangles):由三个顶点组成的面,也称为“网格面”或“多边形”。是一个int数组,并且个数是三的倍数。

  • 法向量(Normals):法向量在计算光照和投影时至关重要,通常用于计算光照效果。
    :法向量为正方向的面为正面。(为了优化性能,反面不渲染,也就是反面是不可见的)

  • UV贴图坐标(UV Coordinates):它是网格表面上的纹理坐标,用于将纹理映射到网格表面。每个顶点都有一个对应的UV贴图坐标。

  • 颜色(Colors):它是与网格相对应的颜色数组,用于设置网格的材质颜色和纹理。

  • 切线(Tangents):用于计算网格表面上的光照效果。它们定义了网格表面上的切线方向。

实践操作

用代码初始化一个三角形

  1. 新建一个脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;[RequireComponent(typeof(MeshFilter),typeof(MeshRenderer))]//自动挂载MeshFilter和MeshRenderer
public class GenerateMesh01 : MonoBehaviour
{void Start(){//初始化Mesh mesh = new Mesh();MeshFilter meshfilter = GetComponent<MeshFilter>();meshfilter.mesh = mesh;//获取顶点坐标和三角序列mesh.vertices = GetVertices();mesh.triangles = GetTriangles();}private Vector3[] GetVertices(){//赋值顶点坐标return new Vector3[]{new Vector3(0,0,0),new Vector3(1,0,0),new Vector3(1,1,0),};}private int[] GetTriangles(){//赋值三角序列return new int[]{0,1,2,};}
}
  1. 新建一个空物体将脚本挂载上去
    在这里插入图片描述
    在这里插入图片描述
  2. 点击运行,会生成一个三角形(当然,正面看是可以看见的,反面看是没有的。而且,因为我们没有给材质,所以此时三角形面片显示材质缺失时的紫色)
    在这里插入图片描述

在三角形的基础上改成正方形

图解:左边是我们原先的三角形,现在只需要在多加一个顶点以及三角序列就可以,根据基础知识,顺时针为正方向,新加的三角序列为0,2,3
在这里插入图片描述
代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;[RequireComponent(typeof(MeshFilter),typeof(MeshRenderer))]//自动挂载MeshFilter和MeshRenderer
public class GenerateMesh01 : MonoBehaviour
{void Start(){//初始化Mesh mesh = new Mesh();MeshFilter meshfilter = GetComponent<MeshFilter>();meshfilter.mesh = mesh;//获取顶点坐标和三角序列mesh.vertices = GetVertices();mesh.triangles = GetTriangles();}private Vector3[] GetVertices(){//赋值顶点坐标return new Vector3[]{new Vector3(0,0,0),new Vector3(1,0,0),new Vector3(1,1,0),new Vector3(0,1,0),//添加了顶点};}private int[] GetTriangles(){//赋值三角序列return new int[]{0,1,2,0,2,3,//添加了三角序列};}
}

贴图正确的显示

知识点:UV坐标和顶点的关系

1.为空物体直接添加一个贴图,不赋值UV,启动后结果是这样的:贴图没有正常显示
在这里插入图片描述

  1. 在代码中添加为该正方形赋值UV坐标的代码,添加后代码为:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;[RequireComponent(typeof(MeshFilter),typeof(MeshRenderer))]//自动挂载MeshFilter和MeshRenderer
public class GenerateMesh01 : MonoBehaviour
{void Start(){//初始化Mesh mesh = new Mesh();MeshFilter meshfilter = GetComponent<MeshFilter>();meshfilter.mesh = mesh;//获取顶点坐标和三角序列mesh.vertices = GetVertices();mesh.triangles = GetTriangles();//获取UV坐标mesh.uv = GetUV();}private Vector3[] GetVertices(){//赋值顶点坐标return new Vector3[]{new Vector3(0,0,0),new Vector3(1,0,0),new Vector3(1,1,0),new Vector3(0,1,0),};}private int[] GetTriangles(){//赋值三角序列return new int[]{0,1,2,0,2,3,};}private Vector2[] GetUV(){//UVreturn new Vector2[]{new Vector2(1,0),new Vector2(0,0),new Vector2(0,1),new Vector2(1,1),};}
}
  1. 再次启动后,结果:贴图正常显示
    在这里插入图片描述
  2. 关系图解:
    在这里插入图片描述

补充

  1. RequireComponent的使用

用法:在脚本前加上[RequireComponent(typeof (X))]

其中X为其它脚本,或者Unity组件
当你挂载这个脚本时,X会和当前脚本一起被挂载上去。


💦更多内容请前往主页置顶或点击链接直达:【unity3D】游戏开发专栏的目录

http://www.hrbkazy.com/news/1651.html

相关文章:

  • 门户网站开发多少钱网络营销这个专业怎么样
  • 阿里云做的网站程序上海短视频seo优化网站
  • 山西太原小店区疫情最新消息整站seo排名外包
  • 淘宝上做的网站 域名到期可以自己续费吗外贸业务推广
  • 福州做网站的公司网站推广方案策划
  • 路由下做网站映射一篇好的营销软文
  • 建网站的公司怎么样google关键词工具
  • 足球网站开发石家庄网站seo
  • 无锡优化网站业务查关键词热度的网站
  • 知名商业网站有哪些线上宣传渠道有哪些
  • 直播网站怎么做啊西安seo引擎搜索优化
  • 淮安做网站 卓越凯欣谁有推荐的网址
  • 如何做垂直网站百度收录量查询
  • 做电销用什么软件打电话宁德seo公司
  • 网站如何做数据分析报告seo优化运营
  • 网店运营推广方式唐山seo快速排名
  • 网站怎么免费建站广西关键词优化公司
  • 一般学校网站的后台用什么做真正免费的建站
  • 建站网站加盟目前引流最好的app
  • 黑色个人网站欣赏免费b2b推广网站
  • 网站空间后台登录软文营销ppt
  • 设计旅游网站的主色调百度收录网站多久
  • 建一个购物网站大约多少钱seo网络排名优化
  • 北京西站是疫情区吗模板网站建站哪家好
  • 做网站公奇闻司郑州汉狮seo搜索引擎优化求职简历
  • 知名设计公司谷歌seo排名技巧
  • wordpress自定义分类目录南京网络推广优化哪家好
  • 网上做网站怎么做下拉菜单2021友情链接qq群
  • 韩国封号事件网站建设谷歌外贸seo
  • 财务公司名称大全简单大气精准的搜索引擎优化