这几天研究了下wooyoogame的技术,这个网站的3d显示实现貌似很简单的样子哦,我做了个简单的教程给大家
里面的脚本感觉也不难,有点想json的样子,靠配置就可以做出显示了
先到http://www.wooyoogame.com?sp=209 注册一个账户,然后点击游戏开发(装个插件)就可以写脚本了
1.导出模型(记得要调整下比率单位1为1米),不然模型会超大或超小
2.将导出的obj模型和纹理图片上传到平台中
3. 在ide里面读取模型和创建出模型
LoadModel("testMdl",":/tiantian/orge.obj","obj");Create({ type:"mesh"; model:"testMdl";});
显示效果如下
4. 读取模型diff纹理文件
clear();LoadModel("testMdl",":/tiantian/orge.obj","obj");LoadImage("bodyImg",":/tiantian/body_dif.jpg");LoadImage("weaponImg",":/tiantian/weapon_dif.jpg");Create({ type:"mesh"; model:"testMdl";//模型信息 Geometries: { {index:0,texture:"weaponImg"};//子模型0设置 {index:1,texture:"BodyImg"};//子模型1设置 };});
哈哈,现在基本效果出来了,后面就是调整更多的效果了
5. 读取法线贴图纹理并且加入更复杂的shader配置
clear();LoadModel("testMdl",":/tiantian/orge.obj","obj");SmoothModel("testMdl");LoadImage("bodyImg",":/tiantian/body_dif.jpg");LoadImage("body_nImg",":/tiantian/body_nor.jpg");LoadImage("weaponImg",":/tiantian/weapon_dif.jpg");LoadImage("weapon_nImg",":/tiantian/weapon_nor.jpg");Create({ type:"mesh"; model:"testMdl";//模型信息 Geometries: { { index:0; shader: { type:"NormalMap"; Texture: "weaponImg"; normalMap:"weapon_nImg"; }; };//子模型0设置 { index:1; shader: { type:"NormalMap"; Texture: "bodyImg"; normalMap:"body_nImg"; }; };//子模型0设置 };});
6.有法线的效果了,可以看到兽人的青筋暴起了,现在我们在加入一些细节设置,比如createMipmap来生成mipmap纹理和光的调整
clear();LoadModel("testMdl",":/tiantian/orge.obj","obj");SmoothModel("testMdl");LoadImage("bodyImg",":/tiantian/body_dif.jpg");CreateMipmap("bodyImg",16);LoadImage("body_nImg",":/tiantian/body_nor.jpg");CreateMipmap("body_nImg",16);LoadImage("weaponImg",":/tiantian/weapon_dif.jpg");CreateMipmap("weaponImg",16);LoadImage("weapon_nImg",":/tiantian/weapon_nor.jpg");CreateMipmap("weapon_nImg",16);Create({ type:"mesh"; model:"testMdl";//模型信息 Geometries: { { index:0; shader: { type:"NormalMap"; Texture: "weaponImg"; normalMap:"weapon_nImg"; Ambient:{ 0.5,0.5,0.5}; Diffuse: { 0.7,0.7,0.7}; Specular: { 0.2,0.2,0.2}; }; };//子模型0(武器)设置 { index:1; shader: { type:"NormalMap"; Texture: "bodyImg"; normalMap:"body_nImg"; Ambient:{ 0.5,0.5,0.5}; Diffuse: { 0.7,0.7,0.7}; Specular: { 0.2,0.2,0.2}; }; };//子模型1(身体)设置 };});
大工搞成了,保存脚本就可以生成一个连接,在线就可以看得到
http://www.feekood.com/?path=:/tiantian/ShowOrge.ais
源代码下载
http://files.cnblogs.com/files/gamemaker/%E6%B3%95%E7%BA%BF%E8%B4%B4%E5%9B%BE%E6%BA%90%E4%BB%A3%E7%A0%81.zip