第一个Unity光照着色器-2

4340 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
适用于零基础学员学习着色器开发的基本知识
你将会学到
本套课程是系列课程的第一部分,也就是基础部分。向零基础学员讲解重要的图形化编程概念,使得大家可以上手做一些非PBR的着色器。
课程简介
  • 第一章,着色器是如何开发的。这一章讲解渲染和图形化编程的基础概念。我们会对什么是着色器有一个整体概念,学习图形管线的工作过程,渲染过程,光线行为,着色器以及渲染器类型。

  • 第二章,我们的第一个Unity着色器。这一章我们开始在Unity中编写我们的第一个着色器。包括工程设置,创建一个场景,语法,以及组成一个Unity着色器的各个部分。我们要编写的是一个简单的Unlit(无光照),monochrome(单色调)着色器。

  • 第三章,图形管线。这一章我们解释图形管线的工作过程,以及shader中的不同部分是如何嵌入到图形管线中的,我们要给图形管线输入哪些数据,它是怎么处理的,在这个过程中我们可以做些什么等等。

  • 第四章,坐标空间变换。坐标空间是图形管线中必须的,但是通常也是让人迷惑的部分。这一章我们向大家展示并且讲解每一个常用坐标空间,它们是用在图形管线的那个地方,以及Unity提供给我们的关于坐标空间变换的工具等等。

  • 第五章,我们的第一个Unity光照着色器。这一章介绍一些常用的光照概念,比如入射角(angle of incidence),以及一些近似方法,比如漫反射diffuse和镜面反射specular,以及如何在一个Unlit着色器中实现它们。这一章最后,我们会编写出我们的第一个自定义的光照着色器。

  • 第六章,镜面反射实现。这一章延续上一章,我们在上一章漫反射的基础上加入近似的镜面反射。本章也会解释如何在一个Unlit着色器中支持多个光源,也就是ShaderLab pass的实际应用。

  • 第七章,表面着色器。到目前为止,我们只使用了Unlit着色器,因为它们更直接,并且没有隐藏着色器与图形管线的交互细节。但是这些细节是很繁冗的,所以这一章我们介绍表面着色器,解释它们是如何节省我们的开发时间和代码量的。我们重新实现上面两个章节的Unlit着色器,但是是使用表面着色器,其中包含自定义的光照函数。


展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交