温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

threejs 绘制一个盒子的实现和虚线

发布时间:2020-06-30 18:13:17 来源:网络 阅读:2175 作者:antlove 栏目:web开发

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>


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI