当前位置:   article > 正文

Three.JS第 1 篇,Three.js新手教学,如何使用Three.js(three.js使用流程,three.js使用详细,three.js的使用方式,three.js创建3d物体)_threejs

threejs

前言

Three.JS封装了WebGL的底层细节,是一款运行在浏览器中的 3D 引擎,可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象,目前在Git上已经拥有90k+的star。今天用three.js来构建一个物体和坐标轴


Three.js ~ 第 1 篇    ——    Three.JS具体使用详细  

一. 首先,在项目中下载threejs的依赖包

  1. npm install three
  2. //或者
  3. cnpm install three
  4. //或者使用其它


二. 然后,在JS页面引入使用

  1. 方式 1: 全局引入,导入整个 three.js核心库
  2. import * as THREE from 'three';
  3. 使用
  4. const scene = new THREE.Scene();
  5. 方式 2: 按需引入,仅导入你所需要的部分
  6. import { Scene } from 'three';
  7. 使用
  8. const scene = new Scene();


三. 具体使用过程详细

  1. 引入threejs
  2. import * as three from "three";
  3. 引入控制器 控制元素
  4. import { OrbitControls } from "three/examples/jsm/controls/OrbitControls";
  5. 创建场景
  6. const scene = new three.Scene();
  7. 创建相机
  8. const camera = new three.PerspectiveCamera(75, window.innerWidth /
  9. window.innerHeight, 0.1, 1000);
  10. 设置相机位置
  11. camera.position.set(0, 0, 10);
  12. 场景绑定相机
  13. scene.add(camera);
  14. 创建几何体和材质
  15. const cubeGeometry = new three.BoxGeometry(1, 1, 1);
  16. const subeMaterial = new three.MeshBasicMaterial({ color: 0xffff00 });
  17. 根据几何体和材质创建物体
  18. const cube = new three.Mesh(cubeGeometry, subeMaterial);
  19. 把物体添加到场景中
  20. scene.add(cube);
  21. 初始化渲染器
  22. const renderer = new three.WebGLRenderer();
  23. 设置渲染器尺寸大小
  24. renderer.setSize(window.innerWidth, window.innerHeight);
  25. 将渲染内容添加到body
  26. document.body.appendChild(renderer.domElement);
  27. //使用渲染器将相机里的场景渲染出来
  28. //renderer.render(scene,camera);
  29. 创建控制器
  30. const controls = new OrbitControls(camera, renderer.domElement);
  31. 创建添加坐标轴线体
  32. const axesHelper = new three.AxesHelper(5);
  33. scene.add(axesHelper);
  34. 定义函数,实时渲染
  35. function render() {
  36. 物体添加动画
  37. cube.position.x += 0.05;
  38. if (cube.position.x > 5) {
  39. cube.position.x = 0
  40. }
  41. 在函数中调用渲染器
  42. renderer.render(scene, camera);
  43. 实时渲染函数
  44. requestAnimationFrame(render);
  45. }
  46. render();


四. 实现的3d效果


五. 更多操作,请看

Three.JS官网icon-default.png?t=N7T8https://threejs.org/

创作不易,感觉有用,就一键三连,感谢(●'◡'●)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/993433
推荐阅读
相关标签
  

闽ICP备14008679号