自定义assembler怎么适配原生平台

自定义assembler在原生平台不能正常运行
经排查原因是js版本的fillBuffers函数并没有执行,而是执行了c++版本的fillBuffers
由于我的assembler是用ts写的,而且在fillBuffers函数里有一些逻辑代码,怎么才能适配呢?
有做过的大佬吗?给点思路

回退 3.5 版本就好了

我用的是2.4.11 :sweat_smile:

没有遇到过的

2.x版本我记得这样,你把fillbuffer里面的操作写道updateRenderData里面试试,有点记不清了

好,我去试试看

不行啊,老哥,updateRenderData只执行一次
我想在每帧执行fillBuffers之前,先执行我的逻辑代码

有解决过这个问题的大佬吗?麻烦指点一下 :grinning:

UpdateRenderData是正解。可以参考下这个效果的实现。


刚试过了,updateRenderData确实可以的。
不过有个前提:renderCompont的update里要每帧执行setVertsDirty,才能确保updataRenderData每帧都执行,我之前就是少了这一步。

一般情况下改node的自带属性,引擎都会自动setVertsDirty。
如果改的是和Assembler装配数据有关的自定义属性,需要手动setVertsDirty。

OK,这样讲就很清晰了

刚试了下,原生平台改node自带属性,引擎不会自动setVertsDirty。

好吧,以你实测为准,我很久没碰了 :slightly_smiling_face: