Unity和Shader入门(四)
前面我们学习了基础纹理和法线纹理,现在我们认识到纹理就是顶点的某种数据,我们下面将学习渐变纹理和遮罩纹理。之后我们再补充一些透明的基本做法,那么入门精要的基础篇就完成了。
前面我们学习了基础纹理和法线纹理,现在我们认识到纹理就是顶点的某种数据,我们下面将学习渐变纹理和遮罩纹理。之后我们再补充一些透明的基本做法,那么入门精要的基础篇就完成了。
本文将使用Unity Shader实现直接光照(无纹理)的Cook-Torrance模型,该模型是一种常见的PBR渲染,但要注意这里实现的模型是只有直接光照的,这意味着纹理贴图、环境光等内容完全不关心,只了解PBR的光照部分是怎么实现的。
用冯乐乐大神的《Unity Shader入门精要》入门,记录个人整理的知识点和代码。现在我们进入光照部分,原理见Games101,这里注重实现不再赘述原理;纹理基础也在这一篇博客中。
用冯乐乐大神的《Unity Shader入门精要》入门,记录个人整理的知识点和代码。本篇博客本来应该讲到数学基础,不过由于在Games101系列第一篇博客笔记中已经有一致的内容,这里就不复习了,如有看客可以移步标签查找。本篇博客会先举例说明变换的作用,就直接进入Shader的编写了。
在前面的博客中我们介绍过一次Cinemachine的基本功能,包括,CinemachineBrain和Virtual的使用,结合动画系统,我们这里练习两种控制方式的制作。俯视角的相机常用在2.5D的游戏中;第三人称相机就不用说了,很主流的视角。注意,我们介绍中的解决方案可能不是十分完美,可以简单了解如何实现相机和动画、移动的统一。
这次我们来学习动画片段的三个基本操作,分割,事件,修改Curves。虽然我们不是动画师,但是有必要对Unity的动画系统有全面的了解。
做好了角色控制器以后,是时候进一步填充游戏内容了,我们接下来还是学习动画,Animation Layer可以帮助我们在角色上播放不同的动画,让角色持有武器并移动的动作通过移动和握持两个动画来实现;更进一步的IK则会帮助角色适应不同地形。除了前面实现角色基本移动功能的状态机,root motion等,这两个功能都很有必要学习。
上期主要说了New Input System和Root Motion核心机制,这次我们将在Blend Tree中使用Root Motion,配合Character Controller组件和Cinemachine,可以制作一个角色的移动系统了。注意,这里并没有详细讲解如何制作,只包括这三个组件的介绍。可能后面会有专门的博客提供解决方案。
除了上次介绍的内容外,这篇博客中我们还会进一步使用New Input System和Root Motion,后者是很常见的动画概念,动画是可以包含角色移动控制的,这里会着重讲解。
有了场景,我们想让角色动起来,制作一个移动系统,使用IK动画来进行优化,然后配合第三人称摄像机,就可以在自己制作的场景中漫游了。其中动画系统的使用是重点,无论是角色在各种地形上动画的矫正,还是移动时动画的播放,都需要我们完全掌握动画系统的使用,这篇博客就详细说明动画系统各个部分的使用,主要是前面没有提到过的内容。