最近做一个项目,需要加载带纹理的3d模型obj文件并显示出来,仅限于安卓平台,因此需要一个轻量级的3d内核。
找了很多内核,要不就是太久没更新不能用了,要不就是功能太复杂,后来找到了JPCT-AE,网上的文档相当少,但经过自己研究了两天,终于成功完成了obj模型的加载和显示,有需要的同学可以参考借鉴。
1、JPCT-AE简介
官网:http://www.jpct.net/jpct-ae/index.html
支持加载3DS, OBJ, MD2, ASC,序列化文件,也支持mtl和纹理,基于egl实现。
注意:纹理只支持图片的宽高为2的n次方,如1024,512,如果纹理不是这些尺寸,那么在加载时会出错。此问题也有解决办法,解决办法详见后面的说明。
jpct-ae显示3d的流程大致如下:
mWorld = new World(); //创建3d场景
mWorld.setAmbientLight(20, 20, 20); //添加环境光源
mSun = new Light(mWorld); //添加点光源
mSun.setIntensity(250, 250, 250); //设置点光源强度
//此处略,利用loader加载3d模型