骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 衣谷三国
查看: 3255|回复: 10

[功能与代码] ai能用的骑砍战团乳摇功能,类似物理服装效果的实现

[复制链接]

215

主题

1039

回帖

1051

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2893127
第纳尔
14867
精华
0
互助
93
荣誉
21
贡献
325
魅力
1384
注册时间
2017-11-5
鲜花(435) 鸡蛋(0)
发表于 2024-8-3 15:11:36 | 显示全部楼层 |阅读模式
本帖最后由 vegetto 于 2024-8-3 16:35 编辑

前言:要想在骑砍战团做乳摇,首先切入点应该是顶点动画和着色器,但是顶点动画针对身体这种关联部位在人物运动的时候保持不了完美的契合度,动作幅度过大就会有脱离感,而着色器毕竟达不到动画程度的效果。
故,退而求其次,我们可以采用类似顶点动画而非顶点动画的equip方式切换装备同类但不同姿态物品的方法,也就是先做出衣服带乳摇的顶点动画效果,然后导入骑砍绑骨后,分解帧,因为brf里分解各帧姿态模型会自动命名成顶点动画模型名称+frame_帧数数字这种命名方式,则全部选中所有各帧模型后集中重命名,再将这个模型名称预先设置在item_kinds1形成连续序号的多个衣服模型,顺便可以将这个模板保留下来,下次换其他衣服时,只需要再替换公共名称,保留序号后缀,一劳永逸。


视频效果



准备工作,在item_kinds1文件中注册ID名称及引用模型名称为proprole0-proprole74共75个序号及位置连续的item物品。
然后
MT中需要使用的场景中加入如下代码,  (0.000000, 0.000000, 0.000000, 条件


(assign, ":var_301", "itm_proprole0"),                      #定义该带动画衣服的首帧数衣服模型的itm ID
(assign, ":var_302", 74),                                           #定义衣服有多少帧数,74+1=75
(assign, ":var_303", 1),                                       #控制帧数播放速度,即不同帧数的itm装备equip切换速度
(store_mul, ":var_304", ":var_302", ":var_303"),
(store_sub, ":var_305", ":var_304", 1),
(try_for_agents, ":var_0"),
    (agent_is_alive, ":var_0"),
    (agent_is_human, ":var_0"),
    (try_begin),
        (agent_get_slot, ":var_1", ":var_0", 600),
        (store_div, ":var_2", ":var_1", ":var_303"),
        (store_mod, ":var_3", ":var_1", ":var_303"),
        (try_begin),
            (agent_slot_eq, ":var_0", 601, 0),   #slot600表示当前处于衣服的多少帧数位置的itm模型(实际是帧数x播速),601slot判断是正向播放还是反向播放,因为我目前做的参考衣服模型是胸和头发一次性下坠,所以要正常循环动画,就要正方向播放一次反方向再播放一次,循环往复
            (is_between, ":var_1", 0, ":var_304"),
            (store_add, ":var_4", ":var_1", 1),
            (agent_set_slot, ":var_0", 600, ":var_4"),
        (else_try),
            (agent_slot_eq, ":var_0", 601, 0),
            (eq, ":var_1", ":var_304"),
            (agent_set_slot, ":var_0", 601, 1),
            (agent_set_slot, ":var_0", 600, ":var_305"),
        (else_try),
            (agent_slot_eq, ":var_0", 601, 1),
            (is_between, ":var_1", 1, ":var_304"),
            (store_sub, ":var_4", ":var_1", 1),
            (agent_set_slot, ":var_0", 600, ":var_4"),
        (else_try),
            (eq, ":var_1", 0),
            (agent_slot_eq, ":var_0", 601, 1),
            (agent_set_slot, ":var_0", 601, 0),
        (try_end),
        (try_begin),
            (eq, ":var_3", 0),
            (store_add, ":var_5", ":var_301", ":var_2"),
            (try_for_range, ":var_68", 4, 8),                                           #取消其他非武器装备及衣服装备
                (agent_get_item_slot, ":var_69", ":var_0", ":var_68"),
                (neg|eq, ":var_69", -1),
                (neg|eq, ":var_69", ":var_5"),
                (agent_unequip_item, ":var_0", ":var_69"),
            (try_end),
            (agent_equip_item, ":var_0", ":var_5"),                          #切换当前播放帧数的衣服装备
        (try_end),
    (try_end),
(try_end),



######模型我就不分享了,因为做的匆忙,正常的战团绑骨绑的很糟糕,贴图也没好好贴,主要就是表达下这种类型功能的可能性。
然后没加条件筛选,针对所有场景里的活人,实际上要判断兵种id作为条件等等。

#####然后至于乳摇的动画怎么做方便的,你们可以考虑下MMD,MMD很多时候经常对胸部绑骨,然后MMD插件自动可以BUILD出基本的乳摇和物理服装、头发海飞丝动画。

#####这个功能的难点在哪呢:1、动画的制作处理;2、绑骨,因为女子四肢太纤细,绑不好就和我视频一样。
而这个功能的最大缺陷在哪呢:比如,我这75个衣服模型为一个类型的兵种准备的,占了100MB的空间。


#####功能延申一下,可以用于带动画的翅膀等等一切和身体契合的配件动态效果的制作,但是要注意的还是一点,就是绑骨要细致,不能让无关的骨骼过多的牵引像马尾辫、尾巴、翅膀这些身体突出的部件,这样骨骼动画和帧动画共同组合的效果就会比较差。
视频示例


#####功能再延申一下,你可以做表情系统,嘴唇说话








评分

参与人数 1第纳尔 +11 互助 +3 魅力 +5 收起 理由
幼稚园殺手 + 11 + 3 + 5 文章不错,继续努力!

查看全部评分

215

主题

1039

回帖

1051

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2893127
第纳尔
14867
精华
0
互助
93
荣誉
21
贡献
325
魅力
1384
注册时间
2017-11-5
鲜花(435) 鸡蛋(0)
 楼主| 发表于 2024-8-4 21:46:47 | 显示全部楼层
本帖最后由 vegetto 于 2024-8-5 08:50 编辑
龙静颜 发表于 2024-8-4 20:38
创建一个个item的步骤换成cur_item_add_mesh应该也行

这个方法我清楚和想过,不过要看模型的形式。像精细的女性模型就如mmd那样一个人物十几个贴图和mesh,加动画后身体肌肤的动作形变都是联动的,所以这种情况并不适合add mesh(因为骑砍所有那几个能控制mesh部件的操作是受部件仅有效控制9个上限限制的)。

如把模型mesh UV贴图合并一个处理一下,倒是可以往这个方向想。

PS:我用翅膀那个按cur item add mesh写过了,效果算比较平滑的,后面再补充上去做个对比



您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2025-9-23 03:06 , Processed in 0.106814 second(s), 20 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表