写在前面
- 马上毕业了;
- 工作之后作为弟弟TA使用商业引擎 Unreal 产出,我对它还很陌生,有些担忧;
- 个人感觉还是 Unity 好用,Unreal仿佛是写了一个游戏模板,大部分用户直接套,特殊需求不得不改源码,辛亏UE4开源,或者说UE4不开源没法用;
- 大学最后半年各种事情,最后十几天必须赶紧熟悉一下Unreal,害怕自己去了公司被工友嫌弃;
- 我的引擎版本是 UE 4.25.1 源码版;
- 我是UE萌新,说的不对请见谅,欢迎指正;
- 我发现在知乎的网友们知道点点赞同,优快云大家只知道白嫖?!
我的 6300hq 打开 VS 之后,卡的让人难以忍受,智能提示插件大概率不工作,辛亏我脾气好

正文
下面是新建ShadingModel的流程
C++ 部分
1. 增加一个Shading Model枚举
在Engine\Source\Runtime\Engine\Classes\Engine\EngineTypes.h 文件的 enum EMaterialShadingModel 中添加一个新的 Shading Model 。

我增加的是 MEM_Toon_01,这个 EMaterialShadingModel 枚举对应材质编辑器 Details 面板中的 ShadingModel,显示为 “Cartoon 01”。
2. 增加对应的关键字
如果 ShadingModel 为我们的"Cartoon 01",我们需要预处理判断来走这个分支,也就是在生成 HLSL 代码的时候,序列化的内容。
我这个版本(4.25.1)在 Engine\Source\Runtime\Engine\Private\Materials\HLSLMaterialTranslator.cpp

这篇博客介绍了在Unreal Engine 4.25.1中创建新Shading Model的步骤,包括在C++中添加枚举、关键字和材质接口,以及在Shader部分定义关键字、处理光源数据和实现着色计算。通过这个过程,作者展示了如何为Unreal添加卡通渲染风格的Toon 01 Shading Model,并提供了相关的参考资料。
最低0.47元/天 解锁文章
948





