English Title: GTA5 player drop out world when changing car tuning part.
TL,DR; 前面废话较多,需要解决办法请直接往下翻。
事情起因
最近我做了一个丰田皇冠 S170 的 Mod,一台很经典的老车,先上个图。
刚开始一切都很顺利,但当我尝试给这台车做一套保险杠改装件的时候,我遇到了一个曾经在我的 A31 Mod 上也遇到过的问题。当我改装某个部件,确切来说是后保险杠(之前在 A31 上是引擎盖)的时候,我的玩家人物就会掉出车辆,然后过一会周围的地图会变成低 LOD 的模糊贴图低模。
之前在 A31 Mod 上遇到这个问题的时候就没有解决,我当初怀疑是模型的问题,于是就放弃了没有去修,直接把那个改装件删除了,但是这次我又遇到了这个问题,那就说明应该和模型无关了,可能是其他问题,于是我开始尝试排查。
开始排查
刚开始我以为是改装件顺序的问题,所以我检查了数据文件 carcols.meta
,但是前后把改装件换了好几个顺序都没有用,问题依然存在。后来我又想,会不会是模型部件名的问题,于是我把 bumper_r
改成了 misc_e
,结果还是一样,这会儿给我整蒙了,到底是什么鬼问题?
我上谷歌找了很久,换了几十个关键字都没有找到,难道没有人遇到过这个问题?于是我观察了一下人物掉出地图时的反应:首先改装件是显示出来了,那说明模型应该是正常的,但是同时玩家掉出去了,车身上的其他某些部件也消失了,包括车身 bodyshell
、座椅 crown_seat
以及方向盘 steeringwheel
等等。这时我隐约怀疑是顺序问题,但是 carcols.meta
改了很多次了都没用,那还有什么其他顺序?那唯一有一个可能,就是 ZModeler 3 里模型的顺序。
话不多说,打开 ZM3 看看,果不其然,改装件 misc_e
在 bodyshell
,crown_seat
,seat_dside_f
以及 steeringwheel
的前面,当改装件 misc_e
被替换时,可能由于某种原因,导致后面的其他车身部件都停止渲染了。而 GTA5 的模型是按顺序从上往下渲染的,如果某个部件渲染失败,后面的部件都不会渲染,这可能就是导致人物掉出地图以及其他车身部件消失的原因。
解决问题
那解决办法就很简单了,把有问题的部件往下挪,挪到其他部件下面,最后加载,就可以解决问题了。我刚开始试了下直接把部件挪到最后一位,结果进游戏刷车直接未响应了,后来发现是要把部件放在 chassis [COL]
的前面,因为碰撞体永远是最后一个加载的,如果放在碰撞体后面就会出现未响应的问题。
至此,车辆改装件导致玩家掉入地下的问题就解决了,特此记录下来,以便帮助后续遇到此问题的人。
我看标题还以为是现实中的汽车DIY。。。
讲的好详细呀!