快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: cpu占用多过30%会被你的用户扔砖。










最近更新:
● wan925446570阁下在讨论区里 发表新主题“怎么配置away3d运行环境啊???...”(20:38:35)
● yanfaqiang阁下在讨论区里 回复“《超简易papervision3D基础 ...”(18:08:41)
● cripel阁下在讨论区里 回复“...”(14:38:04)
浏览主题: pv3d更改模型的材质,如何刷新呀?需要在load一次模型文件?

pv3d更改模型的材质,如何刷新呀?需要在load一次模型文件?
penpentt (2010-10-29 15:22:47)






1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
        matList  =  new  MaterialsList();

mat1  =  new  BitmapFileMaterial("assets/1.jpg");

mat2  =  new  BitmapFileMaterial("assets/2.jpg");

matList.addMaterial(mat1,  "up_m-material");

matList.addMaterial(mat2,  "down_m-material");

man  =  new  DAE(true,null,true);

man.addEventListener(FileLoadEvent.LOAD_COMPLETE,  modelLoaded);

man.load("assets/animatedMill.dae",matList);                
    
我用上面的方法导入一个模型和模型的材质,现在需要点击按钮更改材质。
例如 mat1 = new BitmapFileMaterial("assets/3.jpg");
matList.addMaterial(mat1, "up_m-material");
需要重新执行一次 man.load("assets/animatedMill.dae",matList); 才能实现更换材质。 请问大虾有没有其他的方法,这样重新load一次模型,机器会越来越慢,最后死掉。






flash 3d 研究所 DDM君
(2010-10-29 15:49:53)
是的,因为你没去掉之前load的内存。


flash 3d 研究所 penpentt
(2010-10-29 16:12:32)

必须要再load一次么?!怎样去掉以前的load内容? scene.removeChild(man); 是这样么?


flash 3d 研究所 cripel
(2010-11-01 20:04:30)
好像不一定要load 但是pv3d的dae很难更换贴图 所以推荐重新load
其实最好的是修改贴图对应的bitmapData 但我不知道怎么取 望研究所的朋友指教


flash 3d 研究所 penpentt
(2010-11-02 17:40:37)
期待有更好的方法


flash 3d 研究所 kaka
(2010-11-02 17:51:52)
pv3d没落了,换新一代引擎就是更好的方法,嘿嘿


flash 3d 研究所 penpentt
(2010-11-17 18:27:35)
顶,期待高人,pv3d更改模型的材质,如何刷新


flash 3d 研究所 Ethan.zhong
(2010-11-23 19:07:49)
为什么要这么想 dae下的rootNode就是 所有的模型 使用getChildByname是可以拿到对应的3D对象 改变他的material不就OK么 不要重新load


flash 3d 研究所 penpentt
(2010-11-26 10:58:45)
谢谢 Ethan.zhong,能不能详细些?没太明白



评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了