环境:Unity 2020.3.22f1,URP 10.7.0
Shader
人物渲染模仿原神游戏内效果:
◇ 角色面部动态阴影贴图
◇ 阴影边缘渐变色
◇ 平滑描边,风格化高光,边缘光等卡通渲染常见效果
面部 shader 基于 UnityURPToonLitShaderExample 添加了面部阴影+自定义阴影颜色。
面部shader戳这里:repo (Github)
面部以外的 shader 是 Toony Colors Pro 2,功能齐全,墙裂推荐!!
此外还模了一些简单的小细节,比如用随机旋转让角色的眼睛看上去更生动。
动画流程
– 人物动画流程:
VMD动画:FaceAndLips 制作口型表情动画 → 在MMD里整合动作,制作眼睛动画,导出完成后的vmd → 用 blender2.9(+Cats插件)导入pmx和vmd,烘培物理,导出fbx → 导入fbx至 Unity。
可以额外配置一个 Humanoid 角色模型用于播放 Unity Humanoid 动画:用 blender2.9(+Cats插件)将 MMD 模型转换成 fbx,导入 Unity 后 Rig 设为 Humanoid,用 Magica Cloth 做实时物理。
– 相机动画:
直接在 Timeline 里制作。Unity 的 Timeline 能像剪辑软件一样在时间轴上编辑各种物体/动画/音频/效果等,还可以触发脚本,挺方便的_(:з)∠)_
目前主要用两种相机动画方案。一种是用 Cinemachine 在相机之间过渡。第二种是进 record 模式给相机k帧
(Align With View 的快捷键是 Ctrl + Shift + F, 能让相机对齐场景画面;另外可以给 Align View to Selected 设快捷键,方便让场景画面对齐相机)。
人物前景+视频背景
背景是游戏录屏。制作方法就是在 plane 上放一个材质,材质上绑一个 Render Texture。用 Video Player 把视频投到这个 Render Texture 上,把 Video Player 本身放进 Timeline 作为一个视频轨道。
Unity 的 Default Playables 能让 Timeline 支持视频轨道 。
可以用 Curved Plane 增加背景立体感,缺点是必须进 play mode 才能看到。
用视频作为背景时,透明地面显示人物阴影可以用这个 shader 实现。
赞