Unity3D 5 官方教程:标准着色器:内容和环境;金属与镜面工作流

本文主要是介绍Unity3D 5 官方教程:标准着色器:内容和环境;金属与镜面工作流,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内容和环境

当在Unity中考虑光照,很方便将概念区分。被称为“内容”的是被光照和被渲染的物品;而环境,是场景中存在的,影响了被照射物体的光。

环境

当光照一个物体时,搞清楚影响此物体的光源是哪个很重要。通常在场景中存在有向光源:已经放置在场景内的游戏对象。也有非有向光源,如反射和散射光。这些都会在物体的材质上产生影响,来形成摄像机看向物体表面时的最终效果。
可能被认为是“内容”的物体,也可以成为另一个物体的部分光照环境。一个好例子是,沙漠地表上的建筑。建筑可以从天空盒得到光照信息,并且可能接收到周围地面的反射光。
然而,可能有个角色站在建筑物的外墙附近。对于这个角色,建筑物是光照环境的一部分——它可能产生个阴影,它可能从外墙产生照在角色上的反射光,或者角色可能拥有反射部分,直接反射了建筑物自身。

默认的光照环境

At startup, Unity 5 shows an empty scene. This scene already has a default lighting context available with ambient, skydome-based reflections and a directional light. Any object placed in that scene should, by default, have all lighting it needs to look correct.
在启动时,Unity5 展示了一个空的场景。这个场景已经有一个默认光照可用:有环境,基于天空穹顶的反射和一个有向光。任何放置在场景中的物体,默认拥有让它看起来正确的所有光照。
添加一个球体到场景中,看看默认光照的效果。
这里写图片描述
添加的球体将使用默认的标准着色器。将摄像机聚焦到球体上会导致像这样的情况:
这里写图片描述
注意沿球体边缘的反射以及铭感的环境,从棕色(底下)到天空蓝(顶部)。默认地,在一个空场景中,所有光照环境起源自天空盒和一个有向光(场景默认添加的)。
当然,这是默认设置,在某些情形下,一个单一光源和天空反射并不足够。可以容易地添加光照和反射探针:
反射和光照探针如何工作的深入了解,请阅读文档中关于光照探针和反射探针部分。

天空盒

一个天空盒,烘焙了的或者procedural?,可以是光照设置的一个完整部分。它可以被用来控制环境光和在物体上除了渲染天空之外的反射。Procedural天空盒也允许直接设置颜色,创建一个日轮来代替使用位图——更多信息可以在天空盒文档中找到。
虽然反射天空盒对于场景中的很多物体有用,特别是户外场景;也经常有需要变化物体使用的反射的情形——可能在户外场景中有暗的区域,如小巷或茂密森林,或有要求反射的内部区域来匹配每个空间(?)。
为了达到这些多变的反射要求,Unity有反射探针,允许在场景空间中的一个特定点取样环境,对任何邻近此点的物体作为环境光和反射源,而非默认的天空盒。反射探针可以放在场景中任何天空盒不充分或不合适的位置。

全局照明

全局照明的概念是Unity5不可或缺的。包括标准着色器和Unity5的GI系统已被设计为彼此工作良好。GI系统关注于创建和追踪反射光,来自放射性材质的光,以及来自环境的光。
环境是图像整体外观极为重要的部分。在这个粒子里可以看到,环境中场景反射改变了,而内容和摄像机保持原样。
这里写图片描述

内容

内容是用来描述场景中被渲染物体的术语。它们的外观:是光照环境作用在已被应用到这些物体上的材质的结果。

材质编辑器

当在使用了标准着色器的检视器里查看材质时,编辑器显示材质的所有参数,包括纹理、混合模式、遮罩以及第二贴图。浏览后可以看到哪些属性被使用以及预览材质。由于标准着色器是数据驱动的:Unity将仅仅使用:已经被用户为材质设置的配置所要求的着色器代码。换言之,如果一个材质的特征或纹理槽不被使用,它就不产生开销,并且着色器结合在场景后被优化。
这里写图片描述
Tip:可以使用Ctrl+左键在纹理片上来查看大的预览,这也可以分别检查颜色及alpha的内容!

如何创建一个材质

为了表示极大数量的材质类型,标准着色器考虑许多配置。值可以用纹理贴图或颜色选择器及滑块来设置。普通的UV贴图在配合纹理中被要求,来描述网格哪个部分对应纹理贴图的哪个部分。当在配合镜面和平滑贴图或者金属贴图使用时,标准着色器材质允许在相同网格有不同的材质属性。即,可以在一个网格创建橡胶,金属以及木头;考虑到在材质边缘间光滑边界和过渡,纹理的分辨率可以超过多边形拓扑;当然这意味着在工作流中更大的复杂度,但这将依赖于纹理创建的方式。

材质的纹理以两种方式之一创建——在如PS的2D图像编辑器中绘制并混合;或从3D包中渲染/烘焙,这也可以利用更高分辨率模型来生成除了albedo、镜面、以及其它贴图之外的法线贴图和遮挡图。
一般地,没有纹理贴图应当包含内在光照(阴影,高光,等等)。PBS的一个好处是:如果贴图已经包含光照信息,那么物体对(其它?)光的反应,将不可能存在。

金属 vs 镜面 工作流

两个工作流

当用标准着色器创建一个材质,有使用两种风格的选择:“标准”和“标准(镜面设置”。他们在采用的数据上存在如下不同:
标准:着色器曝光在“金属光泽”的数值,无论材质是否为金属的。在金属材质的情形下,Albedo色将控制镜面反射的颜色,大部分光会被以镜面反射的方式反射。非金属材质将会镜面反射与入射光相同的颜色,并会仅仅在看向表面时进行反射。
标准(镜面设置):对传统方法选择此着色器。一个镜面颜色被使用,来在材质上的控制颜色和镜面反射的强度。这使得 比如拥有与漫反射不同的颜色这种事成为可能。
使用以上方法之一,对大部分普通材质达成良好的表现效果是可能的;选择哪一个,取决于适宜你的艺术工作流的偏好。例如,下面分别是在标准和标准镜面工作流下创建的一个橡胶塑料材质:

随着材质的表面变得更平滑,菲涅尔效果在入射角可见,与观察者越来越明显有关。
第一幅图代表了金属工作流,我们设置了材质的Metallic为0(非金属)。第二个设置几乎一样,但我们设置Specular接近为黑(所以没有得到如金属镜面那样的反射)。
可能会有这些疑问:值如何得到的,什么是“接近黑”,以及到底是什么让草与铝不同?在基于物理着色的世界里,可以参考已知的真实世界材质。这些参考的一部分已经集成了,可以用来创建自己定制的材质。

这篇关于Unity3D 5 官方教程:标准着色器:内容和环境;金属与镜面工作流的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1002107

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip