Ale*_*ndr 2 javascript three.js
我在 ThreeJS 中渲染了模型。现在,我需要添加一些交互性,以便:
我是 ThreeJS 的新手,有点困惑。我该怎么做呢?
在 init() 中:
document.addEventListener( 'mousedown', onDocumentMouseDown, false );
Run Code Online (Sandbox Code Playgroud)
和:
function onDocumentMouseDown( event ) {
event.preventDefault();
var vector = new THREE.Vector3( ( event.clientX / window.innerWidth ) * 2 - 1, - ( event.clientY / window.innerHeight ) * 2 + 1, 0.5 );
projector.unprojectVector( vector, camera );
var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() );
var intersects = ray.intersectObjects( objects );
if ( intersects.length > 0 ) {
intersects[ 0 ].object.material.color.setHex( Math.random() * 0xffffff );
var particle = new THREE.Particle( particleMaterial );
particle.position = intersects[ 0 ].point;
particle.scale.x = particle.scale.y = 8;
scene.add( particle );
}
/*
// Parse all the faces
for ( var i in intersects ) {
intersects[ i ].face.material[ 0 ].color.setHex( Math.random() * 0xffffff | 0x80000000 );
}
*/
}
Run Code Online (Sandbox Code Playgroud)
我建议从那里开始。
| 归档时间: |
|
| 查看次数: |
2214 次 |
| 最近记录: |