Blender插件 —— SekiroBlenderEditor

Github仓库地址:
https://github.com/EanoJiang/SekiroBlenderEditor

写在前面:

这个blender插件目前较为完美实现了1、2、4的功能,第三部分的功能dummy动画只k上帧,但是映射关系有问题,只是点对点对应上了,但是dummy骨骼的旋转位移还是存在问题,导致动画播放的时候会有很明显的模型撕裂和错位

我和我室友目前想到可能的思路:

dummy坐标规则:dummy动画对于数据点坐标,例如:所有与Master数据点有直接子级(仅一层)关系的数据点,其坐标都是以Master数据点为原点(需要考虑Master数据点本身的旋转值得到坐标系)的相对坐标下的坐标,然后这些数据点(与Master数据点有直接子级关系的)的子级(仅一层)又以这些数据点(与Master数据点有直接子级关系的)作为原点(也同样考虑数据点本身的旋转值来得到坐标系)得到坐标。

骨骼数据规则:各个骨骼的坐标数值和旋转数值是互不影响的,所有骨骼在初始状态坐标位置都是(0,0,0)。例如我的左手某个手指的骨骼,姿态模式下初始坐标都是(0,0,0)(在世界坐标中不是000),在移动骨骼本身之后,这个骨骼会以这个骨骼的初始位置作为原点得到对应坐标,旋转也同理。但是父级骨骼移动或旋转会牵连影响子级骨骼的位置和旋转(该骨骼集合下的所有骨骼都会跟随移动或旋转),但不改变子级骨骼姿态模式下的位置数据和旋转数据,需要在处理好的dummy动画数据点数据复制到姿态模式骨骼数据里时考虑到这一点,否则会导致错误的赋值

用dummy坐标规则转到世界坐标,利用骨骼数据规则把世界坐标转到姿态模式骨骼数据。

详细操作可见演示视频

前置文件导入

1.导入dcx文件作为角色模型

三个都勾上

image-20250728020606353

2.smd文件从blender导出为fbx再导入进来,作为参考骨架模型

image-20250728020759499

3.选取角色和参考对象,并点击x轴镜像并应用缩放、旋转参考对象

image-20250728021141620

image-20250728021028793

1.选择材质路径,并点击加载材质json

image-20250728021448538

1)先点击最下面的清理重复材质按键,这一步可以清除后缀为.001,.002重复的材质球

image-20250728021642895

清理前:

image-20250728022615548

清理后:
image-20250728022629819

2)下面开始分配材质,这里直接给出我配置的作为参考:

image-20250728021617252

2.修正角色模型的骨骼,清除冗余骨骼

image-20250728024417341

1)修正骨骼数据

image-20250728024516369

image-20250728024546078

保证了二者骨骼层级关系一致

2)根据参考物体骨骼,重置角色模型的骨骼信息

image-20250728024632760

3.动画

image-20250728033339707

1)缩放dummy动画

image-20250728033404571

image-20250728033412769

2)修复原有dummy动画导入时产生的缩放

3)复制每一帧bone pose生成骨骼动画

image-20250728033258039

image-20250728033733364

4.导出fbx和贴图

选择好项目路径,也就是要导出的根目录,将根据 is_anim是否勾选 自动生成模型导出路径

image-20250728024852829

image-20250728025017992

导出的文件如下:

image-20250728025057449

image-20250728025049642

posted @ 2025-08-24 19:21  EanoJiang  阅读(40)  评论(0)    收藏  举报