求助:骨骼 getColliderDetector 获取不到碰撞检测

我用cocosstudio 1.6 编辑了一个骨骼动画,然后向获取其中一个骨骼的碰撞检测器。但返回为空。不知道什么原因。
代码:
DisplayManager * displayManager = bone->getDisplayManager();
Vector<DecorativeDisplay*> DisplayList = displayManager->getDecorativeDisplayList();
for (int i =0;i<DisplayList.size();i++)
{
DecorativeDisplay * decoDisplay = (DecorativeDisplay *)DisplayList.at(i);
ColliderDetector *detector = decoDisplay->getColliderDetector(); //就这里获取不到

。。。
}

先参考一下test工程,看看是否能解决,如果还不能解决,可以上个示例工程。

test工程有一个是在update里边写碰撞检测的。
const Map<std::string, Bone*>& map = armature2->getBoneDic();//得到骨骼字典
for(const auto& element : map)//遍历字典
{
Bone *bone = element.second;
ColliderDetector *detector = bone->getColliderDetector();

    if (!detector)//如否没有碰撞 跳过 继续遍历    
        continue;   
    //得到碰撞框列表    
    const cocos2d::Vector<ColliderBody*>& bodyList = detector->getColliderBodyList();   
  ..........

}

而我的方法跟这种不一样。我是一开始就获取一个armature 的骨骼。目的就是要获取那个骨骼的ColliderBodyList之后,然后通过 getColliderFilter 获取碰撞过滤。
我的代码是这样的:
Bone bone = getBone(“test_bone”);
if (bone)
{
DisplayManager * displayManager = bone->getDisplayManager();
Vector<DecorativeDisplay*> DisplayList = displayManager->getDecorativeDisplayList();
for (int i =0;i<DisplayList.size();i++)
{
DecorativeDisplay * decoDisplay = (DecorativeDisplay *)DisplayList.at(i);
ColliderDetector *detector = decoDisplay->getColliderDetector();//这里是空,其他都可以获取到
if(detector)
{
Ref *object2 = NULL;
Vector<ColliderBody *> vecColliderBodyList = detector->getColliderBodyList();
for (int j =0; j <vecColliderBodyList.size(); j++)
{
ColliderBody *colliderBody = (ColliderBody *)vecColliderBodyList.at(j);
b2Fixture *fixture = colliderBody->getB2Fixture();//目的其实就是要获取到这个
}
}
}

我看到底层
void DisplayFactory::initSpriteDisplay(Bone *bone, DecorativeDisplay *decoDisplay, const char *displayName, Skin *skin)
{
//! remove .xxx
std::string textureName = displayName;
size_t startPos = textureName.find_last_of(".");

if(startPos != std::string::npos)
{
    textureName = textureName.erase(startPos);
}

TextureData *textureData = ArmatureDataManager::getInstance()->getTextureData(textureName.c_str());
if(textureData)
{
    //! Init display anchorPoint, every Texture have a anchor point
    skin->setAnchorPoint(Vec2( textureData->pivotX, textureData->pivotY));
}

CCLOG(bone->getName().c_str());

#if ENABLE_PHYSICS_BOX2D_DETECT || ENABLE_PHYSICS_CHIPMUNK_DETECT || ENABLE_PHYSICS_SAVE_CALCULATED_VERTEX
if (textureData && textureData->contourDataList.size() > 0)
{

    //! create ContourSprite
    ColliderDetector *colliderDetector = ColliderDetector::create(bone);
    colliderDetector->addContourDataList(textureData->contourDataList);

    decoDisplay->setColliderDetector(colliderDetector);
}

#endif
}

if (textureData && textureData->contourDataList.size() > 0) 就这行判断不过,我想知道,这个纹理的外轮廓的数据是怎么加入的

怎么才可以让导出的 .ExportJson 文件里。
“texture_data”: 里有 “contour_data”