使用Armature播放动画,programState为nullptr的问题

使用Armature播放动画


运行的时候在TrianglesCommand::init方法里报错了,报错位置是:
_programType != _pipelineDescriptor.programState->getProgram()->getProgramType()
是在执行判断语句的时候获取getProgram(),但是Program是空的。
然后看了下调用堆栈的信息,应该是Skin::draw这里的调用有问题

然后在CCSkin.cpp里加了下面的代码:

虽然运行不报错了,但是效果不对,人物的皮肤分离了

推测应该是Skin::draw哪里选的mvpMatrix不太正确吧,试了好几个别的内建Program都不太行。
大家有遇到类似问题的吗?