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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中,有几个Web3D引擎可以用于在Web应用程序中创建和展示3D图形。以下是一些常用的C# Web3D引擎: 1. Unity3D:Unity3D是一个跨平台的游戏引擎,也可以用于创建Web3D应用程序。它提供了一个强大的可视化编辑器和一套丰富的工具,可以创建复杂的3D场景、物体、动画等。你可以使用Unity的C#脚本来编写逻辑和交互代码,并将项目发布为WebGL格式以在浏览器中运行。 2. Babylon.js:Babylon.js是一个基于WebGL的开源Web3D引擎,专注于游戏和图形应用程序的开发。它提供了丰富的功能和API,可以创建复杂的3D场景、粒子效果、物理模拟等。Babylon.js使用TypeScript编写,但也可以与C#进行交互,例如使用Blazor框架。 3. Helix Toolkit:Helix Toolkit是一个.NET平台上的开源3D库,包含在WPF、Windows Forms和ASP.NET中使用的版本。它提供了一组易于使用的控件和工具,用于创建和显示3D场景、模型、光照效果等。你可以使用C#代码直接与Helix Toolkit进行交互。 除了以上列出的引擎外,还有其他一些Web3D引擎可以使用,如Three.js、Cesium等。尽管它们的主要开发语言不是C#,但你仍然可以使用C#与它们进行交互,例如通过JavaScript与C#之间的互操作性。 根据你的项目需求和技术偏好,选择适合的C# Web3D引擎来开发Web应用程序中的3D图形。在使用这些引擎之前,请确保阅读其文档和示例,了解如何正确地集成和使用它们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值