Interior Mapping(室内映射)是一种用着色器方法模拟室内结构纹理的方式,避免了真实对室内场景建模造成的模型面数渲染开销,在《蜘蛛侠》《城市天际线》等游戏中都采用了该技术。
UE自带了节点InteriorCubemap(Unity SG也提供了类似节点),可通过Cubemap进行室内效果的模拟,但如果房间内有桌椅等陈设,这种渲染效果就会穿帮:
因此对于该技术行业中有诸多衍生,感兴趣可阅读这篇文章:
https://mp.weixin.qq.com/MzI3MTQzOTY3OQ
接下来本文就来讲下UE中基础的InteriorCubemap使用。
1.使用InteriorCubemap节点
InteriorCubemap的使用非常简单,添加该节点后将输出的UVW连入ParamCube,采样Cube贴图即可得到假室内效果:
但如果需要扩展窗户边框、窗帘、随机性等效果,则需要双击进入节点自己学习扩展:
但需要注意该节点原始文件位于引擎目录,需先做好备份:
2.制作假室内场景
那么如何制作这张Cubemap贴图?墙壁位置、观测视角等有何要求?
实际上该贴图只需要在一个标准正方体中心点进行拍摄即可,正方体前后左右四个面可视为墙壁,顶部和底部视为天花板与地板。
在UE中新建空场景,放置一个Cube进行位置参考。
围绕该位置放置一圈Cube构建不同立面。
配置这些Cube,设置一些贴图。添加一盏灯光以及SceneCaptureCube Actor进行Cubemap的拍摄。
拍摄好后如下:
右键导出一次DDS:
重新作为静态贴图导入即完成制作:
参考:https://dev.epicgames.com/community/learning/tutorials/Y5Dq/unreal-engine-fake-interiors-window-box-material-tutorial