开启辅助访问
 找回密码
 立即注册

【UE4】制作自个的HDRI图

www.nmgood.cn 回答数3 浏览数1310
【1.自定义从外部全景图制作真实Cubemap】:虚幻官方文档

立方体贴图(CubeMap) 提供了一种进行环境映射的简单方法,通过这种方法,像天空、周围环境这样的远景可以映射到一台全景贴图上。在底层,这些贴图存储为6张图片,映射到立方体的内表面上。

  • 立方体贴图工具 - 关于用于创建立方体贴图的NVIDIA和AMD工具的概述
  • 创建立方体贴图 - 在Photoshop中创建立方体贴图的过程。
  • 导出立方体贴图 - 关于如何使用NVIDIA贴图工具插件从Photoshop导出立方体贴图的指南。
  • 导入立方体贴图 - 如何将立方体贴图导入到虚幻引擎4中。
  • 应用立方体贴图 - 将立方体贴图导入引擎后,如何应用它们。
【2.自定义从软件内部一键制作虚拟Cubemap】:虚幻一键制作HDRI贴图(2:1)。


  • 雪球:UE4笔记:引擎内部制作cubemap步骤

    • cube render target
    • scene capture cube
    • create static texture

这样就把场景当中的所有光照模型都记录在内了。(把场景内的所有物件都整合成了一张Cubemap)
任何模型都有UV贴图,我们则可以把拍摄好的单张长panorama全景图分成6张texture(分别定义上下前后左右的内容)再经软件拼接生成cubemap,给到特定的半球体上,来模拟一台空间。(现实的或虚拟的)

【3.HDRI相关】:


  • 做特效的时候,片场那个金属球是干嘛用的,网上说是拍hdri图用的,拍这个图有什么用呢?如何拍的?


一、获取全景图片

【1】从720云官方 下载

【2】用B站下载助手插件 从B站全景视频下载全景图

下载好的flv视频打开就是一张静止的全景图片,转为png/jpg就可以了。
【3】自个手机拍摄全景图(Panorama)

注意2:1 尺寸大小
【4】从HDRI网站下载全景图

以上 1、2、3还需要处理,而到以下网站中下载直接是TextureCube,直接就能拿来用。

  • HDRIs: Night | HDRI Haven
  • 51HDR_中国特色的360°HDRI球形图和背景图库


二、PS制作全景图

【1】下载Nvidia For PS 插件(导出DDS/D3D格式的CubeMap)

【2】将连续的Panorama(1块)转化成CubeMap(6片):

一张长图,下载出来就是 px、py、pz、nx、ny、nz 六张正方形图。
【3】拼接Cubemap

【1】正常拼法
px、nx、py、ny、pz、nz。


直接按照上图(带字)拼在PS中是正常的,但是到虚幻当中会颠倒90度,应该是OpenGL、Direct X的那个Z轴朝向的问题吧。
【2】官方解决90度拼法
px、nx、py、ny、pz、nz。
就是上图(不带字)的拼法。

  • px 逆时针旋转90度 (-90)
  • nx 顺时针旋转90度 (90)
  • py 旋转180度(180)
  • ny 不变
  • pz 不变
  • nz 不变
但是结果是坏的,我们是从网站上转化的,出来的 y和z 四张图片名称是颠倒的。
【3】正确方法(经测验成功)
按照内容来。
px、nx、nz、pz、py、ny


  • px 逆时针旋转 -90度(-90)
  • nx 顺时针旋转 90度 (90)
  • nz 旋转 180度
  • pz 不变
  • py 不变
  • ny 旋转 180度
【4】导出DDS CubeMap


  • Format—— 8888 32
  • Texture Type——CubeMap
  • Image Type——Color Map(RGB带色儿的)
  • 场景中有反射球和反射立方体(你会发目前这里预览场景是颠倒90度的,那么就说明是对的了)


三、导入虚幻

【1】开启 HDRI Backdrop插件

【2】导入刚刚导出的DDS Cubemap

需要注意:

  • 有些全景图(jpg)导入就是Texture,你改成hdr也不管用。
  • 有些HDRI图(如从hdrihaven下载的)(hdr),进来就是TextureCube
那么我们刚把全景图 经 1.网站拆开、2.PS拼接 3. nvidia生成 的Cubemap导进来目前就是TextureCube啦。
【3】把它拖拽到HDRI背景中的Cubemap

大功告成。

四、触控功能

【4.1】材质设置


  • Cubemap是针对HDRI Backdrop插件的
  • Param2D——我们也可以不制作Cubemap,也就是跳过上面的二、三步骤,直接用Texture贴图做。(然后给到一台球体,效果还可以)

    • 另外,如果要让全景图镜像的话,可以弄两个SkySphere,然后Direction Y轴一台1,一台-1,让两个球交叉在一起,然后取中间交杂的区域作为场景。
    • 然后再用虚幻自身的Cube Render Target进行截取成为TextureCube,PS转Texture,给到该材质(下面那个Reflection Vector用Cubemap会导致些许撕扯的问题)




  • ParamCube——或者直接用Reflection链接,只能TextureCube,然后给到SM_SkySphere。


【4.2】触控(PC/移动端)


  • UTC Joystick(Ultimate Touch Components)
使用道具 举报
| 来自北京 用Deepseek满血版问问看
maigre | 来自北京
球面贴的精度低一些,六面精度更高,但是六面在相机不在中心位置的时候畸变很明显
用Deepseek满血版问问看
回复
使用道具 举报
huang_zu_xin | 来自北京
为啥导出的时候,没有Texture Type选项呢
回复
使用道具 举报
jt1166 | 来自北京
太感谢了,查了好久这个问题
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影