分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

three.js学习:三维空间下的直线

发布时间:2023-09-06 02:32责任编辑:彭小芳关键词:js

index.html

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>测试</title> ???<script src="js/three.min.js"></script> ???<style> ???????html, body { ???????????width: 100%; ???????????height: 100%; ???????????margin: 0; ???????????padding: 0; ???????????/*background-color: blue;*/ ???????} ???</style></head><body><canvas></canvas></body><script src="js/chapter2.1.js"></script></html>

chapter2.1.js

1、步骤概述:初始化渲染器 > 初始化相机 > 初始化场景 > 建立几何图形并添加到场景中 > 渲染

function threeStart() { ???initThree(); ????initCamera(); ???initScene(); ???initObject(); ???renderer.clear(); ???renderer.render(scene, camera);}threeStart();

2、初始化渲染器

var canvas = document.querySelector("canvas");canvas.width = window.innerWidth;canvas.height = window.innerHeight;var renderer;function initThree() { ???renderer = new THREE.WebGLRenderer({ ???????canvas : canvas, ???????antialias : true ???}); ???renderer.setSize(window.innerWidth, window.innerHeight); ???renderer.setClearColor(0xffffff, 1);}

3、初始化相机

var camera;function initCamera() { ???camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 1000); ???camera.position.x = 0; ???camera.position.y = 0; ???camera.position.z = 1000; ???camera.up.x = 0; ???camera.up.y = 1; ???camera.up.z = 0; ???camera.lookAt(0, 0, 0);}

4、初始化场景

var scene;function initScene () { ???scene = new THREE.Scene();}

5、生成几何图行并添加到场景中

var line;function initObject() { ???//定义两个顶点 ???var p1 = new THREE.Vector3(-100, -100, 0); ???var p2 = new THREE.Vector3(100, 100, 0); ???var geometry = new THREE.Geometry(); ???var material = new THREE.LineBasicMaterial({vertexColors:THREE.VertexColors }); ???geometry.vertices.push(p1); ???geometry.vertices.push(p2); ???var color1 = new THREE.Color( 0x444444 ), color2 = new THREE.Color( 0xFF0000 ); ???geometry.colors.push(color1, color2); ???line = new THREE.Line(geometry, material, THREE.LineSegments); ???scene.add(line);}

执行效果:

因为实例化材质的时候,用了vertexColors:THREE.VertexColors参数,因此直线的颜色是根据顶点的颜色渐变的。

three.js学习:三维空间下的直线

原文地址:https://www.cnblogs.com/wsfu/p/10357346.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved