通过Unity3D制作天空盒 - 曾经的漂移 - 博客园

时间:2024-05-21 21:06:25

1. 将全景图片转换为6面的立方体

  • 最初的原始图片
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
  • 通过PTGui 软件将图片分解为6个部分
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园

2. 通过Unity进行操作

  • 创建3D项目工程
  • 将之前的6张图片导入到Assets中
  • 创建一个Metrial并且设置它的Shader如下,并且将6张图片与其前 后 左 右 上 下 分别对应
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
  • 设置完成后,通过下方查看效果:
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
  • 打开Windows/Lighting,使用上一步骤的材质球设置Scene , 这个时候右边的全景信息就被替换了(先忽略掉这2个反光物体,后面会讲)
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
  • 但是当前的贴图还会有些缝隙,这是由于贴图的自循环导致的, 解决的方法如下:
    在Assets中选中最原始的6张贴图,设置为不循环后点击Apply应用
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园

3. 如何表现反射效果

  • 创建一个球体Sphere和一个新的材质球Metrial,并且设置这个材质球的Shader如下:
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
  • 创建一个Cubemap,它主要是用来表现反射的效果,
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
  • 设置Cubemap,将之前的6张贴图也拖放进来
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
  • 选中上一步创建的材质球,将Cubemap拖放到对应的位置
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园
  • 在将这个材质球直接拖到球体上,则球体就会出现反射的效果
    通过Unity3D制作天空盒 - 曾经的漂移 - 博客园