`
18211103738
  • 浏览: 82326 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

ThreeJS画网格及其它

阅读更多

效果:

 

代码:

<!doctype html>
<html>
	<head>
		<meta charset="utf-8"/>
		<title>Grid</title>
		<style>body{background:#eeeeee;margin:0;padding:0;}</style>
		<script src="js/three.min.js"></script>
	</head>
	<body>
		<script>
		var width = window.innerWidth-3;
		var height = window.innerHeight-3;
		
		var scene = new THREE.Scene();		//创建场景
		
		var camera = new THREE.PerspectiveCamera(45, width/height, 1, 10000);		//创建相机(视角为45度,宽高比为width/height,近平面在1(离原点很近),远平面在+1000/-1000)
		camera.position.y = 1000;	//设置相机的位置(默认添加到原点)
		camera.up.z = 1;		//设置相机的上为z轴正方向(使与x轴水平沿z轴排列的线,看上去一行一行排列)
		camera.lookAt({x:0, y:0, z:0});		//设置相机的焦点在原点(相机默认添加到空间中的原点,方向向前,位移后物体可能不在视野内)
		
		var geometry = new THREE.Geometry();	//创建geometry
		geometry.vertices.push(new THREE.Vector3(-19*40/2, 0 ,0));	//添加顶点
		geometry.vertices.push(new THREE.Vector3(19*40/2, 0, 0));
		
		for(var i=0;i<20;i++){
			//var mesh = new THREE.Mesh(geometry, material);
			var line = new THREE.Line(geometry, new THREE.LineBasicMaterial({color:0x0000ff}));		//利用geometry和material创建line
			line.position.z = i*40 - 19*40/2;	//设置line的位置
			scene.add(line);	//将line添加到场景中
			
			var line = new THREE.Line(geometry, new THREE.LineBasicMaterial({color:0xff0000}));
			line.position.x = i*40 - 19*40/2;
			line.rotation.y = Math.PI/2;	//绕y轴旋转90度
			scene.add(line);
		}
		
		var renderer = new THREE.WebGLRenderer({antialias : true});		//创建渲染器(并设置抗锯齿属性)
		renderer.setSize(width, height);	//设置渲染器的大小
		renderer.setClearColor(0xeeeeee, 1);	//设置渲染器的背景
		document.body.appendChild(renderer.domElement);		//添加渲染器的DOM元素到body中
		
		function render(){
			//renderer.clear();
			renderer.render(scene, camera);		//进行渲染
		}
		render();
		</script>
	</body>
</html>

 附注:笔者当前使用的three.js版本是r69。

分享到:
评论

相关推荐

    3D 签到墙 ThreeJS动画

    **3D签到墙ThreeJS动画详解** Three.js是一个基于WebGL的JavaScript库,用于在浏览器中创建3D图形。这个“3D签到墙”项目利用Three.js的强大功能,为活动、年会等场合提供一种新颖且互动的签到体验。通过WebGL,它...

    threejs+shader平面扩散波(抗锯齿).zip

    在本项目中,"threejs+shader平面扩散波(抗锯齿).zip"是一个包含使用Three.js库和着色器实现的平面扩散波动画的示例。Three.js是一个广泛使用的JavaScript库,它允许开发者在浏览器中创建和展示3D图形。这个项目...

    ThreeJS中文API文档

    这个"ThreeJS中文API文档"是为开发者提供的一种详细、易懂的参考资源,旨在帮助他们更好地理解和使用THREE.JS库。以下是对这个API文档中可能包含的一些关键知识点的详细解释: 1. **对象和类**:THREE.JS中的所有...

    WebGL/ThreeJS EdgesGeometry边缘几何体画一个立方体的边框demo

    在这个“WebGL/ThreeJS EdgesGeometry边缘几何体画一个立方体的边框demo”中,可能还包括了旋转、平移和缩放立方体,以及调整相机位置以查看边框效果的代码。开发者可能会使用`THREE.OrbitControls`来实现交互式的...

    three.js-线上运动的光效

    标题 "three.js-线上运动的光效" 指向的是一个使用 three.js 库创建的、关于在线环境中动态光线效果的项目。three.js 是一个流行的JavaScript库,用于在Web浏览器中创建3D图形,它利用 WebGL 技术提供丰富的三维渲染...

    three.js 制作简单行星运转动画

    在本教程中,我们将深入探讨如何使用three.js库来创建一个简单的行星运转动画,模拟月球围绕地球的公转。three.js是一个强大的JavaScript库,专为WebGL提供3D图形渲染,使开发者能够轻松地在浏览器中构建丰富的3D...

    WebGL/ThreeJS入门简易demo之立方体.zip

    WebGL和Three.js是Web开发中的重要技术,用于在浏览器中创建交互式的3D图形。WebGL是一种基于OpenGL标准的JavaScript API,它允许开发者在网页上实现硬件加速的3D图形渲染,而无需任何插件。Three.js是建立在WebGL...

    Three.js创造一个三维太阳系动画.zip

    1. **环境配置**:安装Three.js和Vue.js库,以及可能需要的其他依赖。 2. **创建场景**:在Vue组件中初始化Three.js的场景、相机和渲染器。 3. **添加对象**:根据太阳系的实际情况,创建太阳、行星及其轨道,并设置...

    Three.js模型包

    - **预设模型**:这些可能是用其他3D建模软件(如Blender或Maya)创建的模型,经过转换为Three.js兼容格式(通常是.js或.json)。每个模型文件通常包含几何数据、材质信息和动画数据。 - **加载器(Loader)**:...

    three.js 源码及各种插件

    "Three.js 源码及各种插件"这一标题表明这是一个关于Three.js库的资源集合,其中包含Three.js的核心源码以及一系列的插件。Three.js是一个广泛使用的JavaScript库,用于在Web浏览器中创建3D图形。它提供了丰富的API...

    blander2.7版本threejs插件

    在"blander2.7版本threejs插件"中,我们可以理解为Blander 提供了一个特定的2.7版本,包含了一些专为Three.js设计的插件。这些插件可能包括额外的几何形状、粒子系统、动画控制器或者对特定文件格式的支持等,以帮助...

    WebGL/ThreeJS项目初始化案例

    在"WebGL/ThreeJS项目初始化案例"中,我们通常会遇到以下几个关键知识点: 1. **环境设置**:首先,你需要确保你的浏览器支持WebGL,并且在HTML文件中引入Three.js库的标签。Three.js库可以从官方GitHub仓库或CDN...

    three.js 全景手控和带陀螺仪效果

    文件列表中的"说明.txt"可能包含了项目的部署指南和代码解释,而"vr"可能是主场景文件,包含了three.js的初始化、全景图加载、控制类实例化以及其他相关设置。分析这个文件可以帮助我们理解整个系统的实现细节。 ...

    ThreeJS创建纹理贴图demo.zip

    本示例“ThreeJS创建纹理贴图demo”旨在教你如何利用Three.js库为你的3D对象添加丰富的视觉效果。Three.js是JavaScript的一个库,它简化了WebGL编程,使得在网页上创建交互式3D内容变得更加便捷。 WebGL是一种基于...

    glTFViewer使用threejs在WebGL中对glTF20模型进行拖放预览

    在“donmccurdy-three-gltf-viewer-6c178f4”这个文件夹中,包含了项目的源代码和其他资源。开发者可以查看和学习这些代码,了解如何将拖放预览功能与three.js结合,以及如何处理glTF 2.0格式的数据。通过对这个项目...

    ExpoFroggyStreet这是一个采用threejs构建的视频游戏示例

    在Expo Froggy Street这个项目中,开发者可能利用了Three.js的上述特性来创建游戏世界,包括角色、道路、障碍物和其他环境元素。游戏的代码结构可能包括场景设置、对象创建、动画循环、用户输入处理和碰撞检测等部分...

    threejs-rectangle-mesh

    本项目“threejs-rectangle-mesh”专注于创建一个便于使用的矩形网格,特别适合与正交相机配合使用。 在3D图形中,网格(Mesh)是基本的构建块,它由几何形状(Geometry)和材质(Material)组成。矩形网格在很多...

    three.js迷宫小游戏.zip

    《使用three.js构建迷宫小游戏》 在当今的数字时代,3D图形技术已经成为了游戏开发中的重要一环。...学习和掌握three.js,不仅能够开发出有趣的迷宫游戏,还能为其他类型的3D Web应用打下坚实的基础。

    利用three.js对城市交通车辆行人交通事故等场景模拟源码

    在本文中,我们将深入探讨如何利用three.js库来创建一个城市交通车辆行人交通事故等场景的三维模拟。three.js是JavaScript中最流行的3D图形库之一,它允许开发者在Web浏览器中构建复杂的3D交互式场景。 首先,理解...

Global site tag (gtag.js) - Google Analytics