engine

UE 4.27 添加自定义 ShadingModel

基于 UE 4.27 的版本添加自定义的 ShadingModel ,大致分为两步: 1. 在 UE Editor 中添加自定义的 ShadingModel 入口。这样在创建材质时可以选择对应的 ShadingModel 。 2. 在 Shader 中对自定义的 ShadingModel 做渲染上的处理。比如自定义的 BxDF 函数,以及对光照的特殊处理等。
2022-12-27
3 min read

用 UE4 虚幻引擎做个捏脸小功能~~

最近在学习 UE 相关的使用,正好看到一篇文章讲解用 Control Rig 实现简单捏脸功能,这种小而美的完整案例挺适合来练手的,涉及到了 UI、蓝图、动画、骨骼等方面,值得推荐一下。
2022-11-05
3 min read

UE4 材质练习 之 凹凸贴图偏移的使用

UE 中提供了 凹凸贴图偏移 的贴图来实现修改 UV 坐标达到提升表面细节,使材质产生深度错觉。凹凸贴图偏移是 UE4 中的术语,其实就对应于 LearnOpenGL 网站上的 视差贴图。
2022-09-12
3 min read

UE4 材质练习系列基础

学习 UE4 虚幻引擎的一些练习。
2022-09-10
4 min read

Unity Shader 光照基础之 Half Lambert 光照模型

Half Lambert 模型(也叫作半兰伯特模型)在 Lambert 模型的基础之上做了一些优化。 在 Lambert 模型中,光照无法到达的区域,比如模型的背面,模型外观通常是全黑的,没有任何明暗变化,而 Half Lambert 模型就是改善这一状况。 回顾 Lambert 模型的计算公式如下: $c_{diffuse} = (c_{light} \cdot m_{diffuse}) \cdot max (0,n \cdot I)$
2021-09-02
2 min read

Unity Shader 光照基础之Lambert光照模型

在标准光照模型中,可以把光照分为四种: 自发光。常用英文 emissive 来表示,用于描述当给定一个方向时,一个物体表面会向该方向发射多少辐射量,也就是有多少光照出来,一般计算都忽略这个值了。 高光反射,也叫作镜面反射。常用英文 specular 来表示,用于描述当光线从光源照射到模型表面时,该表面会在完全镜面发射反向散射多少辐射量,也是就发出多少光。 漫反射。常用英文 diffuse 来表示,用于描述当光线从光源照射到模型表面,该表面会向每个方向散射多少辐射量,也就是发出多少光。 环境光。常用英文 ambient 来表示,用户描述其他所有间接光照。 用一张图来表示各个光照: 而 Lambert 光照模型主要是处理物体漫反射的。
2021-09-02
5 min read

Unity Shader 光照基础内容

光照可以说是整个计算机图形学里面最重要的部分了,当展现物体时如何模拟真实世界中的光照环境,这往往是很复杂的。 由于光是可以散射的,一个物体不仅仅可以接收来自直接光源的照射,还可以接收来自周围环境的散射光,而在渲染时,要计算周围环境的散射光就无疑加大了计算量,因为周围环境远比光源复杂多了。 下面就是一张很逼真的光照渲染实例: 如果说这是用手机拍的照片,可能我都分不出来哪里有问题,而计算机模拟真实感渲染就是追求这一目标吧。
2021-09-02
2 min read

Unity Shader 显示一张图片纹理

用 Unity 去显示一张图片纹理比用 OpenGL 代码去显示图片要简单多了,而这正是因为 Unity 在背后做了很多封装工作。 要显示的图片如下所示: 它的分辨率是 2560x1600 ,也就是矩形图片,并非正方形。
2021-08-23
4 min read

UnityShader 的基本概念

Unity 中的 Shader 不同于 OpenGL 的 GLSL ,它是通过 ShaderLab 语言编写的。 ShaderLab 是 Unity 为开发者提供的高层级的渲染抽象层,它是一种说明性语言。
2021-08-15
3 min read

Unity 物体的基本操作

Unity 的基本操作主要是对游戏对象的操作,包括观察视角、平移、缩放、旋转这些。 更具体一点就是控制面板上这几个按键如何操作:
2021-08-14
2 min read