《Unity着色器和屏幕特效》——导读

简介:


screenshot

前  言

Unity提供了一系列工具来帮助开发者创建和运行游戏项目。Unity 5用全新的标准着色器替换了大部分旧版着色器,为我们带来了功能上的重大升级。新着色器通过简单设置便可模拟真实物体表面上的很多物理特性。

本书将探索这一系列新着色器为我们带来的全新选择,以及学习它们如何与光照和特效相互作用,产生高质量的游戏画面。

为了实现当今游戏画面中的真实感,人们走过了一条漫长的道路。在过去相当长的时间里,实时光照所带来的额外运算量为游戏研发制造了很多困扰。有时候,实现真实感的重担直接落在了纹理美术设计师的肩上。他们不得不将许多静态的表面效果直接烘焙到游戏角色和材质的纹理当中。

这种静态烘焙的方法有时在一些动态的游戏角色身上难以达到理想效果——特别是当一个角色移动到较阴暗或者较明亮的空间中时,静态烘焙难以实现良好的亮度等级变化,使得游戏画面显得粗糙而不真实。

计算机图形理论的进化,特别是显卡设备的升级换代,使很多基于实时光照的技术能够更加高效地运作。同时这也使人们对现代游戏报以更高的期望——我们希望在充满动态光照的场景中看到更逼真的物体表面。

在本书中,读者将通过一个典型的科幻题材恐怖游戏来学习这些新的着色器和光照理论。基于此,我们将能够探索各式各样的光照和物体表面效果。

本书主要内容

在本书的不同章节中,我们将学习Unity 5中的所有主要着色器和效果。在每一章中我们会研究一个不同的场景文件。

第1章介绍基本概念,并通过为恐怖科幻游戏中的场景设置材质属性,展示Unity标准着色器的能力和局限性。

第2章继续设计飞船维修场景——通过创建自定义着色器优化游戏场景的外观。我们将从无到有创建自定义着色器,然后基于它,为头盔的透明外观和星球的大气创建更加复杂的效果。

第3章深入学习场景光照和自发光表面的关系,并在飞船驾驶舱场景中为一个星球模型实现全息影像效果。

第4章研究通过不同的技术在着色器中实现动画。在展示更复杂的基于自定义着色器的顶点动画之前,我们将演示如何通过滚动UV坐标和在C#中遍历纹理数组的方法来显示动画的全息影像。

第5章介绍在星球表面上所应用的各种透明效果,并且为多种材质指定现有的以及特殊创建的着色器。

第6章重点展示在Unity 5的标准着色器中,高光工作流和金属工作流的不同之处。

第7章展示在一个室内场景中为角色创建统一的皮肤和毛发着色器。本章中的第一个着色器为一些特殊的半透明材质(例如,宇航员的皮肤)实现次表面散射效果。紧接着我们将继续创建使用“基于物理渲染”方法的毛发和眼睛着色器。

第8章讲述如何创建实现烟雾、蒸汽和火焰的着色器。与前面章节类似,我们将不会满足于Unity的默认着色器,而是要为恐怖科幻游戏创建更高级别的电影效果。本章的场景将是飞船的走廊。

第9章研究如何在安卓和iOS等移动设备平台上测试自定义着色器。
阅读准备

完成本书中的各个章节需要读者具备基本的3D图形概念。此外还需要:
在计算机中安装Unity 5(macOS或者Windows均可)。免费个人版即可满足本书所有章节中的实例程序。该版本可以从Unity官方网站下载。

虽然书中所含代码均会被清晰地讲解,但是具备Unity脚本和C#基础知识会对理解本书内容有益。

读者人群

本书面向具有一定Unity和C#基础知识并希望为下一代游戏开发着色器和效果的中等水平的游戏开发者。我们假设读者对游戏开发和游戏美术设计的基础背景知识有一定了解。

本书约定

在本书中,不同类型的内容使用多种不同的字体风格。这里列举一些示例并阐述它们的含义。

目  录

[第1章 掌握标准着色器
1.1 创建程序项目 ](https://yq.aliyun.com/articles/109428/)
1.2 导入项目文件
1.3 加载飞船维修场景并在场景中漫游
1.3.1 为宇航员创建材质
1.3.2 为宇航员的装备创建材质
1.3.3 为飞船创建材质
1.3.4 为星球创建材质
1.3.5 设置天空盒
1.3.6 调节场景光照并添加效果
1.4 总结
[第2章 创建自定义着色器
2.1 打开程序项目 ](https://yq.aliyun.com/articles/109474/)
2.1.1 打开场景
2.1.2 创建第一个自定义着色器
2.2 进阶的透明效果
2.2.1 创建自定义透明着色器
2.2.2 编辑透明着色器
2.3 进阶的星球大气效果
2.3.1 创建自定义大气着色器
2.3.2 应用大气着色器
2.3.3 编辑大气着色器
2.4 总结

目录
打赏
0
0
0
0
1408
分享
相关文章
|
9月前
|
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
486 6
掌握这五大绝招,让您的Unity游戏瞬间加载完毕,从此告别漫长等待,大幅提升玩家首次体验的满意度与留存率!
【8月更文挑战第31天】游戏的加载时间是影响玩家初次体验的关键因素,特别是在移动设备上。本文介绍了几种常见的Unity游戏加载优化方法,包括资源的预加载与异步加载、使用AssetBundles管理动态资源、纹理和模型优化、合理利用缓存系统以及脚本优化。通过具体示例代码展示了如何实现异步加载场景,并提出了针对不同资源的优化策略。综合运用这些技术可以显著缩短加载时间,提升玩家满意度。
866 6
掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
459 4
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等