Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 三个js连续淡出三个背景_Three.js - Fatal编程技术网

Three.js 三个js连续淡出三个背景

Three.js 三个js连续淡出三个背景,three.js,Three.js,我目前正在做我的第一个三个js项目,并且得到了相当好的教育。但是,我遇到了困难,我正在寻找一个大致的行动大纲 我有三张图片要用作背景图片。我希望它们以指定的间隔交叉淡入淡出。。。假设每5秒,背景会交叉淡入下一个背景。显示最后一个背景后,交叉淡入第一个背景,以此类推 我发现了几个例子,两个物体之间有交叉衰落,但这似乎取决于有两个摄像头。我还举了一些我发现的例子,没有什么值得发布的 我对三个问题了解不够,这就是我寻求帮助的原因。如果有人能帮我定义我的方法,那就太棒了。我应该改变网格的不透明度吗?用着

我目前正在做我的第一个三个js项目,并且得到了相当好的教育。但是,我遇到了困难,我正在寻找一个大致的行动大纲

我有三张图片要用作背景图片。我希望它们以指定的间隔交叉淡入淡出。。。假设每5秒,背景会交叉淡入下一个背景。显示最后一个背景后,交叉淡入第一个背景,以此类推

我发现了几个例子,两个物体之间有交叉衰落,但这似乎取决于有两个摄像头。我还举了一些我发现的例子,没有什么值得发布的

我对三个问题了解不够,这就是我寻求帮助的原因。如果有人能帮我定义我的方法,那就太棒了。我应该改变网格的不透明度吗?用着色器做些什么?还有别的吗

至少在这里,我添加了一个背景:

camera = new THREE.PerspectiveCamera( 75, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 10000 );
camera.position.z = 450;

scene = new THREE.Scene();

// Load the background texture
var summerTexture = THREE.ImageUtils.loadTexture( 'tree-animation/images/summer.png' );
summerMesh = new THREE.Mesh(
new THREE.PlaneGeometry(2, 2, 0),
new THREE.MeshBasicMaterial({
       map: summerTexture,
}));

summerMesh.material.depthTest = false;
summerMesh.material.depthWrite = false;

backgroundCamera = new THREE.Camera();

summerScene = new THREE.Scene();
summerScene.add(backgroundCamera);
summerScene.add(summerMesh);

任何方向都将不胜感激

这可以通过编写自定义着色器并在图像之间使用mix()或smooth-step()函数来实现,并向渲染循环添加时钟来更新着色器制服,以随时间操纵着色器中的过渡

下面是一个静态混合纹理的示例,但可以轻松集成到您自己的项目中:


检查frag着色器

我最终使three.js画布透明,并在其后面执行了一些良好的ol'jQuery。。。我们必须把这个项目推出去。但我仍然有兴趣知道在纯三中是否有一种方法。我打算建议使用css