骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 1188|回复: 1

[功能与代码] 男上加男之左右为男的代码示例分享(骨骼拼接理论)

[复制链接]

212

主题

1032

回帖

1048

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2893127
第纳尔
14847
精华
0
互助
93
荣誉
21
贡献
325
魅力
1382
注册时间
2017-11-5
鲜花(431) 鸡蛋(0)
发表于 2024-9-2 17:25:21 | 显示全部楼层 |阅读模式
本帖最后由 vegetto 于 2024-9-3 14:23 编辑

之前如下两个贴子的骨骼拼接理论https://bbs.mountblade.com.cn/thread-2096309-1-1.html及应用例火影须佐能乎(巨人头上站人)https://bbs.mountblade.com.cn/thread-2096142-1-1.html的代码示例,近期交流看大家不是太熟悉,再提供一则代码应用示例,
然后注意,该理论功能的精华部分不只是开头对骨骼坐标获取及飞行取消重力两个op的解释,看到第一个理论贴的武器插人环节,告诉你如何将一个人的骨骼与另一个人的骨骼贴紧伴随移动。
-------------------------------------------------------------------------------------------------主文--------------------------------------------------------------------------------------------------------------------------

示例之左右为男,效果是将一个人的左上腿骨骼和另一个人右上腿骨骼的设置位置绑定于第三人的左手和右手武器点上,看起来像一个人拎着两个人的裤裆一样,一起移动战斗。
代码从mod中肢解匆忙,如有错误也就这样吧。
视频效果

------------------------------代码参考如下:下面slot挑着解释,如有prop场景物trp等等兵种设置,请根据自身mod情况在相应文件添加,然后注意我是在非战斗场景测试,然后手动刷部队的---------------------------------------------------------------

MT trigger条件 (0.000000, 0.000000, 0.000000,
###目的是生成一个叫ddd的场景物,用于MT2中定位玩家初设在场景的位置,然后根据场景大小范围,手动限制测试双方兵种刷的位置范围及各种其他操作。然后顺带初始化一下左右为男各个兵种id和进程slot清0(懒得用before/after mission,主要我mod这段是分开的,阉割后就不合并了),然后mod里是可以有界面指定左右为男的兵种选择,这里阉割一下,直接指定兵种id。
(点击展开 / 收起)

----------------------------------------------------------------------------------
MT trigger条件 (0.000000, 0.000000, 0.000000,
###目的是刷出测试双方兵种,各30个托人的人和60个被托的人,利用slot300编排序号,根据序号对应关系,后面mt3和4绑定关系操作时进行1:2人员绑定分组。
(点击展开 / 收起)

----------------------------------------------------------------------------------
MT trigger条件 (ti_on_agent_killed_or_wounded, 0.000000, 0.000000,
###核心1,目的是判断男上加男模式组成的三人组中,不同人死亡后该怎么脱离。
(点击展开 / 收起)

----------------------------------------------------------------------------------
MT trigger条件 (0.000000, 0.000000, 0.000000,
###核心2,将一个人的左上腿骨骼和另一个人右上腿骨骼的设置位置绑定于第三人的左手和右手武器点上,看起来像一个人拎着两个人的裤裆一样,一起移动战斗。
(点击展开 / 收起)



212

主题

1032

回帖

1048

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2893127
第纳尔
14847
精华
0
互助
93
荣誉
21
贡献
325
魅力
1382
注册时间
2017-11-5
鲜花(431) 鸡蛋(0)
 楼主| 发表于 2024-9-2 18:27:07 | 显示全部楼层
本帖最后由 vegetto 于 2024-9-2 18:32 编辑

然后此外,这个功能作为被托的人,可能需要进行种族设置,因为此时这种男上加男的组合会因为组内成员的骨骼hitbox过于靠近而产生挤压作用,导致下方的人移动受到阻力无法前行及攻击。

所以被托的agent建议设置一个单独的人种在mod的data文件夹里面创建skeleton_bodies.XML文件,比如设置一个新兵种叫skel_ok,参考如下,注意记得在mod某brf复制原本的skel_human骨骼一份改名为skel_ok。
(点击展开 / 收起)


此时采用skel_ok人种的单位只有头部有hitbox(怎么在skin txt加人种不用说了吧),其他骨骼部分的hitbox全清空了

然后如果你要调整hitbox,可以打开openbrf,找到骨骼文件(如果不知道默认骨骼文件的可以openbrf点右上角settings,点编辑样本数据,复制到默认骨骼skel_human然后再取消编辑样本数据,返回自己mod的brf进行贴贴改名skel_ok),然后点击骨骼文件,右边面板可以显示骨骼名称及序号(不知道op用于get bone pos的骨骼序号的可以参考这里看看),这个面板可以通过勾选来取消特定骨骼的hitbox,以及拉条调整特定骨骼部位hitbox的拉伸大小。然后调整好后,点击骨骼右键,有个discord hit-boxs,可以自动修改skeleton_bodies.XML文件,,,
但是要注意,你必须从本体把skeleton_bodies.XML文件复制到mod的data,并且参考human骨骼的格式复制一个和brf相同名称的skel模板,这样才能让openbrf帮你调整xml

360截图20240902182941996.jpg
360截图20240902182954243.jpg
360截图20240902183001216.jpg
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-11-19 08:47 , Processed in 0.168747 second(s), 19 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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