| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity重启2 --- 基础概念,材质与摄像机 -> 正文阅读 |
|
[游戏开发]Unity重启2 --- 基础概念,材质与摄像机 |
? ?1.Hierarchy面板中展现的是游戏物体之间的层级关系,这些层级关系被储存在场景文件中,我们可以在Assets面板中创建和保存场景文件 ? 1.一个游戏对象是一个容器,这个容器装的就是各种组件 1.网格过滤器用来获得模型的网格信息,得到模型的形状 2.网格渲染器:获取网格过滤器得到的模型的形状,然后对形状进行渲染,使其能够显示在屏幕上 3.一般在给游戏物体绑定父物体的时候我们都将一个空游戏物体来作为其父物体 4.当我们给一个游戏物体绑定了父物体之后,它的Transform组件中的Position,Rotation和 Scale都是相对于父物体的本地坐标系的,而不是相对于Unity的世界坐标系.0 1.材质是属于游戏资源的一部分,我们要在Project面板的Assets文件下创建它 1.左边还有一个框(现在看不见),这个框中放的是贴图,右边则是材质的颜色设置 点击颜色设置之后就会出现上面这个面板,下面的R , G , B , A分别是红绿蓝和透明度 1.创建好的材质应该拖到网格渲染器中的材质选项中的Element(元素)选项中 2.当把材质拖到游戏对象上后,我们依然可以在Mesh Render中修改游戏物体的材质,不过要注意的是在修改的时候,被我们拖到游戏物体中的材质资源也会跟着一起被修改,此时所有使用了这个材质资源的游戏物体的材质也会跟着一起边 3.我们可以直接将图片资源拖到游戏物体上,使得游戏物体上显示这个图片 这样一个步骤背后的原理是:首先Unity会自动帮我们生成一个材质,这个材质中将我们要拖过去的图赋值给了贴图框,然后Unity会自动将这个材质赋值到游戏物体的Mesh Render中的Element中,使其能够显示作为贴图的图片 (我们要显示的图片被自动赋值到了贴图框中) 这个选项是给我们调整游戏物体的渲染模式的 Opaque -- 不透明的(无论怎么条透明度都是处于不透明的状态) ; Cutout(去除透明通道 , 这个透明通道是美工自己设置的) --- 相当于将非透明通道图案裁剪出来 Transparent --- 透明的 ,使用这个渲染模式的游戏物体将会以可透明的方式被渲染? 选择了透明渲染模式之后我们还要设置游戏物体的透明度,透明度越小游戏物体越透明 在这个模式下透明度为0时,游戏物体也不会消失 Fade(逐渐消失) --- 这个渲染模式是用来做游戏物体的淡入淡出显示效果的 选择了这个模式后,游戏物体会随着透明度 / 颜色的改变逐渐变色(PS: 当透明度为0时,游戏物体会看不见(透明了)) 1.材质的本质是Shader的实例 --- shader是一个着色器类,而我们创建材质其实就相当于通过shader这个类实例化一个对象 2.shader(着色器)是一种专门用来渲染图形的技术 1.shader(着色器)类也有很多种,我们可以在材质的shader框中选择用那一个shader来实例化出材质?,不同shader类实例化出的材质都是不一样,这是因为不同的shader提供的可调节项是不同的(没错,除了用系统提供的shader外,我们还可以自己写shader来使用) 1.shader(着色器,一段代码,里面提供了很多关于画面的可调节项) 2.通过shader实例化一个material(材质),在材质中显示的都是我们在shader里添加的可调节项,我们可以在材质中具体的进行修改(其中纹理,颜色等等都是属于可调节项的一部分) 3.调完参数后的材质就能够拖到具体的游戏物体上进行显示了 4.shader着色器是可执行程序,Matetial面板其实就是程序的数据输入面板,输入完成后的matetial就是程序的输出结果,这个结果可以在具体的游戏物体上显示 5.游戏中任何能够看到的游戏物体都是由mesh render组件渲染显示出现的,如果我们想让游戏物体上显示某个图片的话,我们就必须将这个图片传给mesh render,让它进行渲染显示 而mesh render能够接收的图像形式是材质,所以我们要将图片传给材质,然后让材质传给mesh render 材质由shader实例化出来,一个材质能够接收图片的前提是,实例化它的shader中具有接收图片的选项 6.mesh render组件只具有将图像渲染出来的功能,而渲染出怎样的图像则由material来决定 7.shader着色器也是游戏资源的一种,也出现在Project面板中,导入shader着色器的方法: a.创建一个材质 b.将shader文件拖到这个材质处,此时材质的shader选项就会显示我们我们拖给它的shader着色器了,此时这个材质就是我们拖过去的shader实例化的一个对象 1.摄像机只能够看见视锥以内的物体,视锥以外的物体看不见 1.audio listener :音频监听组件 , audio source ; 音频播放组件 ? 1.什么是屏幕的空白部分?? 摄像机进行拍摄的时候,它能够拍摄到的画面中会有两个部分,一个是拍摄到的游戏物体部分,另一个就是没有拍摄到游戏物体的部分 这个没有拍摄到游戏物体的部分就称为屏幕的空白部分 2.Clear Flags选项就是在让我们选择处理屏幕中这些空白部分的方式 1.天空盒的种类主要是前两种:6个面(6 Sided)和 Procedural(程序的) 2.什么叫做六个面类型的天空盒呢? -- 就是具有6个图片的天空盒 3.虽然说天空盒的本质也是材质,但是它和普通的,用在游戏物体上的材质不一样,它是用来包住整个场景的,所以它的使用方式也和普通的材质有区别 第一种使用方法: 在摄像机游戏物体中添加一个skybox组件,然后将我们的天空盒材质拖到Custom Skybox选项中 custom(adj.定做的,自定义的) ? 1.按照第二种方法的次序点击之后就会在Inspector面板中出现 lighting 选项,在这里将天空盒材质拖到lighting 的 Skybox 选项中也能够完成天空盒的设置? 2.第二种天空盒的设置方法是我们最常用的。第一种设置方法相当于直接将摄像机拍摄到的空白部分用天空盒材质填上,而第一种设置方法则是将天空盒材质加载到整个场景中,此时场景中的光照也会跟随天空盒材质发生改变,使得摄像机拍摄到的场景相对于直接用skybox材质填充更加真实 1.程序模式下的天空盒能够调整颜色,且会自动生成太阳(6个面模式下的天空盒不会具有这种功能) ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/17 5:51:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |