web 3d引擎

http://www.cssass.com/blog/index.php/2012/1266.html


使用three.js库,在页面中导入显示3D模型。

Java代码   收藏代码
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="UTF-8" />  
  5. <title>MGA-411 Mangusa</title>  
  6.     <script type="text/javascript" charset="utf-8" src="http://www.cssass.com/blog/resource/threejs/three.js"></script>  
  7.     <style>body{overflow:hidden;background:#000}</style>  
  8. </head>  
  9. <body>  
  10.     <div id="Loading" style="color:#fff">Loading...</div>  
  11. </body>  
  12.     <script>  
  13.     /* 场景 */  
  14.     var WIDTH = document.documentElement.offsetWidth || 800,  
  15.         HEIGHT = document.documentElement.clientHeight || 600;  
  16.     var scene = new THREE.Scene();  
  17.     /* 摄像头 */  
  18.     var VIEW_ANGLE = 75,  
  19.         ASPECT = WIDTH / HEIGHT,  
  20.         NEAR = 0.1,  
  21.         FAR = 10000;  
  22.     var camera = new THREE.PerspectiveCamera(VIEW_ANGLE, ASPECT, NEAR, FAR);  
  23.         camera.position.set(001000);  
  24.         scene.add(camera);  
  25.     /* 渲染器 */  
  26.     var renderer = new THREE.WebGLRenderer();  
  27.         renderer.setSize(WIDTH , HEIGHT);  
  28.         document.body.appendChild(renderer.domElement);  
  29.     /* 灯光 */  
  30.     var light = new THREE.DirectionalLight(0xFFFFFF);  
  31.         light.position.set(0099).normalize();  
  32.         scene.add(light);  
  33.     /* 显示对象 */  
  34.     var material = new THREE.MeshLambertMaterial({ color: 0xcccccc, wireframe: true }),  
  35.         obj;  
  36.     var loader = new THREE.JSONLoader(true);  
  37.     loader.load("http://www.cssass.com/blog/resource/threejs/model/MGA.js", function ( geometry ) {  
  38.         var loading = document.getElementById("Loading");  
  39.         loading.parentNode.removeChild(loading);  
  40.         obj = new THREE.Mesh(geometry, material);  
  41.         obj.position.set(0,1,990);  
  42.         scene.add(obj);  
  43.         var start = new Date().getTime(),delta;  
  44.         (function anime(){  
  45.             delta = new Date().getTime() - start;  
  46.             obj.rotation.y =   delta / 1000;  
  47.             renderer.render(scene, camera);  
  48.             return requestAnimationFrame(anime);  
  49.         })();  
  50.     });  
  51. </script>  
  52. </html>  
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>MGA-411 Mangusa</title>
    <script type="text/javascript" charset="utf-8" src="http://www.cssass.com/blog/resource/threejs/three.js"></script>
	<style>body{overflow:hidden;background:#000}</style>
</head>
<body>
	<div id="Loading" style="color:#fff">Loading...</div>
</body>
	<script>
	/* 场景 */
	var WIDTH = document.documentElement.offsetWidth || 800,
		HEIGHT = document.documentElement.clientHeight || 600;
	var scene = new THREE.Scene();
	/* 摄像头 */
	var VIEW_ANGLE = 75,
		ASPECT = WIDTH / HEIGHT,
		NEAR = 0.1,
		FAR = 10000;
	var	camera = new THREE.PerspectiveCamera(VIEW_ANGLE, ASPECT, NEAR, FAR);
		camera.position.set(0, 0, 1000);
		scene.add(camera);
	/* 渲染器 */
	var	renderer = new THREE.WebGLRenderer();
		renderer.setSize(WIDTH , HEIGHT);
		document.body.appendChild(renderer.domElement);
	/* 灯光 */
	var light = new THREE.DirectionalLight(0xFFFFFF);
		light.position.set(0, 0, 99).normalize();
		scene.add(light);
	/* 显示对象 */
	var material = new THREE.MeshLambertMaterial({ color: 0xcccccc, wireframe: true }),
		obj;
	var loader = new THREE.JSONLoader(true);
    loader.load("http://www.cssass.com/blog/resource/threejs/model/MGA.js", function ( geometry ) {
		var loading = document.getElementById("Loading");
		loading.parentNode.removeChild(loading);
		obj = new THREE.Mesh(geometry, material);
		obj.position.set(0,1,990);
		scene.add(obj);
		var start = new Date().getTime(),delta;
		(function anime(){
			delta = new Date().getTime() - start;
			obj.rotation.y =   delta / 1000;
			renderer.render(scene, camera);
			return requestAnimationFrame(anime);
		})();
	});
</script>
</html>


预览地址: http://www.cssass.com/blog/index.php/2012/1266.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值