/**
* 创建一个设置重复纹理的管道
*/
var curve = new THREE.CatmullRomCurve3([
new THREE.Vector3(-80, -40, 0),
new THREE.Vector3(-70, 40, 0),
new THREE.Vector3(70, 40, 0),
new THREE.Vector3(80, -40, 0)
]);
var tubeGeometry = new THREE.TubeGeometry(curve, 100, 0.9, 50, false);
var textureLoader = new THREE.TextureLoader();
var texture = textureLoader.load('images/top.jpg');
// 设置阵列模式为 RepeatWrapping
texture.wrapS = THREE.RepeatWrapping
texture.wrapT=THREE.RepeatWrapping
// 设置x方向的偏移(沿着管道路径方向),y方向默认1
//等价texture.repeat= new THREE.Vector2(20,1)
texture.repeat.x = 20;
var tubeMaterial = new THREE.MeshPhongMaterial({
map: texture,
transparent: true,
});
// 设置数组材质对象作为网格模型材质参数
var mesh = new THREE.Mesh(tubeGeometry, tubeMaterial); //网格模型对象Mesh
scene.add(mesh); //网格模型添加到场景中
var animate = function () {
requestAnimationFrame( animate );
controls.update();
renderer.render( scene, camera );
texture.offset.x -= 0.06
};
animate();