226 lines
8.9 KiB
Markdown
Raw Normal View History

2023-12-08 11:17:11 +08:00
---
title: 卡通渲染开发总览
date: 2023-12-08 09:59:57
excerpt:
tags:
rating: ⭐
---
# 目录
2023-12-08 18:00:41 +08:00
- [[卡通渲染相关资料]]里面的有原神、碧蓝幻想、罪恶装备、赛马娘、黑丝指的参考。
- 做完基础功能之后,再逐个寻找新的功能点与方向。
- [[知乎FlashYiYi的卡通渲染分享]]里面有许多Fake技巧
- 参考对象分析
- 星穹铁道
2024-02-27 18:28:22 +08:00
- UnityChan
2023-12-08 18:00:41 +08:00
- 破晓传说
2024-03-06 22:21:43 +08:00
- 蓝色协议
- 蓝色反射
2023-12-08 18:00:41 +08:00
- 非人学园2
2023-12-08 23:42:36 +08:00
- 少女前线2 追放
2024-02-02 12:39:48 +08:00
- https://www.bilibili.com/video/BV1pt421H7EH/?buvid=38ddfe416af6e23f1aada0674f307e3e&from_spmid=tm.recommend.0.0&is_story_h5=false&mid=a0AUwJxrG%2FcYg0AorRjOGA%3D%3D&p=1&plat_id=116&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=CD0CF499-8DF5-48F5-A03A-7A3AE61FFF3A&share_source=COPY&share_tag=s_i&spmid=united.player-video-detail.0.0&timestamp=1706754945&unique_k=44q6hra&up_id=140517136&vd_source=d47c0bb42f9c72fd7d74562185cee290
2023-12-08 23:42:36 +08:00
- 明日方舟终末地
2024-06-17 22:54:36 +08:00
- 其他人的作品
- [muro_cg](https://www.youtube.com/@muro_cg)
- [Nevrwind](https://space.bilibili.com/397442)
- 【【UE5动画】你会来的对吗】 https://www.bilibili.com/video/BV1kw4m1e7qZ/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
- 【【UE5卡渲】椿 - K表情练习】 https://www.bilibili.com/video/BV1ay411b7Cm/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
2024-06-29 22:07:15 +08:00
- 卡通渲染晕染效果【【UE5】一些最近做的好玩的卡渲后效】 https://www.bilibili.com/video/BV1gi421v7HA/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
2024-06-17 22:54:36 +08:00
- 动漫制作
- 【日本最顶级的3D动画制作过程【GBC官方动捕制作片段】】 https://www.bilibili.com/video/BV1uM4m1U7CL/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
2023-12-08 11:17:11 +08:00
2023-12-08 18:00:41 +08:00
>PS. 先实现一波Cel之后再实现Thickly - Coated。
2023-12-08 11:17:11 +08:00
2023-12-08 18:00:41 +08:00
# 最近开发计划
2024-02-18 17:15:21 +08:00
1. [x] 添加ShaderModel
2023-12-16 22:52:46 +08:00
1. https://zhuanlan.zhihu.com/p/658700282
2. https://zhuanlan.zhihu.com/p/597568404
2024-04-30 21:44:26 +08:00
2. [x] 给材质添加一些属性
1. [x] 移植ToonDataAsset。
2024-04-30 17:02:02 +08:00
1. [x] MaterialInstance Override 完成
2024-04-30 21:44:26 +08:00
2. [x] 添加BackFace Outline基础代码。
2024-03-26 22:25:18 +08:00
3. [x] 添加材质自定义Output节点。
4. [x] 给GBuffer结构体添加子ToonBuffer结构体。
2024-05-10 12:48:38 +08:00
5. [x] ShaderModelToonStandard
1. [x] 实现初版ToonStandard。
2024-04-30 21:44:26 +08:00
6. [ ] ToonOutline(后处理)
2024-05-10 21:33:02 +08:00
1. [ ] ID、Depth、Normal Outline
2024-08-11 18:05:56 +08:00
1. [x] FOV宽度适配
2024-08-08 10:45:32 +08:00
2. [x] ScreenPercentage、DPI宽度适配包括Editor Overrider
2024-08-11 18:05:56 +08:00
3. [ ] 后处理描边的内外描边问题。深度描边会描内部与外部。导致一些比较近的地方深度描边比较细。
2024-08-11 23:27:27 +08:00
4. [ ] ToonOutlineDataAsset 添加深度&法线描边开关选项。
5. [ ] ToonOutlineDataAsset ID描边实现。
2024-05-10 21:33:02 +08:00
2. [ ] SDF Outline
2024-08-11 18:05:56 +08:00
1. [ ] 将OutlineMask 16位 15位存储SDFOutline + 1位存储Mask。
2. [ ] https://www.shadertoy.com/view/4lfyR2
2024-06-02 23:09:15 +08:00
3. [ ] BackFaceOutline
2024-05-10 15:17:53 +08:00
7. [ ] ToonPostProcess
2024-05-13 08:14:53 +08:00
1. [ ] ToonBloom
2024-06-02 23:09:15 +08:00
2. [ ] 实现一波Anti-Lut
2024-05-13 08:14:53 +08:00
8. [ ] ToonRimLighting
1. [ ] 后处理边缘光
2. [ ] Matcap
2024-06-02 23:09:15 +08:00
3. [ ] ASoul边缘光
2024-05-13 08:14:53 +08:00
9. [ ] Reflection控制
10. [ ] GI
11. [ ] 阴影控制
2024-06-24 16:01:26 +08:00
1. [ ] CustomDepth制作头发阴影偏移效果哦 https://zhuanlan.zhihu.com/p/689578355
12. [ ] ToonTranslucent
13. 添加Debug View https://zhuanlan.zhihu.com/p/668782106
14. [_UE5_ Shader Print系统](https://zhuanlan.zhihu.com/p/637929634)
15. GBufferView实现。
16. Toon Debug模式可以让美术在材质进行进行简单的光照计算。
17. ToonShadow
2024-03-03 18:13:23 +08:00
1. ![[星穹铁道中下巴阴影处理.png]]
2024-06-24 16:01:26 +08:00
18. 考虑往GBuffer中添加更多数据考虑Velocity以及SingleLayerWater
2024-03-09 20:59:34 +08:00
1. ShaderMaterialDerivedHelpers.cppShader宏、GBufferInfo.cppGBuffer格式BasePassRendering.cpp950行SingleLayerWater写入GBuffer格式相关
2. 确定一下SingleLayerWater中VSMFiter与DistanceFieldShadow对渲染结果的影响之后在文档中说明。
2024-06-24 16:01:26 +08:00
19. 修复SIngleLayerWater的缩略图渲染渲染错误双击会有一瞬间的错误产生
2024-06-29 22:07:15 +08:00
20. ToonLumen、GI以及晕染效果实现。![[卡通渲染晕染效果.mp4]]
2024-02-18 17:15:21 +08:00
2024-05-10 15:17:53 +08:00
TODO:
2024-05-10 17:16:01 +08:00
- [ ] ShadingModels.ush 完善Hair高光、自定义高光
2024-05-10 17:24:44 +08:00
- [ ] 实现对应后处理效果的ComputeShader版本。
- [ ] ToonOutline
- [ ] RimLighting
2024-05-10 15:17:53 +08:00
2024-02-18 17:15:21 +08:00
>修改标记方便后续删除备注//BlueRose Modify //BlueRose Modify End
2024-02-18 18:15:49 +08:00
>// Copyright BlueRose, Inc. All Rights Reserved.
2023-12-16 22:52:46 +08:00
2023-12-18 11:48:10 +08:00
# 渲染功能兼容的游戏
- [ ] 罪恶装备
- [ ] 原神
- [ ] 星穹铁道
- [ ] 绝区零
- [ ] 蓝色协议
2023-12-16 23:09:19 +08:00
# 卡通渲染引擎功能总览(按照渲染顺序进行排序)
- GBuffer For ToonShaderModel
- [[GBuffer&Material&BasePass]]
2024-04-04 21:48:26 +08:00
- [[ToonShaderModel]]
2024-04-04 15:31:13 +08:00
- ToonStandard
2023-12-08 18:00:41 +08:00
- Thickly - Coated
- 描边
- [[描边]]
- ![[描边#实现功能]]
- 阴影
-
- 边缘光
- 其他特性
- [[Toon眼睛渲染]]
- [[Toon眉毛渲染]]
## 待实现功能
知乎提到的渲染功能:
- 发尖勾线 https://zhuanlan.zhihu.com/p/405518306
- SDF 描边
- https://zhuanlan.zhihu.com/p/113190695
- https://zhuanlan.zhihu.com/p/360229590
- 屏幕空间深度边缘光 Screen Space Depth Rimlight
- https://zhuanlan.zhihu.com/p/139290492
- 原神实现
- https://zhuanlan.zhihu.com/p/435005339
- 遮挡时的模糊网点效果
- https://zhuanlan.zhihu.com/p/370140711
![](https://pic4.zhimg.com/80/v2-c28b540503341f32431aa34ad2a24fa7_720w.jpg)
![](https://pic1.zhimg.com/80/v2-0703306dff26079866330cdd3a3c2cd8_720w.jpg)
按照需求优先级进行排列:
- [ ] Anit-Lut功能
- [ ] Anit-ToneMapping
- [ ] 完整的Anit-Lut功能虚拟拍摄也会用到
- [ ] 描边改进
- [ ] 后处理部分,使用蓝色协议的方案
- [ ] MultiDraw BackFace部分
- [ ] 绘制轮廓方法落地本村线、SDF
- [ ] 使用添加MeshDrawPass的方式实现比较完美的BackFace
- [ ] ToonData与ToonWorldSettings改进
- [ ] 增加多个SSS 预积分贴图功能
- [ ] 将材质以外的参数都集中到ToonWorldSettings类中以方便调节
- [ ] 面部光影方案改进
- [ ] 在GBuffer中添加额外面部自定义法线
- [ ] SDF面光方案
- [ ] 角色面部Anit-Perspective 与 手指放大效果
- [ ] 模仿VRM4U的参数
- [ ] 参考AnimMaker
- [ ] https://www.patreon.com/posts/56089741
- [ ] 后处理
- [ ] 原神 辉光效果
- [ ] TAA抗锯齿 => Responsive AA解决Outline模糊问题
- [ ] 影视级Bloom实现
- [ ] 眉毛效果
- [ ] 可以考虑使用TranslucencySortPriority来解决
- [ ] 通过MeshDrawPass实现眉毛最前显示效果
- [ ] 实现眉毛描边效果
- [ ] 额发效果
- [ ] 额发阴影效果(衣服阴影效果)
- [ ] 实现半透明额发
- [ ] 天光与间接光处理
- [ ] 为了防止环境光把角色照出立体感,所以计算环境光时,会把法线全部看作世界空间上方向来处理。同时增加了一些参数可以进行一些定制化调整。
- [ ] 使用顶点色与第二套UV来修改一些可以实时修改的效果
- [ ] 实现PBR <=> Cel 卡通渲染效果的参数切换
- [ ] 使用Kawaii插件实现柔体效果
- [ ] 后处理边缘光落地
- [ ] SSGI 卡通渲染适配实现AnimMaker 中的一个效果
2023-12-16 22:52:46 +08:00
- [ ] 丝袜 https://zhuanlan.zhihu.com/p/636157482
2023-12-08 18:00:41 +08:00
[[厚涂风格研究与开发笔记]]
- ShaderModel
- 分阶着色
- 二阶化:
- 多阶化:
- 自定义次表面(暗部)颜色
- 颜色过渡(羽化):
- lut待讨论
- 高光
- 高光贴图
- 高光颜色
- 参数化高光形状
- 多层高光
- Shader内编辑法线
- N=_scale * L + N
2023-12-08 13:04:35 +08:00
- 描边
- 外描边:后处理描边 、 Mesh挤出 2种方式原神采用了Mesh挤出。
- 内描边后处理、SDF描边、本村线 3种方式
- 使用Mesh基础、后处理、模型绘制。后处理传递Id贴图
- 阴影
- 自定义阴影颜色
- 自定义阴影范围
- 自定义阴影形状
- 阴影过渡sdf阴影
- 边缘光
- 边缘光是否受到光照影响
- 多层边缘光
- 边缘光衰减(入射角度更明显 or 背光角度更明显)
- 多光源支持
- 根据相机角度调整模型(非必要)
- 眼睛
- 反射 环境反射或者matcap支持
- 内阴影 AO实现或者画死的内阴影
- 瞳孔 瞳孔缩放
- 视差和效果 凹凸效果
- 高光 自定义高光形状&位置
- 高光流动效果
- 头发
- 各项异性头发
- 高光扰动
- 高光贴图
- 自定义高光属性
- 高光天使环
- 无各项异性头发
- 自定义高光参数
- 高光贴图
- 高光天使环
- 特殊效果
- 眉毛/睫毛不受遮挡
- 自发光
- 阴影内素描效果
2023-12-08 18:00:41 +08:00
- 后处理效果
2023-12-08 13:04:35 +08:00
- 后处理 辉光效果
- 之后提到了SunFlare应该是那个屏幕后处理效果。卡通渲染很依赖体积光所以自然会有好的效果假也没关系假才是对的。谷歌搜SNN Filter https://www.shadertoy.com/view/MlyfWd
- 旁边的Kuwahara应该是个类似的算法64采样。
2024-01-01 18:01:54 +08:00
# 动画技法
- 三维动画里的仿二维动画抽帧技法教程:https://www.bilibili.com/video/BV1154y1j7tD/?spm_id_from=333.788.recommend_more_video.8&vd_source=d47c0bb42f9c72fd7d74562185cee290