cocos2dx 3.9 创建自定义mesh进行渲染。

很多时候,我们的3D模型并非由文件读出,可能是由其它环境生成的,顶点向量,法向量,纹理坐标向量都保存在内存里。

如何将它们渲染出来?(个人觉得cocos2dx的渲染有很多坑,而网上提到引擎修改的文章相当少)

步骤如下:

1.通过Mesh::create(const std::vector<float>& positions, const std::vector<float>& normals, const std::vector<float>& texs, const IndexArray& indices)构建Mesh。

2.给mesh设置material

3.将mesh加入到Sprite3D对象

4.强Sprite3D对象加入到场景中。

这里,如果mesh不设置material,在调用meshCommand命令时会提示错误,因此materia的设置是必须的。

这个设置我觉得cocos2dx应该设置一个默认的,否则编译它也不提示错误,然后运行时就崩溃了。

我们可以手动添加一个material,脚本例如:

(注意文件路径)。

如此一来,就可以将其在cocos2dx3.9的场景中显示出来。

 

posted on 2016-01-21 16:25  everest521cbaok  阅读(1446)  评论(0编辑  收藏  举报

导航