自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 UE4从零开始的卡通渲染——阴影篇(三)

UE4从零开始的卡通渲染前言 我们在阴影篇一中提到过用SmoothStep函数的形式来进行色阶分离,并且还支持自定义阴影颜色。如下图所示但是考虑到实际开发项目中,有可能对阴影的过度颜色有更高的要求,例如下面这种样子,这样的画阴影颜色和平滑区域的颜色有很明显的区分,这样的话我们之前的材质球就不支持了。所以我们接下来要做的就是实现可以自由替换阴影颜色以及过度去区域的表现。原理 首先就是我们必须要支持可以通过替换纹理来进行上方的效果表现。先去PS...

2022-03-22 22:28:39 1045

原创 UE4从零开始的卡通渲染——阴影篇(二)

卡通渲染——阴影篇(二)前言 上一篇中我们已经实现了卡通渲染最基本的色阶分离的效果,并且与原生UE渲染效果进行了比较。虽然整体效果是有了但是细节上还是缺少打磨,所以接下来我们看看该如何修改我们的效果问题 当我们拉近观察人物的脸部的时候,发现由于我们计算的是脸部的法线与灯光的点乘,所以在一些角度下脸部的阴影显得有些凌乱,不符合卡通渲染的大范围阴影的形式。实现效果 我们要做的是简化脸部的阴影,例如下图的显示,脸部的阴影简化以后,看上去...

2022-03-20 19:33:31 1969

原创 UE4从零开始的卡通渲染——阴影篇(一)

UE4从零开始的卡通渲染前言 由于工作的需要,开始去了解卡通渲染。针对于4.27.2版本的UE4来进行实现一套自己的卡通渲染效果。也算是对自己这段时间的学习的一个总结吧。废话不多说,我们直接开始。卡通渲染的阴影 要想实现卡通渲染的阴影,我们必须知道卡通渲染的阴影特点是什么。首先最明显的就是一个色阶分离的效果。什么叫做色阶分离呢?我们先来看一下UE4原本的渲染的阴影效果。 可以看到这个球面的阴影边缘是非常柔和,具体的计算我们可以去看UE4中Mo...

2022-03-19 18:20:32 2774

原创 Linux mv命令 忘记带上 /符号会怎么样

之前 学习linux 的时候 原本只是一个简单的 mv /bin/ls /root 的命令。因为一时粗心 漏了/ 写成了mv /bin/ls root。当时整个人有点懵逼,怎么也找不到对应的ls文件了。后面查找资料才知道,这种情况一般是将 /bin/ls 移动到当前目录 并且改名叫root。所以只需要 mv root /bin/ls 就能恢复了。...

2020-07-18 19:01:02 268

原创 C++对象模型小记

C++对象模型小记C++对象模型虚继承对象模型对程序的影响对象赋值的差异继承与成员变量非静态成员函数的调用C++对象模型在C++的对象模型中,非静态成员变量和虚指针(如果存在虚函数的话)会保存在每个对象之中,剩下的函数以及静态的成员变量则存在于对象之外。所以一般计算一个对象所占内存的大小,则只需计算对象中所有非静态成员的所占有的内存大小,以及如果类中存在虚函数,则要多加上一个指针的大小。例:class Point{ public: Point(float xVal); virtual ~P

2020-06-28 21:20:08 120

原创 一个小时复习线性代数:1线性代数——行列式

行列式认识行列式行列式的计算行列式的性质余子式,代数余子式认识行列式行列式在数学中,是一个函数,其定义域为det的矩阵A,取值为一个标量二阶行列式 ∣1223∣\begin{vmatrix}1&2\\2&3\end{vmatrix}∣∣∣∣​12​23​∣∣∣∣​三阶行列式∣123234457∣\begin{vmatrix}1&2&3\\2&3&4\\4&5&7\end{vmatrix}∣∣∣∣∣∣​124​235​347​∣∣∣∣∣∣

2020-06-26 23:11:51 478

原创 C++后台面试常见的一些问题

事先声明,这篇博客仅仅用于个人记录一下知识点,里面很多内容都是参考网上的教程再加上自己的一点理解写成的,不对正确性打包票,阅读之前请注意一下。一,指针和引用的区别1,指针是一个对象,有自己的内存空间,有空间自然也有地址。2,引用,相当于某个变量的别名。在声明的同时必须被初始化,这点指针不需要。3,引用一旦被初始化后,就不能在更改自己所代表的变量了。类似于常量指针。二,堆和栈的区别1,c++内存分为...

2018-04-17 22:58:21 301

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除