Three.js:使用缩放和混合效果过渡2个纹理

我试图从一个全景立方体图像平滑过渡到另一个全景立方体图像,以实现房间内的步行效果。 我用这个样本作为一个初始的场景,相机,网格SkyBox全部设置。 现在,我正在考虑转换为新的全景立方体的最佳方法,以便一个立方体图像放大并混合到另一个立方体图像中,就像用户走在房间中一样。

我想过要有第二个场景和第二个相机,因为旧图像需要放大和淡出,而新图像需要放大和淡入以实现非常平滑的过渡。 我在同一时间显示2张图像时遇到了一些挑战。 当SceneB出现时,旧的one - sceneA - 不可见,并用以下内容覆盖它:

renderer.clear();//multi-scene
if(sceneA && cameraA)
        renderer.render( sceneA, cameraA );
renderer.clearDepth();
renderer.render( sceneB, cameraB );

但即使是固定的,如果这是一个正确的方法,我还是要考虑一下。 我想尝试纹理过渡,也许。 我找不到例子或想法如何去做。

如何使用场景或纹理的不同来源从一个可见的立方体图像(纹理)平滑过渡到另一个可视立方体图像


如果您在整个空间中以很小的间隔拍摄了许多立方体贴图(三维照片捕捉),那么您可以使用THREE.CubeTextureLoader将它们映射到立体形状的网格物体的内表面,这些网格物体的尺寸要符合实际的比例(类似于它们拍摄的房间在),并将它们放置在整个空间中,以使它们的中心位于捕捉时3D摄像机所在的位置。

在这里输入图像描述

然后,位置之间转换的过程将是相机与新立方体的中心相结合的组合,同时旧立方体会淡化为零不透明度,并且新立方体会消失为完全不透明度。

任何时候只有1个立方体将完全可见,其余的则存在于空间中,但不可见。

我将使用Three.js TWEEN图书馆进行所有毕业典礼:相机的位置和2个立方体的透明度。

注意 :我总是渲染我的场景,因此在3D世界中1个单位在现实世界中为1米。 它有助于让事情看起来更为现实,而且如果我想在项目之间共享模型或代码技术,他们更可能兼容。

链接地址: http://www.djcxy.com/p/40597.html

上一篇: Three.js: Transition 2 Textures with Zoom and Blend Effects

下一篇: Android Auto Setup with Gradle Build Flavors