作为cocos3D游戏引擎的先锋使用者,我有一个天大的槽点今天要吐出来。那就是在Canvas节点下的3D模型受不到光照!!!
众所周知,cocos3D提供了直接把3D模型混入UI布局里的方法,那就是在有3D模型的节点上加上一个ModelComponent组件,就可以在UI里显示了。比如下图
但是有一个重要的槽点就是模型导入进去后会变暗。引擎组的回复是Canvas下的模型无法收到平行光。所以建议材质换成Unlit哦,也就无光照,在我看来,这个办法有众多槽点。
1.美术从3D Max里导出的模型FBX文件导入到游戏里的材质默认都是standard的。如果我希望将模型放入到UI层级里,必须先把所有的材质都dump出来,然后改成unlit。倒是每个材质改成unlit之后的上边的MainColor啊都是要重新设置的,比如说我有30把枪,每个枪上都好几个材质,那兼职是要了我的老命。毕竟美术都在3D Max里各个东西都设置好了。我再重新换一个Unlit,简直是做重复功。
2。.如果模型没有光照的话,会非常的奇怪,做一个简单的比方,我一个Cube是红色的,有光照的情况下,我可以看出来面与面的分界。更有立体感。而没有光照的话,眼睛根本看不出来这是个cube。因为你的眼里只有一片红色。
3、我一个枪可能在选枪的时候放到UI里,在游戏的时候就在3D场景里。难道我需要做2个预制件,一个专门无光照给UI里用,一个正常的在游戏场景里用吗。
所以我强烈希望引擎组能修改这个一个机制,让Canvas下的模型也能受到光照。解决我心中的痛点。
PS。我截图里的模型是用 Camera对着一个3D模型,然后转化到2D的精灵上实现的,所以其实是有光照的。