麒麟子Cocos Creator 3D研究笔记四:天空盒动态更换与IBL效果

##零、效果展示

麒麟子Cocos Creator 3D研究笔记之材质IBL与天空盒动态切换

在线演示地址: https://showcase.ukylin.net/skybox/

天空盒对于3D渲染场景来说,有着不个忽视的地位。天空盒决定了整个场景的氛围。

晴天、雨夜、黄昏、黎明等场景,只要换上一个天空盒,瞬间达到60%的效果。

Cocos Creator 3D作为一款高端引擎,这东西自然是要提供的。官方文档如下:https://docs.cocos.com/creator3d/manual/zh/concepts/scene/skybox.html

本文介绍了Cocos Creator 3D中天空盒的使用,以及各项参数的含义。并提供了十套可直接用于项目的天空盒素材。文末有获取链接

由于 官方文档讲得比较全了,并且这个东西的使用也比较简单。我就来说一下文档中没有讲到的部分。


##一、动态切换天空盒
动态切换天空盒是一个多场景游戏或者天气系统所必须拥有的能力。它将用在以下几种情况。

时段变换,比如魔兽世界里面的时间就是和现实对应的,你是白天,它就是白天。你是黄昏,它就是黄昏。你是黑夜它就是黑夜。

PS:麒麟子一开始玩魔兽世界的时候,都是晚上玩,我一直以为魔兽世界里面都是黑夜呢。哈哈。

动态切换天空盒代码示例:

loader.loadRes('skybox/cubemap_sky' + skyboxName, TextureCube, (err, cubemap: TextureCube) => {
    director.getScene().globals.skybox.envmap = cubemap;
});

不要小看这行代码,我把文档翻了个遍,最后在引擎组大神提点下才找到

值得说明的是,下图里面所有的参数,都可以通过** director.getScene().globals**进行修改,如果你要实现一个动态的天气系统,那里面的参数可能都得动。不仅是更换天空盒图片。

有的朋友发现,运行后看不到天空盒,是因为Camera默认是不使用天空盒的。请按下图设置即可:


##二、UseIBL开关
IBLImage Based Lighting的缩写,就是基于图像的光照。当这个开关打开后,你会发现,物体表面会映射出天空盒的样子。至于映射强度,就需要调节PBR材质的各项参数,如粗糙度,金属度等。 如果要细节控制不同位置的反射强度,则需要制作 PBR贴图。

关于Image Based Lighting我找到了一篇文章供大家进阶:https://blog.csdn.net/i_dovelemon/article/details/79091105


##三、IsRGBE开关
这个开关在别的引擎中叫 IsHDR 。 用于标记你所给的立方体纹理是不是采用了HDR贴图。

但HDR贴图不止一种格式,常见的有两种。RadianceRGBE(.hdr) 或 OpenEXR(.exr)格式。RadianceRGBE是 32位格式,而OpenEXR是48位格式。

这个开关不叫IsHDR的原因,我想可能是只支持.hdr这种格式的文件吧。具体是什么原因,有待考证。目前大家只要明白是啥意思就行。

关于HDR相关内容,我也给大家找了一篇 文章:http://www.zf3d.com/news.asp?Id=23189


##四、本文总结
天空盒比较简单,但配合各项参数和漂亮的天空盒素材,能让场景氛围和画面带入感增强不少。

如果想要动态天空盒,分层天空盒,目前需要自己使用引擎接口来处理。

源码获取链接(内含10套可商用天空盒素材):https://gitee.com/qilinzi/creator3ddemos/tree/master/skybox

##五、文末广告位(此位置长期招商)

  • 有一些备忘类型的贴子不会发到论坛,大家可移步到我的博客 https://qilinzi.blog.csdn.net

  • 有一些与技术无关的贴子,麒麟子以后会尽量不发到论坛,毕竟论坛是一个讨论技术的地方,大家可关注我的微信公众号:麒麟子TM

  • 麒麟子拥有10多年的3D游戏引擎和游戏开发经验,经过深思熟虑后,决定回归到3D领域。接下来决定与Cocos Creator 3D共同成长。欢迎大家加入 Cocos第一野生社区大本营-Cocos Creator 3D研究院,再多华丽的拉客姿势在实力面前都显得苍白无力,大家点开看看管理员阵容再决定要不要加入。

4赞

公众号注销了呢,这样咋获取一下呢

而且第一个url会跳到一个神奇的网站


@boyue

有可能是你网址被劫持了~

域名失效了。
我这边显示是无法打开。
有一种技术,就是专门劫持失效的域名返回内容,然后推一些认为你喜欢的。

天空盒想获取一下,你最新的公众号也无法获取了呢

嗯,新公众号没空同步这些啦。看看是不是下面这个。
链接: https://pan.baidu.com/s/1R7EVedMxT9Y0-EHCykNV_g 密码: jlj0

1赞

感谢,好人一生平安

不可能,绝对不可能

发链接 :smile: :smile: :smile: :smile: :smile: