iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >WebGL中three.js的示例分析
  • 352
分享到

WebGL中three.js的示例分析

2024-04-02 19:04:59 352人浏览 安东尼
摘要

小编给大家分享一下webGL中three.js的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 1、WEBGL 可以

小编给大家分享一下webGL中three.js的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1、WEBGL

可以在浏览器端显示3D图形

2、three.js

在WebGL基础上,再进行一次封装。比较好用。两者之间的关系相当于Js与Jquery的关系。

3、基本使用体验

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta Http-equiv="X-UA-Compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>three地板、立方体、球体</title>

  <style>

    *{

      margin: 0;

      padding: 0;

    }

  </style>

</head>

<body>

  <div id="webGL-output">

  </div>

  <script src="https://cdn.bootcdn.net/ajax/libs/three.js/r128/three.js"></script>

  <script>

    function init(){

      // 1、创建场景

      let scene = new THREE.Scene();

      // 2、创建相机

      let camera = new THREE.PerspectiveCamera(45,window.innerWidth/window.innerHeight,0.1,2000)

      // 3、创建渲染器

      let renderer = new THREE.WebGLRenderer()

      // 设置渲染器的初始颜色

      renderer.setClearColor(new THREE.Color(0xEEEEEE))

      // 设置canvas画布尺寸大小

      renderer.setSize(window.innerWidth,window.innerHeight)

      renderer.shadowMapEnabled = true

      // 设置三维坐标系

      let axis = new THREE.AxesHelper(20)

      // 坐标系添加到场景中

      scene.add(axis)

      // 4、创建地板模型并上色

      let planeMat = new THREE.PlaneGeometry(60,20)

      let planeCol = new THREE.MeshBasicMaterial({color:0xcccccc})

      let plane = new THREE.Mesh(planeMat,planeCol)

      plane.receiveShadow = true

      // 地面添加到场景中

      plane.rotation.x = -0.5*Math.PI

      scene.add(plane)

      // 5、创建立方体

      let cubeMat = new THREE.BoxGeometry(4,4,4);

      let cubeCol = new THREE.MeshLambertMaterial({color:0x66cc00})

      let cube = new THREE.Mesh(cubeMat,cubeCol)

      cube.position.x = 4

      cube.position.y = 0

      cube.position.z = 4

      cube.castShadow = true;  //立方体添加阴影

      // 5、创建球体

      let sphereMat = new THREE.SphereGeometry(4,20,20);

      let sphereCol = new THREE.MeshLambertMaterial({color:0x21cc10})

      let sphere = new THREE.Mesh(sphereMat,sphereCol)

      sphere.position.x = 10

      sphere.position.y = 4

      sphere.position.z = 0

      sphere.castShadow = true;  //添加阴影

      // 添加聚光灯

      let spotLight = new THREE.SpotLight(0xFFFFFF)

      spotLight.position.set(30,20,10)

      spotLight.castShadow = true

      scene.add(spotLight)

      scene.add(cube,sphere)

      // 6、渲染

      // 相机定位,并指向场景

      camera.position.x = -20

      camera.position.y = 30

      camera.position.z = 30

      camera.lookAt(scene.position)

      // 

      document.getElementById("webGL-output").appendChild(renderer.domElement)

      renderer.render(scene,camera)

    }

    window.onload = init

  </script>

</body>

</html>

以上是“WebGL中three.js的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: WebGL中three.js的示例分析

本文链接: https://www.lsjlt.com/news/91678.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • WebGL中three.js的示例分析
    小编给大家分享一下WebGL中three.js的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 1、WebGL 可以...
    99+
    2024-04-02
  • Webgl&Three.js中物体拾取的示例分析
    小编给大家分享一下Webgl&Three.js中物体拾取的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、引子...
    99+
    2024-04-02
  • Three.js基础的示例分析
    这篇文章给大家分享的是有关Three.js基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Three.js官网及使用Three.js必备的三个条件1.Three....
    99+
    2024-04-02
  • Three.js加载外部模型的示例分析
    这篇文章主要介绍了Three.js加载外部模型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.  首先我们要在官网: ...
    99+
    2024-04-02
  • Three.js中网格对象MESH属性与方法的示例分析
    这篇文章给大家分享的是有关Three.js中网格对象MESH属性与方法的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。创建一个网格需要一个几何体,以及一个或多个材质。当网...
    99+
    2024-04-02
  • JS库中Three.js的用法示例
    这篇文章给大家分享的是有关JS库中Three.js的用法示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。准备工作在写代码之前,你首先要去下最新的three.js框架包,在你的页...
    99+
    2024-04-02
  • 如何从入门Three.js到做出3D地球的示例分析
    如何从入门Three.js到做出3D地球的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。开篇介绍如果你没接触过3d可视化技术, 你...
    99+
    2024-04-02
  • Node.js中的示例分析
    小编给大家分享一下Node.js中的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Node.js 的非阻塞 I/OI/O 即 Input/Output,一...
    99+
    2023-06-15
  • css中分组的示例分析
    小编给大家分享一下css中分组的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 分组提供了一些有意思的选择。例如,下例...
    99+
    2024-04-02
  • WebGL中three.js怎么实现物体的阴影动画效果
    小编给大家分享一下WebGL中three.js怎么实现物体的阴影动画效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实现物体的...
    99+
    2024-04-02
  • Angular中PIPE的示例分析
    这篇文章主要为大家展示了“Angular中PIPE的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Angular中PIPE的示例分析”这篇文章吧。 ...
    99+
    2024-04-02
  • MYSQL中Profile的示例分析
    这篇文章主要介绍MYSQL中Profile的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MYSQL--Profile分析在分析一条SQL语句的时候,发现在SQL语句的末尾或...
    99+
    2024-04-02
  • javascript中 “this”的示例分析
    小编给大家分享一下javascript中 “this”的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言:我们知道...
    99+
    2024-04-02
  • CSS中BFC的示例分析
    这篇文章主要介绍CSS中BFC的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、什么是BFC(Block Formatting Context)写CSS样式时,对一个元素设...
    99+
    2024-04-02
  • JavaScript中JSON的示例分析
    这篇文章主要为大家展示了“JavaScript中JSON的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中JSON的示例分析”这篇文...
    99+
    2024-04-02
  • angular6中sdk的示例分析
    这篇文章主要为大家展示了“angular6中sdk的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“angular6中sdk的示例分析”这篇文章吧。坑一:...
    99+
    2024-04-02
  • ES6中类的示例分析
    小编给大家分享一下ES6中类的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ES5近似结构在ES5中没有类的概念,最相近...
    99+
    2024-04-02
  • jQuery中Autocomplete的示例分析
    这篇文章给大家分享的是有关jQuery中Autocomplete的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。jQuery UI Autocomplete是jQuery...
    99+
    2024-04-02
  • css中position:sticky的示例分析
    小编给大家分享一下css中position:sticky的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! css po...
    99+
    2024-04-02
  • JavaScript中Ajax的示例分析
    这篇文章给大家分享的是有关JavaScript中Ajax的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ajax1.创建步骤:1.创建一个XMLHttpRequest异步...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作