返回「计算机、信息技术与工程」
Live2D平滑渐变方案
本文目录 3 个章节
Live2D平滑渐变方案
note · 我的 UWA 问答 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者;回答保留当时语境,技术结论可能受 Unity 版本、平台和项目条件限制。
问题
Live2D官方提供的组件CubismRenderController通过设置Opacity可以设置Cubism的透明度,但是过渡很生硬,如下图

目前的方案是把Cubism通过RT渲染到面板上,通过控制面板透明度来达到平滑过渡效果,请问大家还有什么好的解决方案?
- 提问者:黑白凌乱
- 提问时间:2021-06-05 00:48:24
我的回答
所谓透明度“不平滑过度”,本质原因在于,原先的逻辑是 身体的每一个小部分单独应用cubism_ModelOpacity之后,各个部分再进行混合。核心代码如下:

身体是一部分一部分画的:

而题主要的效果是:在渲染出整体结果之后,再对整体应用透明效果。所以, ”全身绘制之后,再使用透明度处理一次“ 这一做法是必然的。本质是身体各部分绘制完成后,要取到FrameBuffer,然后使用透明度处理一次。因此”通过RT渲染到面板上,再控制面板的透明度的做法是合理“的。
所以题主的问题是,有没有更直接的方法,对这一过程进行优化。我这边还没有想到更好的优化方法,可能Builtin-RenderPipeline没有那么灵活,也或许可以考虑有没有优化的必要。
- 回答时间:2021-06-05 07:30:59
- 最后更新:2021-06-05 07:30:59
- 采纳状态:已采纳
来源与关系
- 上位集合:我的 UWA 问答
- UWA 标签:Shader、渲染模块、终端平台
- 原始问题:Live2D平滑渐变方案
- 源页最后更新:2021-06-05 07:30:59