【Unity基础】2.网格材质贴图与资源打包

news2024/10/11 12:29:43

 【Unity基础】2.网格材质贴图与资源打包

    大家好,我是Lampard~~

    欢迎来到Unity基础系列博客,所学知识来自B站阿发老师~感谢 

(一)网格材质纹理

    第一次接触3D物体的话,会觉得好神奇啊,这个物体究竟是由什么组成的呢?其实3D物体基本就是由网格,材质和纹理3个部分构成的

(1)网格

    那什么是网格?首先需要知道我们看到的3D物体,实际上是由一个个小的三角形组成的,我们可以在Unity编译器中,在Scene页签下方选择一种Shaded Wireframe图形线框模式,就可以很清晰的看到了,三角形的数量越多,图形越精致同时GPU的渲染压力越大,像一个球就需要多个三角形来组成,而一个立方体只需要12个三角就可以了

     无论是球还是正方体,都是由一个个小三角形组成。那问题很多的同学可能会问,为什么是三角形呢?我立刻ChatGpt一下:

    因为三角形可以在几何上更加精确地描述物体的形状和表面细节。此外,三角形也更容易处理和渲染,因为它们具有确定的顶点和法线。虽然四边形和其他多边形也可以用于建模,但在使用现代渲染技术时,三角形仍然是最常见的面形式

    额,绕远了...好所以网格是什么呢?其实就是描述这些一个个三角形,顶点数据,纹理坐标,法线信息等等的一些数据来描述一个物体的表面。之前我们学openGL的时候有接触到【openGL2021版】obj格式文件

(2)材质

    好了什么是材质呢?

物体的物质的性质、特征或组成。材质可以是金属、塑料、木材、玻璃、陶瓷、纺织品等等。正确选择材质可以决定物体的质量、外观、特性和使用寿命。材质也可以用于表示3D模型的外观和质感。在计算机图形学中,材质通常用纹理、颜色、反射率、粗糙度、透明度等参数来描述

     简单来说,足球和保龄球长得不一样吧?虽然都是个球,但是我们要怎么表现它们的不同,那就是材质的作用

     在Unity中,我们可以给物体新建一个材质挂上去:首先在Assert目录下右键选择create创建,然后在目录下选中Material材质

    材质有很多属性,我们先对其Albedo反照率(颜色),进行设置选一个喜欢的颜色就可以。下面我就创造了一个红色和一个蓝色材质

     那怎么让我们场景中的物体使用这个材质呢?很简单啊,直接拖过去就行:

     哇,一下就变色了,是不是很神奇。设置完之后我们可以看到,物体右侧的组件中,Mesh Renderer 网格渲染中,就多了一个我们刚才创建的材质信息

    这里有一个小对勾,如果我们取消勾选,那么这个物体就不会被渲染出来

     总而言之,材质的作用,就是使物体看起来更真实,记录如像金属一样的光泽,像玻璃一样的反射,表面带有什么花纹,是否有凹槽突起等信息

(3)纹理贴图

   那纹理又是啥呢?因为我们现实生活中,物体很少会遇到纯色的。肯定每一个物体,甚至物体的每一个地方都有区别,纹理也是材质的一个属性

    那怎么实现这个效果呢?就需要美术同学出一张纹理图,来展示这个物体的长相。我们刚才说到网格中会存在纹理坐标,就是为了描述每个小三角形对应纹理的那一块区域用的

    为了展示我去百度找了一个地球的纹理更直观些,看上去就像摊开的地球对吧~

Albedo反照率贴图

     那如果我想把这个纹理挂到unity上面的物体中需要怎么做呢?我们只需要把纹理资源拖到Assert目录下

    然后在材质设置反照率的左侧有一个小按钮,点开就可以选中我们的纹理,给物体添加皮肤啦~

Normal Map 法线贴图

    比如我们要创建一个铁锈状的物体,首先需要给物体贴上albedo材质皮肤

   把这个材质挂在cube上,我们可以看到这个矩形就有了一些锈迹,但感觉还是差了一些东西

    差什么呢?没错就是那种凹凸不平的感觉,而我们的法线贴图就是干这个活的。我们给材质的normalMap属性附上法线贴图,效果明显就真是了很多

Metallic和Specular

    我们可以看到编辑器中还有Metallic和Specular两个属性

     Metallic代表的是物体的金属度,属性值越靠近0则代表越不像金属,越靠近1则代表越像金属

     Specular是光滑度,0越光滑,1越粗糙,大家可以拖动进度条试一下~

(二)导入和导出资源包

(1)资源目录

    Unity的资源(模型,场景,脚本)等都保存在Assert目录下,我们随便选中一个资源,右键Show In Explore就可以在Window文件夹中看到我们的资源目录

    燃鹅,我们除了看到在编辑器创建的文件之外还看了许多奇奇怪怪的.meta文件,这都是啥?

     遇事不决问GPT:

在Unity中,每个资源文件(如场景、材质、纹理、声音等)都会有一个对应的meta文件。这个meta文件包含了资源的相关信息,如名称、UUID、依赖项、标签、修改时间等。

meta文件的主要作用是为了让Unity在处理资源时更加高效和可靠。具体来说,meta文件可以:

1. 确认资源的唯一性:由于Unity中允许多个文件使用相同的名称,meta文件的唯一UUID可以确保每个资源都具有唯一的身份信息。

2. 记录资源的依赖关系:meta文件可以记录资源之间的依赖关系,当一个资源被修改时,Unity可以自动更新依赖该资源的其他资源。

3. 存储资源的编辑状态:meta文件可以记录资源的编辑状态,包括最后一次修改的时间、作者、标签、注释等,方便开发者进行版本管理和协作开发。

    简单来说就是一个资源文件的Log,由unity引擎自身管理,需要注意的是,如果删除了meta文件,Unity会重新生成一个新的meta文件,但是这个新文件的UUID可能与之前的不同,导致资源的引用出现问题。因此,一般不建议手动删除meta文件

(2)导出资源

    OK如果我们在一个场景辛辛苦苦编译好的内容,想分享给别人需要如何处理呢?很简单只需要右键Export package就可以了

    比如我想把整个Assert的内容分享出去,那就右键Assert文件夹,然后导出

    导出后可以看到一个unitypackage后缀的文件,这就是我们资源的所有信息

(3)导入资源

    嗯...导入这个资源包的方式大家不妨猜一下。没错!就是拖进去哈哈哈哈哈哈哈~方便展示我们先创建一个新的空项目,然后再拖进去就可以看到我们的资源啦:

好啦今天就到这里,感谢阅读!!!
点赞,关注!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/993319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

教育志愿者的初心与担当

近日,有报道显示,在全球范围内,大约有6000万的儿童由于各种原因无法接受基础教育,其中非洲大陆的教育贫瘠现象尤为显著。然而,在这片土地上,有一位中国年轻志愿者Lily Zhu,以一种富有创新精神的…

Mysql中in和exists的区别 not in、not exists、left join的相互转换

文章目录 1. in 介绍1.1 in中数据量的限制1.2 null值不参与in或not in,也就是说in and not in 并不是全量值,排除了null值1.3 in的执行逻辑 2. exists介绍2.1 exists not exists 是全量数据2.2 exists的执行逻辑 3. 小表驱动大表的好处4. in、not in、e…

图像噪声--添加噪声

椒盐噪声 椒盐噪声就是给图片添加黑白噪点,椒指的是黑色的噪点(0,0,0),盐指的是白色的噪点(255,255,255),通过num来控制噪声多少,值越大添加的噪声越多,图像损坏的更加严重。 void add_salt_pepper_noise(Mat& src,Mat& …

Mojo-SDK详细安装教程

Mojo-SDK安装 运行环境:windows11wsl2(ubuntu1804) 截至20230909,windows,mac系统暂时不支持 step1: Install VS Code, the WSL extension, and the Mojo extension. step2: Install Ubuntu 22.04 for WSL and open it. step…

Vue el-table 重置按钮设计模板

vue 文件演示模板 <template><el-button icon"el-icon-refresh" size"large" click"resetFunction">重置</el-button><el-tableheight"450"v-loading"loading":data"dataList":row-key&quo…

U盘插上就让格式化是坏了吗?数据怎么恢复

U盘插上就让格式化是坏了吗&#xff1f;当您遇到U盘插上后提示需要格式化的情况时&#xff0c;不要慌张。这种情况并不一定意味着U盘已经坏了。下面我们一起来了解下如何恢复里面的数据&#xff0c;并解决U盘提示格式化的问题。 U盘一插上就提示格式化是什么原因 许多人可能会有…

个人微信多账号聚合管理如何实现?

在日常工作中&#xff0c;您是否会遇到以下问题&#xff1a; 微信号多&#xff0c;需反复切换设备及账号&#xff0c;工作效率低。 无法快速响应客户消息&#xff0c;客户体验感差。 无法随时掌握员工与客户沟通情况&#xff0c;员工沟通质量难以控制&#xff0c;管理难。 员…

Spring系列文章:面向切面编程AOP

一、代理模式 1、代理模式使用场景引入 ⽣活场景1&#xff1a;⽜村的⽜⼆看上了隔壁村⼩花&#xff0c;⽜⼆不好意思直接找⼩花&#xff0c;于是⽜⼆找来了媒婆王妈妈。这 ⾥⾯就有⼀个⾮常典型的代理模式。⽜⼆不能和⼩花直接对接&#xff0c;只能找⼀个中间⼈。其中王妈妈是…

OpenCV 11(图像金字塔)

一、 图像金字塔 **图像金字塔**是图像中多尺度表达的一种&#xff0c;最主要用于图像的分割&#xff0c;是一种以多分辨率来解释图像的有效但概念简单的结构。简单来说, 图像金字塔是同一图像不同分辨率的子图集合. 图像金字塔最初用于机器视觉和图像压缩。其通过梯次向下采…

shell知识点复习

1、shell能做什么&#xff08; Shell可以做任何事(一切取决于业务需求) &#xff09; 自动化批量系统初始化程序 自动化批量软件部署程序 应用管理程序 日志分析处理程序 自动化备份恢复程序 自动化管理程序 自动化信息采集及监控程序 配合Zabbix信息采集 自动化扩容 2、获取当…

淘宝双11数据分析与预测课程案例中(林子雨)错误点总结

问题一&#xff1a;可视化代码中男女买家各个年龄段对比散点图中数值不显示以及坐标不正确问题如下图 解决方法&#xff1a; 1修改坐标 2修改数值 修改后散点图 问题二&#xff1a;各省份的总成交量对比中地图显示不出来 有时间再写

海量小文件传输对于企业选用文件传输软件的重要意义

在当前的商业环境中&#xff0c;数据具有极其重要的作用&#xff0c;是企业竞争的核心要素。随着互联网、物联网和云计算等技术的快速发展&#xff0c;数据的类型和规模变得越来越多样。在这其中&#xff0c;海量小文件作为一种普遍而重要的数据形式&#xff0c;扮演着连接信息…

新知同享 | Mobile 开发轻松跨屏,高效构建

谷歌致力于帮助开发者 更快、更轻松地打造高质量的移动体验 一起来看 2023 Google 开发者大会上 Mobile 开发值得重点关注的成果与更新 了解如何提高平台及应用质量 提升开发效率 使多设备开发体验更流畅 实现轻松跨屏&#xff0c;高效构建 精彩大会现场一览 用户对跨屏幕体验…

在k8s中创建ConfigMap的四种方式与初识helm包管理工具

非敏感数据&#xff0c;比如应用的配置信息&#xff0c;则可以用ConfigMap 创建configmap四种方式 &#xff08;1&#xff09;通过--from-literal&#xff1a; kubectl create configmap myconfigmap --from-literalconfig1xxx --from-literalconfig2yyy 每个--from-literal…

Revit SDK 介绍:Ribbon 界面

前言 Revit 通过 API 将完整的 Ribbon 做了保留&#xff0c;同时这些菜单按钮也可以和相应的命令绑定。 内容 运行效果如下所示&#xff1a; 菜单特写&#xff1a; Ribbon Sample 整体是 API 暴露出来的一个 RibbonPanel&#xff0c;对应的接口&#xff1a; namespace Au…

dll文件反编译源代码 C#反编译 dotpeek反编译dll文件后export

目录 背景下载安装dotpeek导入dll文件export导出文件参考 背景 项目合作的时候&#xff0c;使用前人的或者其他部门dll文件直接在机台运行&#xff0c;会出现很多问题&#xff0c;逻辑&#xff0c;效率等等&#xff0c;此时我们可以选择对他们的代码进行反编译和重构&#xff…

递归算法学习——被围绕的区域,太平洋大西洋流水问题

目录 ​编辑 一&#xff0c;被围绕的区域 1.题意 2.解释 3.题目接口 4.解题思路及代码 二&#xff0c;太平洋大西洋流水问题 1.题意 2.解释 3.题目接口 4.解题思路及代码 一&#xff0c;被围绕的区域 1.题意 给你一个 m x n 的矩阵 board &#xff0c;由若干字符 X 和…

对卷积的一点具象化理解

前言 卷积的公式一般被表示为下式&#xff1a; 对新手来说完全看不懂这是干什么&#xff0c;这个问题需要结合卷积的应用场景来说。 原理 卷积比较广泛的应用是在信号与系统中&#xff0c;所以有些公式的定义会按照信息流的习惯。假设存在一串信号g(x)经过一个响应h(x)时他的响…

高云USB下载器仿真器用户手册(包括在线逻辑分析仪的使用方法)

高云 USB 仿真器用户手册 一.简介 仿真器用于高云 GOWIN 公司所生产的 FPGA&#xff0c;可用于程序下载和调试。主要特点如下&#xff1a; 1.支持宽电压1.2V - 3.6V&#xff1b; 2.速度最高可达30Mb/s&#xff0c;极速完成下载和波形调试功能&#xff1b; 3.完美支持在线逻…

Java实现Modbus读写数据

背景 由于当时项目周期赶&#xff0c;引入了一个PLC4X组件&#xff0c;上手快。接下来就是使用这个组件遇到的一些问题&#xff1a; 关闭连接NioEventLoop没有释放导致oom设计思想是一个设备一个连接&#xff0c;而不是一个网关一个连接连接断开后客户端无从感知 前两个问题解…