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