如何用three.js实现无缝轮播横幅效果(有网站示例)?
问题描述
想实现three.js官方示例网站https://www.with.in/中的背景效果。
问题出现的环境背景及自己尝试过哪些方法
尝试了很多方法,目前实现了移动,但是没想出来怎么实现
相关代码
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>demo</title>
<script type="text/javascript" src="js/jquery-1.10.1.min.js"></script>
<script src="js/three.js" type="text/javascript" charset="utf-8"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tween.js/16.3.5/Tween.min.js"></script>
<style>
canvas {
width: 100%;
height: 100%
}
</style>
</head>
<body>
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 5000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var img = new Image();
img.src = 'img/2.jpeg';
var crateTexture = new THREE.ImageUtils.loadTexture("img/2.jpeg");
let geometry = new THREE.PlaneGeometry(img.width * 2, img.height);
let material = new THREE.MeshBasicMaterial({
map: crateTexture,
});
let rect = new THREE.Mesh(geometry, material);
scene.add(rect);
camera.position.z = 500;
camera.position.y = 0;
camera.position.x = 0;
camera.up.x = 0;
camera.up.y = 0;
camera.up.z = 0;
rect.rotation.x = -0.1;
rect.rotation.y = -0.3;
rect.rotation.z = -0.35;
function render() {
requestAnimationFrame(render);
renderer.render(scene, camera);
}
//调用render方法
render();
var position2 = {
x: 0
}
var tween2 = new TWEEN.Tween(position2);
tween2.to({
x: 200
}, 500000);
tween2.easing(TWEEN.Easing.Linear.None)
tween2.start();
animate();
tween2.onUpdate(function () {
rect.translateX(-this.x);
});
function animate() {
requestAnimationFrame(animate);
TWEEN.update();
}
</script>
</body>
你期待的结果是什么?实际看到的错误信息又是什么?
想实现three.js官方示例网站https://www.with.in/中的背景效果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
预览地址:用純css实现圆环效果
用
CSS
实现岂不是更简便?答非所问了,点进题主给的链接是404,所以忽略
css
的,在主流浏览器中试试