网易我的世界论坛

标题: 【求助】有办法将玩家模型挂接到另一个模型的某个锚点上吗 [打印本页]

作者: Stone_Wound    时间: 2021-12-15 10:38
标题: 【求助】有办法将玩家模型挂接到另一个模型的某个锚点上吗
在做一个骑乘生物飞行的逻辑,用了一套比较抽象的方法,通过接口CreateActorRender(playerId)给玩家加一个这个生物的模型、动画、材质、贴图等,再给玩家开飞行,通过molang和给玩家添加一个调整偏移的动画json让玩家看起来像是坐着,实现“伪骑乘”。默认情况下新添加的模型是和玩家重合的。
比起骑乘之后再SetMotion的方式这样操作应该比较节省性能和方便手机端操作,但是会有一种情况比较尴尬,
例如骑乘在生物的头部,生物站立和移动的动画头部所在的位置偏差特别大,单纯通过偏移调整玩家“伪骑乘”的位置就有点力不从心,如果能将这个偏移挂接到生物模型头部的某个节点或者一个空节点上的话,也许就能随着这个节点移动。
这方面没有什么头绪,希望大手子能交流一下



作者: sevenstars    时间: 2021-12-15 22:26
从你的描述能看出,你是一个靠谱的mod开发者,描述问题也很清楚。
据我所知,只有鸟类才会在走路时头一突一突的。但是人肯定要骑在不抖动的位置。
如果使用自定义生物,那么座位的位置只与实体坐标有关,肯定无法实现。
如果修改玩家模型,如果不嫌麻烦,可以给玩家本体和挂接的模型分别添加两个动画,保证挂接模型动的时候,玩家也动。
否则只能在新模型的头部节点挂接一个自己做的玩家模型,并删除真正的玩家模型。但这样就不能显示皮肤了。
所以建议楼主让玩家骑在没有抖动的地方吧。
作者: Stone_Wound    时间: 2021-12-16 15:10
sevenstars 发表于 2021-12-15 22:26
从你的描述能看出,你是一个靠谱的mod开发者,描述问题也很清楚。
据我所知,只有鸟类才会在走路时头一突 ...

感谢解答,目前暂时将这个功能搁置去做其他的了,之后应该会采用给玩家本体和挂接模型都添加晃动的动画,通过同一个molang值操作




欢迎光临 网易我的世界论坛 (http://mc.netease.com/) Powered by Discuz! X3.3