巨坑!如果cocos2d-x无法解决这个问题,建议大家别用来做3d!!!!!

不啰嗦了直接说正题,关于cocos制作3d游戏的教程比较少,后来制作过程中遇到不少坑,慢慢解决了一些
官方教程中说,在max材质的透明通道贴上相应贴图就能在引擎中实现透明效果
实际上经本人测试,透明是有,但会导致渲染层次错乱完全无法控制

正确的做法是只在固有色通道贴上你需要的贴图就行了,比如png/tga/dds等等,引擎会自动识别里面的alpha通道

但是!但是!但是!会有另一个更严重的问题,不知道有没有人遇到同样的问题

也是透明贴图显示的问题,直接做成图片便于大家理解



那么问题来了

1.PNG贴图的问题
PNG贴图通过压缩可以做得很小,对做手游来说控制包体大小非常有优势,大家也经常用,但是会黑边,引起黑边的问题我猜应该是引擎默认渲染开启了alpha预乘(英文premultiplied Alpha,具体是什么个东西不知道的可以去查一下)。不要觉得这个变黑影响不大,举个例子,你做一个金发妹纸用png贴图的头发,那她的发梢就会变成屎色。另外参考以前1.x版本的cocos编辑器,里面的混合方式可以解决这个问题,但是2.x的版本却没有这个功能,这是为何???
那如果想让png透明贴图正常显示,程序那边如何关掉这个alpha预乘,或者如何在cocos3D场景编辑里面修改blend混合模式??

2.tga的问题
tga可以将RGB和A通道分开处理,效果完美,除了大,还是大,当然用这个会撑爆内存

3.jpg的问题
用两张jpg贴图来做半透明效果应该是一款3d引擎应该具备的基本功能,能用很小容量实现和tga无异的效果,至于为啥在cocos里面实现不了,我也不知道。
这个能否通过在max中修改通道或者在代码中怎么弄来让cocos识别两张贴图的效果

希望有高手知道解决方法

其他
后来测试过压缩过的png索引贴图,和上面的无损png效果一样变黑。测试过tga转换的dds贴图,效果和tga一样,但是依然比较大

:9: 居然没人知道!!!

Cocos编辑器中可以修改Blend模式以达到你想要的混合效果

cocos studio 1.x版本的可以修改 就是那个src.dst是吧

但是2.x版本的在做3D场景的时候没有这个选项
:12:

???


现在用的编辑器是cocos studio 2.3.2.3

:12::12::12::12::12::12::12::12::12:高手人呢?