0
從three.js修訂版48開始,我用頂點連接了頂點。它工作正常,但從48更新到版本65時,我收到一條錯誤消息,指出Vertix已棄用,應由Vector3取代。但是,當我將它替換爲Vector3,Vector2或Vector4時,它的行爲會有所不同 - 行將不再連接到頂點。當畫布是視口的寬度時,我還會在邊上看到一些奇怪的渲染問題。Vertex和Vector3在three.js中不可互換
var container = document.getElementById('container');
var camera = new THREE.PerspectiveCamera(75,window.innerWidth/window.innerHeight,1,10000);
var distance = 1000;
camera.position.z = distance;
var scene = new THREE.Scene();
scene.add(camera);
renderer = new THREE.CanvasRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
container.appendChild(renderer.domElement);
camera.lookAt(new THREE.Vector3(0,0,0));
var geometry = new THREE.Geometry();
for (var i = 0; i < 50; i ++) {
particle = new THREE.Particle(new THREE.ParticleCanvasMaterial({
color: Math.random() * 0x808080 + 0x808080, //0x0000000,
opacity: 1,//0.1,
program: function (context) {
context.beginPath();
context.arc(0, 0, 1, 0, Math.PI * 2, true);
context.closePath();
context.fill();
}
}));
particle.position.x = Math.random() * 2000 - 1000;
particle.position.y = Math.random() * 2000 - 1000;
particle.position.z = Math.random() * 2000 - 1000;
particle.scale.x = particle.scale.y = Math.random() * 12 + 5;
scene.add(particle);
geometry.vertices.push(new THREE.Vertex(particle.position));
}
var line = new THREE.Line(geometry, new THREE.LineBasicMaterial({ color: 0x000000, opacity: 0.05 }));
scene.add(line);
renderer.render(scene, camera);
document.addEventListener('mousemove', onMouseMove, false);
function onMouseMove(event){
mouseX = (event.clientX - window.innerWidth/2)/window.innerWidth/2;
mouseY = (event.clientY - window.innerHeight/2)/window.innerHeight/2;
camera.position.x = Math.sin(mouseX * Math.PI) * distance;
camera.position.y = - Math.sin(mouseY * Math.PI) * distance;
camera.lookAt(new THREE.Vector3(0,0,0));
renderer.render(scene, camera);
}
嘗試使用的Vector3代替頂點在第42行:http://jsfiddle.net/kz94z/
不知道如何工作,但它沒有,謝謝! – user3294500
它的工作原理是因爲你剛剛從創建Three.JS^_ ^的人那裏得到了答案 –