UE4 VRM 插件使用(附根据retarget使用locomotion覆盖动作)

https://www.bilibili.com/video/BV1Ri4y1b7Mh(先看p4再看p1你就懂作者在干嘛)

https://github.com/ruyo/VRM4U/releases下载引擎对应版本插件(这个为二进制版,没有插件源码,不能打包

打包需要源码版引擎,使用插件源码进行编译
里面转载的youtube上面插件原作者Haruyoshi Yamamoto的教程去操作,已经很详细了,流程就是导入资源,重定向,角色蓝图和动画蓝图创建子类,覆写父类方法的老套路,里面还是有些坑视频里面没有说到的,下面我将一一说明。

教程原址在404需翻墙

我最终实现的效果:
https://www.bilibili.com/video/BV1ak4y1r7AD

打包的项目:
链接:https://pan.baidu.com/s/16x6dt9mW_Tjko_TMe3QBug
提取码:ar18

带源码的插件:
https://github.com/ruyo/UnrealEngine_VRM4UPlugin
分流下载(4月份的版本了,最近好像又修了些bug,建议直接下最新版):
链接:https://pan.baidu.com/s/1B9tVJpibbtp8-x9TNmzGag
提取码:6wy9 

----------------------------05 18更新 如果你的项目需要打包,请使用源码版插件并配合源码版引擎使用,这里是打包测试的示例项目,使用引擎为ue4 4.21

首先,插件的安装使用,你得要先知道这个插件都有些啥,要怎么用


----------------------------04 28更新,如果你下的是源码版插件,你就必须用源码版引擎自己编译,作者ruyo在他项目的Github的Release里面提供了预先编译好的版本

关于怎么使用源码版引擎,网络上面有很多方法了,笔者用的是自己做项目用的4.21版本源码版引擎

插件使用老生常谈了,文件夹结构

插件的安装使用是基本功,没有白嫖到Advanced Locomotion System可以不用看下去了,或者你买个支持下作者,或者你从网上拉个资源(注意版本对应)

注意Advanced Locomotion System会根据你的引擎版本切换导入的内容,笔者这里是4.21,所以只能用v3.1了

Advanced Locomotion System的说明,会根据不同引擎版本切换,但不影响教程内容

下一步,使用插件里面的资源

显示插件内容来使用插件里面的资源

常用的就三个东西,其他也挺有意思 ,可以自己试试看,比如Misc文件夹里面的BP_LookAtPoint

导入VRM资源

ik要在ik动画蓝图用到,如果角色本身没有ik,那么就无法享受到ik效果了

接下来的内容可能和视频顺序不一致,但并不影响,都是平行步骤
将要用的skeleton mesh都拉到场景里面,创建我们Advanced Locomotion System 的小白人角色蓝图的子蓝图,用来当做我们的控制角色(当然你也可以直接复制一个来用)

重定向动画蓝图和ik动画蓝图

处理重定向后有关原地转圈turn动画的Anim Notify的蒙太奇还是指向原来小白人蒙太奇的问题(不这么做的话原地转动会有问题,进入死循环,因为指向了原来的蒙太奇)


是的,这堆Turn(绿色)动画里面的TurnInPlace_AnimNotifyState都要改(对应的蓝色)

重定向ik蓝图后要在我们VRM对应的SkeletonMesh里面指定才能用上,此时预览窗口里面就会多出来,这样就ok了

警告你正在使用后期动画蓝图

用AssetUtil复制物理素材和用于ik动画蓝图的VirtualBone,根据视频里面的操作,全选碰撞体

用MToonAttachActor实现卡通渲染(如果之后出现错位,点一下ReInit就能修复了)

使用弹簧骨骼实现r摇之类的效果(很有弹性,建议使用大熊的,Alicia平胸妹没那味)

以上
最后放自己做好的项目,解压后先右键.uproject 项目Switch unreal engine version到你下好的4.21源码版然后继续右键.uproject 项目Generate visual studio project files 再打开

---0429更新:

4.24,V4版本的LocoMotion有几点修改的地方不一样,除了参考视频里面的做法去修复持枪姿势,起身姿势和起身方向,修复足部IK的方法是这样的


修复后的足部ik,视频里面是直接把ik这部分功能去掉了

动画蓝图,Modify Knee Targets部分,首先得在你的Mesh里面指定这个动画蓝图为后期动画蓝图用来方便检查相应骨骼的位置情况

修改这两个节点的translation,使得这个虚拟骨骼的位置在膝盖骨骼同一平面的前上方一些的位置,如图所示


--------------------------------------------------------


---0428更新

PMX-VRM-UE4Mannequin

好的那么这一次我们来讲PMX-VRM-UE4Mannequin的流程
我使用的模型为兽娘动物园的白狐,作者为へな羊
オイナリサマ アプリ版
https://3d.nicovideo.jp/works/td30101
主要内容是PMX-VRM,这步骤需要在Unity里面实现

参考视频:
https://www.bilibili.com/video/BV15k4y1R7QQ

使用到的工具:
MMD4MECANIM(Beta)
UniVRM
Unity 2019.3

整体思路就是通过MMD4MECANIM将PMX标准化为fbx格式的文件,然后通过UniVRM处理模型的材质,作为VRM导出,然后再把导出的VRM导入一遍,添加SpringArm与碰撞,再导出VRM,走VRM到UE4Mannequin也就是上方的流程。

踩坑注意:
SpringArm的官方文档
https://vrm.dev/univrm/components/univrm_secondary/
其中,注意我为什么要导出一遍VRM之后再导入,原因就在于获得VRM生成的secondary组件,如果你不是以VRM格式导入进来的,那就没有这个东西,这个东西是用来挂载SpringArm的


SpringArm只需要选定你要添加动态的骨骼的最上层的骨骼,比如我这里要给尾巴添加动态骨骼,然后尾巴的最顶层骨骼名称是80.joint_shitsu_1,那么我就只用添加80.joint_shitsu_1就行了


Collider的使用方法也很简单,在对应的骨骼上面加组件就行,只有球型碰撞这种形状,自己指定碰撞半径Radius


有点像做VRChat动态骨骼,莫非是同一套东西?

将刚才添加到骨骼上的碰撞指定上去,Size这里默认是0,你要多少个你自己改就行了,HitRadius默认0.01,你可以勾选Draw Gizmo然后自己改,改完之后play验证一下,看看什么数值合适

目前VRM4U虽然能够导入碰撞体,但是动态骨骼是没有将碰撞体加入计算的,这就很尴尬。

你可能感兴趣的:(UE4 VRM 插件使用(附根据retarget使用locomotion覆盖动作))