当初在选择本身项目的美术风格时,因为本身的美术基础实在是太差,因此选择了体素风格来构建(其实仍是MagicaVoxel的建模操做很容易上手),可是将本身千辛万苦作好的模型导入至项目中时,出现了这样或那样的问题,难受的心情如潮涌。在各大搜索引擎搜索无果,以及在“*乎”发问直到如今都没人回答的状况下,决定本身动手丰衣足食(老一辈的智慧仍是颇有前瞻性的)。也为了各位志同道合的小伙伴们,特写下这个“MagicaVoxel import to UE4 101”。html
在导入模型的时候首先遇到的问题就是导入后再进行构建光照会出现以下图所示的状况算法
阴影生成都很成功,可是模型是黑的,在官方文档以及各路搜索均查了一遍,得出的一个结论是:UE4对只含有一套UV贴图的模型不太友好,这类模型放上去都会这样。这以后在许多地方尝试过,好比用UE4自带的UV编辑器或者更改UV通道,均告失败,在我觉得必需要使用3DSMax时(甚至已经打开了B站的3DSMax教程),我又在油管上搜索了一下,幸运的是在评论中就有人碰见了一样的问题,UP给的解决方案是将导入后的模型的光照类型由静态更改成可移动物体,以下图所示(不过我选的是固定)
后来通过尝试,其实将类型更改成固定也能够解决问题。最终在场景中的表现以下:
与我本身想要的效果一致,过后又在官方文档查询了一下关于静态光照,固定光照,以及可移动物体光照之间的区别:markdown
其光照渲染数据几乎彻底是依赖物体自带的UV贴图,其中引擎参与的实时渲染部分很少(甚至没有),渲染完成后不能更改物体的位置,大小,旋转参数以及光源的强度,颜色,位置。我的理解为与如今游戏开发中经常使用的“预渲染”差很少,好比PSV上的《高达破坏者3》、《杀戮地带》等(还有个极其写真的国际象棋游戏,忘了叫啥了)都运用的是预渲染处理。不过预渲染是彻底将场景中的阴影和光影效果(好比少许光线的反射和折射)“印”在相应的贴图上(大白话:其实就是将VRay或者其余渲染组件渲染的结果打包成贴图一类的)。通常这类技术多用在移动设备上。编辑器
与静态光照最大的不一样是,光源的属性能够改变,通常是场景中以场景物件存在的物体所使用的,多用在主机与PC游戏上。搜索引擎
这种光照计算方法占用的计算资源是固定光照的20倍(这个玄学的倍数是Epic官方给出的,我也很迷(笑)),多用于可移动NPC以及玩家操纵的对象。其中所用到的光照算法最多,不过即便这样,也并非模拟出了最真实的光照效果(如今才发现老黄的实时光线追踪是真的强,能省掉很多计算资源,但为何实时光追却很吃配置?)htm
看来在本人这方面的欠缺还不少,这会做为一个系列长期更新下去,就像UE4 C++系列同样,多谢各位的阅读,若是有什么建议或者为了指出文中的错误,很是欢迎在评论区留言。对象