移花接木(21)- 无缝过渡两个场景

本案例实现了使用鼠标或触摸拖动滑条来任意融合两个相似场景。同一场景不同季节的景色,如昼夜、开灯关灯等都可以使用该效果。

本案例在下载包的位置是:

1.18.5\krpano-1.18.5\examples\xml-usage\slider-blend-cubes

首先我们看案例所在的文件夹的截图:

QQ图片20151221140554

首先需要融合两个场景的全景图是由各自的6张立方体切片组成,分别是前后左右上下,你可以使用krpano下载文件夹中的

Convert SPHERE to CUBE droplet.bat

将长宽比为2比1的全景图转换成立方体切片,把球面全景图拖拽到对应的droplet,然后按照以上命名方式命名。然后把十二张切片图片和slider_background.png以及slider_grip.png两个图片都放在你的文件夹vtour里。

 

假设你是针对tour.xml里众多scene标签中的其中一个进行滑条融合。我们找到这个scene,默认生成的scene里面的内容,应该有image标签。image标签定义了该场景的全景图。我们把整段image标签删掉。

把image标签内以及image标签删除以后,我们下面所做的复制粘贴内容都是从范例文件夹里的slider.xml到我们自己的xml进行。

首先我们把scene标签里的onstart里加上

onstart=”start();”

然后我们把下面所有的代码都放在这个scene标签内

点击代码窗口最右侧按钮,在新窗口打开后复制代码

 

注意,在原来的xml文件里,start这个action还有一段显示文字的代码。因为我们可能不需要,我们就删除了。

这样的话,你就可以在一个scene标签里实现滑动融合两个场景。

修改以下代码中的x、y以及align属性可以改变滑条的位置。

<plugin name=”slider_bg” url=”slider_background.png” align=”bottom” x=”0″ y=”30″ handcursor=”false” zorder=”1″ />

 

我们的需求很简单,好比现在有一个简约型装修的样板间,然后我们点击某个按钮,场景无缝融合到一个豪华型装修的样板间。也好比,这个场景是夏天,点击按钮后,场景无缝融合到冬天的场景。

在这样的需求下,首先相机的拍摄位置,包括三脚架的位置,镜头的高度,也就是节点在空间中的位置应该是一致的。你在拍摄这两个场景的时候就要注意点。就好比是拍摄户外的场景,需要明显的天气或气候对比时,利用其它工具记录好镜头的位置,以便下次拍摄第二个场景时保持在相同的位置。

在拼接的时候保证两张图片是一样的X位移,也就是如果有一个物体是两张图共有的,那么它应该出现在这两个球体全景图的相同的平面坐标上。

接下来就是我们需要实现的krpano的功能。我们只需要在场景1的按钮layer中加上一个简单的代码。

KEEPVIEW是保持相同的视角,包括切换前的hlookat以及vlookat和fov,blend(1)则保证了融合的速度有一秒的时间

下面是关于loadscene的详细说明:

点击进入动态载入全景类action说明