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

dll网站服务app开发

dll网站服务,app开发,网站建设公司策划,匠人精神网站建设#x1f497; 未来的游戏开发程序媛#xff0c;现在的努力学习菜鸡 #x1f4a6;本专栏是我关于游戏开发的网格编程方面学习笔记 #x1f236;本篇是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用于计算网格表面上的光照效果。它们定义了网格表面上的切线方向。 实践操作 用代码初始化一个三角形 新建一个脚本 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 GetComponentMeshFilter();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,};} }新建一个空物体将脚本挂载上去 点击运行会生成一个三角形当然正面看是可以看见的反面看是没有的。而且因为我们没有给材质所以此时三角形面片显示材质缺失时的紫色 在三角形的基础上改成正方形 图解左边是我们原先的三角形现在只需要在多加一个顶点以及三角序列就可以根据基础知识顺时针为正方向新加的三角序列为023 代码 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 GetComponentMeshFilter();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启动后结果是这样的贴图没有正常显示 在代码中添加为该正方形赋值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 GetComponentMeshFilter();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),};} } 再次启动后结果贴图正常显示 关系图解 补充 RequireComponent的使用 用法在脚本前加上[RequireComponent(typeof (X))] 其中X为其它脚本或者Unity组件 当你挂载这个脚本时X会和当前脚本一起被挂载上去。 更多内容请前往主页置顶或点击链接直达【unity3D】游戏开发专栏的目录
http://www.eeditor.cn/news/123565/

相关文章:

  • 国外常用视频网站tenor怎么设置网站建设常用代码
  • 备案核验单 网站类型网页怎么制作
  • o2o网站建设最好公司手机端网站建设公司
  • 网站设置屏蔽广告广州建站业务公司
  • 山东定制型网站建设推广德州万企互联网站制作
  • 小程序模板页太原网站推广优化
  • 美食网站功能建设关键词排名怎么做上去
  • 百度网站建设多少钱网站开发毕业设计答辩
  • 网站风格分类公司有网站域名,如何做网站
  • 茶叶网站模板主流搭建网站
  • 自动写作网站wordpress改变上传目录
  • vps服务器怎么做网站软件开发哪里学
  • 临清网站优化wh网站建设
  • 建设部网站官网 取消八大员seo优化网站推广全域营销获客公司
  • 一家公司做两个网站wordpress公式编辑器
  • 网站开发需要什么配置自己做的网站怎样才有网址浏览
  • 创建网站并制作首页教案淘客 wordpress
  • 户外拓展公司网站开发深圳福田天气
  • c 做网站性能怎么样网站做优化每天一定要更新
  • 苏州网站推广哪家好赣州人才网最新招聘信息网
  • 怎样在网站做咨询医生挣钱上传到网站的根目录中
  • 廊坊设计网站公司wordpress 边框大小
  • 苏州画廊网站建设服饰网站建设规划书
  • 河南做网站团队crm系统软件排名
  • 风格活泼的网站设计网站开发设置网页端口
  • 有没有专门做飞卢小说盗版的网站电子商务网站登录
  • 常州的做网站的公司排名嵩明网站建设
  • 网站管理系统后台全国最大的关键词挖掘
  • 北京网站建设知名公司排名产品设计就业方向
  • 做二手车那个网站会员性价比高金华义乌网站建设