base.css
html,body{ position:relative; height:100%; } body { margin: 0; } canvas { width: 100%; height: 100% } ul{ padding:0; margin:0; list-style: none; } *{box-sizing: border-box;}
box_outline.js
var scene = new THREE.Scene(); scene.background = new THREE.Color( 0xaaaaaa ); var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 ); var renderer = new THREE.WebGLRenderer(); renderer.setSize( window.innerWidth, window.innerHeight ); document.body.appendChild( renderer.domElement ); // 实线 var geometry = new THREE.BoxBufferGeometry( 1, 1, 1 ); var edges = new THREE.EdgesGeometry( geometry ); var line = new THREE.LineSegments( edges, new THREE.LineBasicMaterial( { color: 0xffffff, linewidth: 5, linejoin: 'bevel', linecap: 'square', })); scene.add( line ); // 虚线 var geometry = new THREE.BoxBufferGeometry( 1, 1, 1 ); var edges = new THREE.EdgesGeometry( geometry ); var line = new THREE.LineSegments( edges, new THREE.LineDashedMaterial( { color: 0xffffff,dashSize: 0.1, gapSize: 0.1,linewidth: 1} )); line.computeLineDistances(); // 非常重要 不然出不来效果 line.position.y = 2; scene.add( line ); camera.position.z = 5; function animate() { requestAnimationFrame( animate ); renderer.render( scene, camera ); } animate();
box_outline.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>绘制一个盒子的实现和虚线</title> <link href="../css/base.css" type="text/css" rel="stylesheet"/> </head> <body> <script src="../jslib/three.min.js"></script> <script src="../js/box_outline.js"></script> </body> </html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。