骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[经验与教程] 整理中! module_skins.py 笔记, 改身体/种族的小白可能有用~

[复制链接]

7

主题

132

回帖

87

积分

扈从

Rank: 2Rank: 2

UID
1411320
第纳尔
634
精华
0
互助
5
荣誉
2
贡献
0
魅力
23
注册时间
2013-6-13

战团正版勋章

鲜花(9) 鸡蛋(0)
发表于 2022-6-9 12:03:17 | 显示全部楼层 |阅读模式
本帖最后由 秦雨子瀾 于 2022-6-9 12:35 编辑

新人小白表示不会 python , 文件里没注释, 这个语法意义都简直要靠猜的, 就开贴记录一下尝试出来的部分参数意义~~
文件就是搞了一堆定义, 可以理解为最终输出就是这个 skins = [..] 的东东转化为游戏可用的 skins.txt 文件, 然后其中诸如 man_face_keys 的文本会在编译的时候替换成上面 man_face_keys = 后面的内容(可能有encode? 无所谓), 所以主体就是 skins 里面每个元素就是一个体型, 每个体型由一个大括号包裹起来的结构看作这个体型的完整定义:
skins =
  (体型1),
  (体型2),
  ...
]

所以核心就是, 猜出体型定义中每个参数的意义与范围, 大部分是没什么问题的, 范例体型1游戏默认的男性人类:

(
    "man", 0, 体型唯一名称与性别
    "man_body", "man_calf_l", "m_handL", "male_head", 身体/左脚/左手/半脸模型名称,脸会复制出来所以没法直接搞左右不一致,手脚是否会使用正则替换最后L为R来读取尚未测试
    man_face_keys, 面部调整细节,对应brf模型文件里的动画帧,后面说
    ["man_hair_s","man_hair_m","man_hair_n"], 头发的模型无视贴图(还会加个光头, 暂不知道怎么屏蔽)
    ["beard_e","beard_d","beard_k","beard_l"], 胡子的模型无视贴图
    ["hair_blonde", "hair_red", "hair_brunette", "hair_black", "hair_white"], 毛发贴图textures列在这里意义未明
    ["beard_blonde","beard_red","beard_brunette","beard_black","beard_white"], 胡子材质materials列在这里意义未明
    [
     (
        "manface_young_2", 面部材质名称
        0xffcbe0e0, 身体的额外染色, 格式为ARGB, 比如 0xffffffff 就比 0xffc0c8c8 要白, 另外 alpha 可以支持让手脚变半透明, 特定种族屏蔽装备不一定要靠手套鞋子覆盖了~
        ["hair_blonde"], 毛发材质,这里是个列表是不是可以头发胡子分开不确定
        [0xffffffff, 0xffb04717, 0xff502a19] 发色对应的附加色渐变曲线, 同样是 ARGB 但此处 alpha 意义未明
     ),
     ("manface_midage",0xffdfefe1,["hair_blonde"],[0xffffffff, 0xffb04717, 0xff632e18, 0xff502a19, 0xff19100c]),
     ("manface_young",0xffd0e0e0,["hair_blonde"],[0xff83301a, 0xff502a19, 0xff19100c, 0xff0c0d19]),
     ("manface_young_3",0xffdceded,["hair_blonde"],[0xff2f180e, 0xff171313, 0xff007080c]),
     ("manface_7",0xffc0c8c8,["hair_blonde"],[0xff171313, 0xff007080c]),
     ("manface_midage_2",0xfde4c8d8,["hair_blonde"],[0xff502a19, 0xff19100c, 0xff0c0d19]),
     ("manface_rugged",0xffb0aab5,["hair_blonde"],[0xff171313, 0xff007080c]),
     ("manface_african",0xff807c8a,["hair_blonde"],[0xff120808, 0xff007080c]),
     ],
    [(voice_die,"snd_man_die"),.......], 各种场景时播放的声音,场景定义值在header里,有额外需求可以看看
    "skel_human", 1.0, 骨胳名称与缩放,你可以简单的当一批马或者巨人
    psys_game_blood,psys_game_blood_2, 看名字是血迹,未测试
    [[1.7, comp_greater_than, (1.0,face_width), (1.0,temple_width)], #constraints: ex: 1.7 > (face_width + temple_width)
     [0.3, comp_less_than, (1.0,face_width), (1.0,temple_width)],
     [1.7, comp_greater_than, (1.0,face_width), (1.0,face_depth)],
     [0.3, comp_less_than, (1.0,eyebrow_height), (1.0,eyebrow_position)],
     [1.7, comp_greater_than, (1.0,eyebrow_height), (1.0,eyebrow_position)],
     [-0.7, comp_less_than, (1.0,nose_size), (-1.0,nose_shape)],
     [0.7, comp_greater_than, (1.0,nose_size), (-1.0,nose_shape)],
     [2.7, comp_greater_than, (1.0,chin_size), (1.0,mouth_nose_distance), (1.0,nose_height), (-1.0,face_width)], 这一陀未测试,看起来似乎是随机时某种面部规则的约束
     ]
  )

面部调整, 这个列表同样每一个元素是一个可调项 ,格式是一个5元素的tuple如下:

man_face_keys = [
  (
    20, 脸部 brf 中的帧时刻对应的数字
    0, 意义未明,我看都是0
    -0.5,
    0.5, 调整范围
    "Chin Size" 名称对应汉语在 languages/cns
  ),
  (260,0, -0.6,1.4, "Chin Shape"),
  (10,0,-0.5,0.9, "Chin Forward"),
  ...
]




评分

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

查看全部评分

鲜花鸡蛋

djman  在2022-9-24 20:09  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
NEW_SHIT  在2022-6-10 00:16  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
幼稚园殺手  在2022-6-9 13:03  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

55

主题

2710

回帖

1755

积分

子爵[版主]

吟游诗人

Rank: 7Rank: 7Rank: 7

UID
3054380
第纳尔
23989
精华
2
互助
57
荣誉
44
贡献
916
魅力
1418
注册时间
2019-1-18

骑砍中文站APP会员勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章霸主正版勋章剧本设计大奖赛骑友真人秀Ⅷ勋章骑友真人秀Ⅶ勋章骑友真人秀Ⅸ勋章

QQ
鲜花(506) 鸡蛋(2)
发表于 2022-6-9 13:04:11 | 显示全部楼层
珍惜 奉献 不负韶华

51

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2022-6-9 20:41:36 | 显示全部楼层
太好了,希望有更多这样的内容

51

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2022-6-15 20:40:30 | 显示全部楼层
能增加捏脸时调身高功能吗,多了身高这个变量,能实现兵身高随机变化吗,就和脸一样,在一个范围内随机变化

7

主题

132

回帖

87

积分

扈从

Rank: 2Rank: 2

UID
1411320
第纳尔
634
精华
0
互助
5
荣誉
2
贡献
0
魅力
23
注册时间
2013-6-13

战团正版勋章

鲜花(9) 鸡蛋(0)
 楼主| 发表于 2022-6-15 21:05:45 | 显示全部楼层
本帖最后由 秦雨子瀾 于 2022-6-15 21:12 编辑
djman 发表于 2022-6-15 20:40
能增加捏脸时调身高功能吗,多了身高这个变量,能实现兵身高随机变化吗,就和脸一样,在一个范围内随机变化

只看 skins 文件的话  常规方法不可以~  那个面板读取了第 7 个参数(facekeys)的列表项, 每一个对应第6个参数(脸model)的对应动画帧修改  而身高哪怕说是 skel_human 后面那个缩放倍率, 也无法通过修改脸部动画参数实现~ 但是也许改别的什么代码可以实现动态高度, 毕竟脸都可以建立这些 constraints(约束) 只是不知道在哪里调用的....
单说小兵随机身高, 我猜测的实现途径可能是, 进场景实例化时使用代码动态创建一个 skin 专门给每1个小兵. 当然 这就代表你5个兵4高1矮 换个场景可能就2高3矮了 我觉得小兵都不是一直存在的实例 只是需要显示的时候allocate 出场景就化作一滩数字了..

51

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2022-6-15 21:58:01 | 显示全部楼层
秦雨子瀾 发表于 2022-6-15 21:05
只看 skins 文件的话  常规方法不可以~  那个面板读取了第 7 个参数(facekeys)的列表项, 每一个对应第6个 ...

动态身高还牵连装备武器骨骼等因素变化,所以情况比脸要复杂。
小兵换场景,脸会变化吗?不过这不重要,因为根本没人在意

1

主题

10

回帖

8

积分

平民

Rank: 1

UID
2786285
第纳尔
514
精华
0
互助
1
荣誉
0
贡献
0
魅力
20
注册时间
2016-12-18
鲜花(2) 鸡蛋(0)
发表于 2022-9-15 09:13:55 | 显示全部楼层
djman 发表于 2022-6-15 21:58
动态身高还牵连装备武器骨骼等因素变化,所以情况比脸要复杂。
小兵换场景,脸会变化吗?不过这不重要, ...

我之前的做法是把身高先挑出来做三个一模一样的种族,不同的是skel_human的倍率,一个1.15(高)一个1(中)一个0.85(矮),然后分别整3个兵种,a1,a,a2,对应三个种族,其中a1和a2正常情况下招募不到。
然后在玩家部队接触对面的时候用party_remove_members和party_add_members随机的将部分a替换为a1和a2但是后来觉得太过繁琐就不再做这个功能了

51

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2022-9-21 17:02:03 | 显示全部楼层
秦雨子瀾 发表于 2022-6-15 21:05
只看 skins 文件的话  常规方法不可以~  那个面板读取了第 7 个参数(facekeys)的列表项, 每一个对应第6个 ...

应该可以参考facekeys,玩家的参数可以自己调,领主和NPC是预设,杂兵是随机。战团很多元素是同根同源,游戏里的身高大小还是装备大小变化本质都是skins

51

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2022-9-24 19:35:16 | 显示全部楼层
楼主有研究进展吗?

0

主题

4

回帖

6

积分

平民

Rank: 1

UID
3515647
第纳尔
16
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2023-5-12
鲜花(0) 鸡蛋(0)
发表于 2023-5-16 16:23:48 | 显示全部楼层
["hair_blonde", "hair_red", "hair_brunette", "hair_black", "hair_white"], 毛发贴图textures列在这里意义未明     ["beard_blonde","beard_red","beard_brunette","beard_black","beard_white"], 胡子材质materials列在这里意义未明         这两个分别代表头发和胡子的黄红黑颜色应该根据人种皮肤会有调取,后面的黑色人物创建不管什么皮肤头发颜色在发色那里拉到最后都是黑色,最后的白色是年龄变化最后白色

1

主题

23

回帖

7

积分

平民

Rank: 1

UID
3122012
第纳尔
53
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2019-12-10
鲜花(2) 鸡蛋(0)
发表于 2023-7-29 21:24:45 | 显示全部楼层
我在潘德的语言里把僵尸和蛇教僵尸添了代码做成了独立种族,但那个0,1判定性别好像没有用,发出指令的音效是女声并且称呼也是女性称呼,这个问题有办法解决吗

29

主题

689

回帖

550

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1738
精华
0
互助
67
荣誉
0
贡献
0
魅力
4
注册时间
2022-2-3
鲜花(55) 鸡蛋(0)
发表于 2023-7-30 07:07:34 来自手机 | 显示全部楼层
红刀 发表于 2023-7-29 21:24
我在潘德的语言里把僵尸和蛇教僵尸添了代码做成了独立种族,但那个0,1判定性别好像没有用,发出指令的音效 ...

这帖子你没仔细看吧,里面设置了该种族的各种呼喊声的,估计你是想当然直接复制了。来自: Android客户端

10

主题

69

回帖

24

积分

随仆

Rank: 1

UID
129707
第纳尔
100
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2009-5-11

骑砍中文站APP会员勋章

鲜花(1) 鸡蛋(0)
发表于 2023-12-25 17:00:35 | 显示全部楼层
学到了,感谢,希望有更详细的!

51

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2024-2-25 12:14:25 | 显示全部楼层
本帖最后由 djman 于 2024-2-25 12:17 编辑
阿斯顿发生 发表于 2022-9-15 09:13
我之前的做法是把身高先挑出来做三个一模一样的种族,不同的是skel_human的倍率,一个1.15(高)一个1(中 ...

能不能把skel_human加入的troop属性里,和face_key一样 可以随机变化或者可手动调节,NPC或玩家换装的时候,装备能不能自动适应skel_human的值,实现换装效果,维京征服好像实现了类似功能

1

主题

20

回帖

6

积分

平民

Rank: 1

UID
3487461
第纳尔
8
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-2-20
鲜花(0) 鸡蛋(0)
发表于 2024-2-25 20:47:07 来自手机 | 显示全部楼层
djman 发表于 2024-2-25 12:14
能不能把skel_human加入的troop属性里,和face_key一样 可以随机变化或者可手动调节,NPC或玩家换装的时候 ...

光加入属性里做不到,但是物品模型貌似是可以根据这个大小匹配

0

主题

9

回帖

3

积分

平民

Rank: 1

UID
3594307
第纳尔
5
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-12-23
鲜花(0) 鸡蛋(0)
发表于 2024-2-26 02:34:21 来自手机 | 显示全部楼层
你好 我想问下 我之前按照你给的办法把剑风传奇的格斯在佩里斯诺里设为了新的种族并且用魔球把npc换成了格斯的外观 但是自己想要用这个种族怎么办呢?我试过把skins里的man0的脸改成格斯的 但是打开游戏发现路人都变成了格斯的脸来自: iPhone客户端

1

主题

20

回帖

6

积分

平民

Rank: 1

UID
3487461
第纳尔
8
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-2-20
鲜花(0) 鸡蛋(0)
发表于 2024-2-26 11:58:17 来自手机 | 显示全部楼层
IAMENZOooooo 发表于 2024-2-26 02:34
你好 我想问下 我之前按照你给的办法把剑风传奇的格斯在佩里斯诺里设为了新的种族并且用魔球把npc换成了格 ...

魔球兵种板块第一个player id是玩家

0

主题

9

回帖

3

积分

平民

Rank: 1

UID
3594307
第纳尔
5
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-12-23
鲜花(0) 鸡蛋(0)
发表于 2024-2-27 01:35:34 来自手机 | 显示全部楼层
蘇泊渝 发表于 2024-2-26 11:58
魔球兵种板块第一个player id是玩家

这个我知道的 但是魔球好像没法把自己改成格斯的脸 我试过把player性别那边改成新建的player 打开游戏到了捏脸环节依旧是原来的来自: iPhone客户端

0

主题

9

回帖

3

积分

平民

Rank: 1

UID
3594307
第纳尔
5
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2023-12-23
鲜花(0) 鸡蛋(0)
发表于 2024-2-27 01:38:07 来自手机 | 显示全部楼层
蘇泊渝 发表于 2024-2-26 11:58
魔球兵种板块第一个player id是玩家

说错 有试过把player的性别改成新建种族 进了游戏捏脸那边依旧没变来自: iPhone客户端

51

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2024-2-27 10:18:17 | 显示全部楼层
蘇泊渝 发表于 2024-2-25 20:47
光加入属性里做不到,但是物品模型貌似是可以根据这个大小匹配

捏脸界面face_key加入skel_human,增加滑条可以调节
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-4-20 05:27 , Processed in 0.156549 second(s), 37 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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