gmod吧 关注:89,653贴子:1,902,639
  • 1回复贴,共1

部分NPC碰撞体积大小异常的原因找到了

只看楼主收藏回复

昨晚在调gmod里某游的NPC模型,总有那么几个碰撞体积异常,表现是ai disable的时候刷出来是大字型,ent_text显示动画是reference(正常是idle开头的),ent_bbox碰撞箱是个宽厚不一样的长方体,会导致ai通过性判定出问题。
一开始以为是模型的问题,用自带的gmad解压一下,找了两个正常和异常的模型,读二进制头比了一下,没有发现hullsize字段有什么区别,改了一下hullsize,自己写了个NPC项扔进游戏里就好了,但是总觉得不是这个问题,把异常的模型也写了个NPC项,发现也是好的。然后把mod里自带的NPC项抄了一个过来,发现还有问题。
经过我火眼金睛的对比,终于发现mod里的NPC项模型路径里有大写字母,而实际路径都是小写的,猜测gmod在处理模型时大小写没有完全敏感。
这样的话修起来就简单了,写了一个lua函数遍历NPC表,把里面的Model对应的字符串全改成小写,扔进autorun里用timer延迟运行一下,问题解决,顺便还可以把Health字段统一修一下。


IP属地:北京来自iPhone客户端1楼2022-01-06 09:00回复
    关于steam版gmod自力更生的一些tips:
    1.新下的gma都在steamapp/workshop/content/里,要找gma的话,最好有网,然后游戏里直接点addons图标进workshop,把url栏的数字id抄下来在文件夹里查询
    2.gmad在garrysmod/bin里,把gma拖上去就能原地解压
    3.garrysmod/garrysmod/addons/里可以放文件夹,以这个文件夹名作为mod名,加载文件夹里面的内容,也就是路径应该是addons/myaddon/lua/autorun这种。如果游戏中没有及时更新,可以控制台中打reload_legacy_addons。


    IP属地:北京来自iPhone客户端2楼2022-01-06 09:13
    回复