返回「计算机、信息技术与工程」

Live2D平滑渐变方案

更多
Markdown 结构化数据
本文目录 3 个章节

Live2D平滑渐变方案

note · 我的 UWA 问答 本文收录我在 UWA 问答发表的公开回答。问题内容归原提问者;回答保留当时语境,技术结论可能受 Unity 版本、平台和项目条件限制。

问题

Live2D官方提供的组件CubismRenderController通过设置Opacity可以设置Cubism的透明度,但是过渡很生硬,如下图

327TYU6GJMIK2QAB3.png

目前的方案是把Cubism通过RT渲染到面板上,通过控制面板透明度来达到平滑过渡效果,请问大家还有什么好的解决方案?

  • 提问者:黑白凌乱
  • 提问时间:2021-06-05 00:48:24

我的回答

所谓透明度“不平滑过度”,本质原因在于,原先的逻辑是 身体的每一个小部分单独应用cubism_ModelOpacity之后,各个部分再进行混合。核心代码如下:

image.png

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

image.png

而题主要的效果是:在渲染出整体结果之后,再对整体应用透明效果。所以, ”全身绘制之后,再使用透明度处理一次“ 这一做法是必然的。本质是身体各部分绘制完成后,要取到FrameBuffer,然后使用透明度处理一次。因此”通过RT渲染到面板上,再控制面板的透明度的做法是合理“的。

所以题主的问题是,有没有更直接的方法,对这一过程进行优化。我这边还没有想到更好的优化方法,可能Builtin-RenderPipeline没有那么灵活,也或许可以考虑有没有优化的必要。

  • 回答时间:2021-06-05 07:30:59
  • 最后更新:2021-06-05 07:30:59
  • 采纳状态:已采纳

来源与关系