天空盒的制作方法 Max来生成天空盒的六张图片

news/2025/2/19 4:24:00/

在虚拟现实技术中,需要产品展示,场景漫游等,只要想在内部有一个虚拟的3D天空,那么都要用到天空球;天空球目前基本做法主要有两种;分别是正方形的和球形的。



目前360度全景图主要用的是球形的,针对目前已经存在的实景,需要得到这个环境的话,可以利用鱼眼照相机,分别对前后两方向拍摄照片就可以形成一个球形的球形天空球。那如何利用max打造天空球呢?接下来就一一讲解各天空球的区别及在max中如何打造各天空球:

如上图可以看到所谓正方形的天空球就相当于,以我们人所在的位置为定点,分别把周围周围周围周围周围黑名周围周围周围周围周围黑名周围周围周围周围周围黑名周围周围周围周围周围黑名周围周围周围周围周围黑名黑名环境想像成一个Box,共分为上下左右前后六个组成。也就由这六个面构成了我们目前所在的环境。

 

那在max中如何打造?

可以利用max来生成六副图,利用这这六副图就可以来做我们的天空盒了。

Max提供了一个很方便的功能,可以通过指定一个视点位置,将当前场景渲染到六个图片上(这六个图片可以组成一个立方体,也叫Cubic Map)。其步骤如下(以下的max截图为6.0版本,如果是其它版本,可能略有不同):

1打开一个max场景文件

2在场景中加入一个球体,用来代表视点的位置

3M,打开材质编辑器

4任选一个未使用的材质球,设置其为Standard材质

(以上步骤如下图所示)


5单击Diffuse颜色右边的按钮,选择贴图类型为“Reflect/Refract”

Reflect/Refract的设置窗口中,按下图1234所示步骤依次设定

渲染完成之后,你可以到上图第3步所指定的位置,找到max生成的6个图片文件,文件名分别以UPLFBKRTFRDN结尾。如下图所示:

 

这样一个天空盒就打造完成, 可以利用在目前虚拟现实软件VRP,C3D等只要是根据6张图设立的天空的虚拟软件中。

注意:如果需要把这样的天空球利用到自己开发的软件中,一定要考虑法线现象,因为max中的虚拟场景计算法线是左手系,而我们现实中所利用的是右手系,所以我们在自己开发的程序软件要用到天空球的话一定要考虑到法线计算的算法,要不然得把所得到的六张图片进行翻转。


http://www.ppmy.cn/news/683546.html

相关文章

天空盒的制作方法 Max来生成天空盒的六张图片

在虚拟现实技术中,需要产品展示,场景漫游等,只要想在内部有一个虚拟的3D天空,那么都要用到天空球;天空球目前基本做法主要有两种;分别是正方形的和球形的。 目前360度全景图主要用的是球形的,针…

图片天空区域识别

本文主介绍了一下一种天空区域识别的算法,参考论文:Sky Region Detection in a Single Image for Autonomous Ground Robot Navigation 顺便贴出对论文中算法稍加改进后,图片天空区域的识别效果图。具体怎么改进的见下面描述。 本文分为四个…

Cesium自定义天空盒子图片

Cesium自定义天空盒子图片 效果图 改造SkyBox代码 const {BoxGeometry,Cartesian3,defaultValue,defined,destroyObject,DeveloperError,GeometryPipeline,Matrix3,Matrix4,Transforms,VertexFormat,BufferUsage,CubeMap,DrawCommand,loadCubeMap,RenderState,VertexArray,…

cesium自定义远、近天空盒图片

外天空盒实现的效果图 本来想找个太空图做外天空盒的,但是资源没有找到... 1.先准备需要的6张尺寸为1024*1024的png/jpg图片,图片可以通过Poly Haven 网站下载 2.下载的时候选择HDR文件 3. 通过 HDRI to CubeMap (matheowis.github.io)网址进行HDR文件处…

天空盒六面图片+左右眼3D全景图片

左右眼3D全景图片: 左: 右: 切割六面图:

天空的照片

飞机上拍的,云层在你下方,太阳很亮,感觉很棒。

Vue SVG图标配置

SVG图标配置 在开发项目的时候经常会用到svg矢量图,而且我们使用SVG以后,页面上加载的不再是图片资源, 这对页面性能来说是个很大的提升,而且我们SVG文件比img要小的很多,放在项目中几乎不占用资源。 安装SVG依赖插件 pnpm install vite-…

uniapp:分享一个自定义侧滑样例

首先看html,分为两部分&#xff0c;主体内容部分和功能部分&#xff0c;功能部分在css中定位到主体部分的右边 <view class"section" ref"box_center" touchstart"drawStart" touchmove"drawMove($event)"touchend"drawEnd($…