cocos3D的多光源照射问题
程序员文章站
2022-06-11 07:59:20
...
cocos3D的多光源照射问题
在我的场景中有许多的光源,现在一个物体需要指定这些光源中特定的几个光源影响。
在cocos中,目前我知道的有三种照射方式:
1.单光源:这种方式是物体只受一个光源的影响。忽略其他光源的影响。
2.多光源:这种方式是物体受所有光源的影响。
3.特定光源:这种方式是物体只受特定光源的影响。
1.单光源
单光源只需要在cocos studio设置光源标识位或者在代码中设置setLightMask(cc.LightFlag.LIGHT0)即可。
2.多光源
多光源则是在代码中设置setLightmask(-1),即可表示该物体受全部光源影响
3.特定光源
在cocos studio中,光有两个属性,光照类型和光照标识位(我感觉是相当于cocos预先生成n个光源)。使用不同光照类型相同标识位的光源就可以达到一个物体受特定几个光源照射。
在不使用光照的情况下:
在cocos studio中新建两个光源:方向光和环境光。光源和物体的光源标识位都设置为LIGHT11。则最后效果为:
还存在的问题
在官方文档中,可以设置shader中支持的最大光源数目,并且把它放在一个配置文件中,如下:
<key>cocos2d.x.3d.max_dir_light_in_shader</key>
<integer>1</integer>
<key>cocos2d.x.3d.max_point_light_in_shader</key>
<integer>1</integer>
<key>cocos2d.x.3d.max_spot_light_in_shader</key>
<integer>1</integer>
但是可惜的是我无从着手。如果你会的话,请留言告诉我谢谢!
上一篇: 32 WebGL环境光下的漫反射光的计算
下一篇: csv文件数据批量导入hbase1
推荐阅读
-
Excel单列或多列设置条件格式中的公式的引用问题实例详解
-
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
-
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
-
微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
-
汉武帝颁布的推恩令到底有多厉害 诸侯王的问题解决了吗
-
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
-
Ubuntu18.0 解决python虚拟环境中不同用户下或者python多版本环境中指定虚拟环境的使用问题
-
关于MyBatis 查询数据时属性中多对一的问题(多条数据对应一条数据)
-
sql一关联多查询时否定筛选出现的问题的解决
-
崂山绿茶的功效与作用还是蛮多的,当然也有一些需要注意的问题