当前位置: 首页 > wzjs >正文

雄县哪里有建设网站的深圳百度推广

雄县哪里有建设网站的,深圳百度推广,沙洋网站定制,电子商务网站和普通网站的区别系列文章目录 Three.js 快速入门教程【一】开启你的 3D Web 开发之旅 Three.js 快速入门教程【二】透视投影相机 Three.js 快速入门教程【三】渲染器 Three.js 快速入门教程【四】三维坐标系 Three.js 快速入门教程【五】动画渲染循环 文章目录 系列文章目录一、Three.js 是什…

请添加图片描述

系列文章目录

Three.js 快速入门教程【一】开启你的 3D Web 开发之旅
Three.js 快速入门教程【二】透视投影相机
Three.js 快速入门教程【三】渲染器
Three.js 快速入门教程【四】三维坐标系
Three.js 快速入门教程【五】动画渲染循环


文章目录

  • 系列文章目录
  • 一、Three.js 是什么
  • 二、Three.js 应用场景
  • 三、环境搭建(两种方式任选)
  • 四、核心概念
    • 1. 场景(Scene)
    • 2. 相机(Camera)
    • 3.几何体(Geometry)
    • 4、材质(Material)
    • 5. 网格(Mesh)
    • 6. 渲染器(Renderer)
  • 五、牛刀小试
  • 总结


一、Three.js 是什么

    Three.js是一个基于WebGL封装的轻量级3D库,它将晦涩难懂的WebGL API封装成易读的JavaScript接口,让开发者无需深入了解 WebGL 的复杂细节,就能用简洁的代码创建出精美的 3D 场景。


二、Three.js 应用场景

1、数据可视化:将枯燥的报表变成旋转的3D图表
2、产品展示:让用户在网页中360°查看产品细节
3、3D网页游戏:开发轻量级的3D小游戏
4、建筑和室内设计:构建虚拟的建筑模型或室内设计方案,用户可以在浏览器中自由查看和导航这些 3D 场景,提前感受设计效果。
5、虚拟现实(VR)和增强现实(AR):与 WebVR 和 WebXR API 集成,用于创建沉浸式的 VR 和 AR 应用,用户可以在浏览器中体验身临其境的虚拟环境或与现实环境叠加的增强现实效果。


三、环境搭建(两种方式任选)

方式一:CDN直连(适合测试或新手)

!--<head>中引入 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r162/three.min.js"></script></script>

方式二:npm安装(适合项目开发)

npm install three
// 使用时导入
import * as THREE from 'three';

四、核心概念

在这里插入图片描述

在Three.js中创建一个最基本的3D场景需要六个核心要素:场景(Scene)、相机(Camera)几何体(Geometry)、材质(Material)、网格(Mesh),最后通过渲染器(WebGLRenderer)将场景和相机的信息渲染到网页中,并通过动画循环实现持续更新,形成动态3D效果。

1. 场景(Scene)

作用:3D 世界的容器,所有物体、光源、相机的载体,所有要在屏幕上显示的元素都需要添加到场景中。

// 创建一个场景
const scene = new THREE.Scene();
//通过scene.add(元素)添加元素

2. 相机(Camera)

作用:决定从哪个角度观察场景中的对象,就像现实世界中摄影师使用的相机一样

相机分为2种类型:透视相机、正交相机

透视相机:模拟人眼的视觉效果,远处的物体看起来比近处的物体小,具有透视效果。

正交相机:物体的大小不会随着距离的变化而改变,常用于 2D 游戏或 UI 设计。

3D开发场景中透视相机用的比较多,入门掌握透视相机即可。

透视相机(PerspectiveCamera)

// 创建一个透视相机
const camera = new THREE.PerspectiveCamera(75, // 视场角(FOV)window.innerWidth / window.innerHeight, // 宽高比0.1, // 近裁剪面3000 // 远裁剪面
);//设置相机位置
camera.position.set(100, 100, 100); 

3.几何体(Geometry)

作用:定义了 物体的形状,例如长方体、球体、圆柱体等。常用内置几何体:

BoxGeometry(长方体)

SphereGeometry(球体)

CylinderGeometry(圆柱体)


// 创建一个立方体几何体
const geometry = new THREE.BoxGeometry(1, 1, 1);
// 创建一个球体
const geometry2 = new THREE.SphereGeometry(10);
//创建一个圆柱体
const geometry = new THREE.CylinderGeometry(10,10,50);

4、材质(Material)

作用:定义物体的外观(颜色、纹理、透明度等)。常用材质:

MeshBasicMaterial(基础材质,不受光影响,始终显示为指定的颜色或纹理。)

MeshPhongMaterial(高光材质,受光影响,面有高光反射效果。)

// 创建一个基础材质
const material = new THREE.MeshBasicMaterial({ color: 0x000000 });

5. 网格(Mesh)

 几何体 + 材质 = 网格

网格是几何体和材质的组合,它将几何体的形状和材质的外观结合起来,形成一个完整的 3D 对象(物体)。创建网格后,需要将其添加到场景中才能显示。

// 创建立方体(宽,高,深)
const geometry = new THREE.BoxGeometry(1, 1, 1);// 基础材质(可配置颜色、贴图等)
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });// 创建网格对象
const mesh= new THREE.Mesh(geometry, material);
scene.add(mesh);

6. 渲染器(Renderer)

渲染器负责将场景和相机的信息转化为屏幕上的图像。它使用 WebGL 或 Canvas 等技术在网页上绘制 3D 图形。Three.js 提供了多种渲染器,最常用的是 WebGL 渲染器(THREE.WebGLRenderer)。

// 创建一个 WebGL 渲染器
const renderer = new THREE.WebGLRenderer();
// 设置渲染器的大小
renderer.setSize(window.innerWidth, window.innerHeight);
// 将渲染器的 DOM 元素添加到页面中
document.body.appendChild(renderer.domElement);

五、牛刀小试

通过上面的介绍我们了解了three.js核心概念和基本的使用方式,下面用代码来演示一个简单的3d案例——实现一个正方体3D效果

代码示例:

import * as THREE from "three";
//引入相机控制器
import { OrbitControls } from "three/addons/controls/OrbitControls.js";//创建场景
const scene = new THREE.Scene();
//设置黑色背景色
scene.background = new THREE.Color(0x000000);//创建一个正方体
const geometry = new THREE.BoxGeometry(10, 10, 10);
//创建一个基础材质,颜色指定红色
const material = new THREE.MeshBasicMaterial({ color: "red" });//创建一个网格对象
const mesh = new THREE.Mesh(geometry, material);
//设置网格对象位置
mesh.position.set(0, 0, 0);
//添加到场景中
scene.add(mesh);//创建相机
const camera = new THREE.PerspectiveCamera(75,window.innerWidth / window.innerHeight,0.1,1000
);
//设置相机位置
camera.position.set(0, 10, 30);
//相机默认看向网格对象
camera.lookAt(mesh.position);//创建渲染器
const renderer = new THREE.WebGLRenderer();
//设置渲染器尺寸为页面宽高
renderer.setSize(document.documentElement.clientWidth,document.documentElement.clientHeight
);
//将渲染器的 DOM 元素添加到页面中
document.body.appendChild(renderer.domElement);// 新建一个相机控件
const controls = new OrbitControls(camera, renderer.domElement);
// 启用阻尼(惯性效果)
controls.enableDamping = true;
controls.dampingFactor = 0.05;
// 动画循环
function animate() {// 定时刷新requestAnimationFrame(animate);// 更新控制器,必须调用以应用阻尼效果controls.update();//重新渲染renderer.render(scene, camera);
}
// 执行动画
animate();

运行效果:
请添加图片描述

说明:上述示例中我们引入了OrbitControls控制器 ,OrbitControls 是一个用于实现交互式场景相机控制的工具库。它允许用户通过鼠标(或触摸屏)直接操作 3D 场景的观察视角,如同在轨道上环绕目标物体一般,常用于提升 Web 3D 应用的交互体验。代码结尾通过requestAnimationFrame递归形式循环调用animate函数,达到页面持续刷新效果。在 Three.js 开发中,几乎所有的动态场景(如旋转模型、交互操作、自动动画)都需要通过 requestAnimationFrame 驱动持续渲染。

总结

    通过本篇教程,我们认识了什么是Three.js和Three.js应用场景,共同探索了Three.js的核心概念与基础用法。从构建场景(Scene)、相机(Camera)到渲染器(Renderer)的"铁三角"架构,再到几何体(Geometry)、材质(Material)与网格(Mesh)的有机结合,至此你已经了解并掌握了创建最基础三维场景的核心工具链。

更多three.js入门知识点请关注该系列教程后续的更新。

http://www.dtcms.com/wzjs/211858.html

相关文章:

  • 中国风古典网站模板seo网站推广什么意思
  • 上海做网站 公司 哪家好国内十大搜索引擎网站
  • 学网站建设软件开发一个完整的产品运营方案
  • 潍坊专业做网站的公司无锡百度推广代理公司
  • 公司网站打不开不知道谁做的国产系统2345
  • 常熟专业做网站如何把网站推广
  • 清河做网站哪儿好短信广告投放软件
  • asp.net网站开发文档今日全国疫情最新消息
  • 罗湖建设公司网站建设电商的运营模式有几种
  • 佛山市手机网站建设公司北京网站优化体验
  • 河北省住房和城乡建设部网站廊坊百度推广seo
  • 旅社网站建设企业网络营销顾问
  • 太原网站建设ty556怎么进行网站关键词优化
  • 新网站怎样做外链朔州seo
  • 减粘装置设备设计要点泉州百度首页优化
  • 微型购物网站建设模板品牌推广公司
  • 长春网站建设于健长尾关键词排名推广
  • 宜昌市住房和城乡建设局网站西安网站关键词推广
  • 潮阳网站制作百度贴吧网页版
  • 做电子商城网站注意事项短信营销平台
  • 网站建设相关的seo属于技术还是营销
  • 织梦网站设计抖音关键词挖掘工具
  • 网站开发html5seo关键词怎么选
  • 设计师新手接单网站深圳seo培训
  • 中国纪检监察报电子版在线阅读推广优化师
  • 建设功能网站价格兰州seo快速优化报价
  • app产品网站模板免费下载百度笔记排名优化
  • wordpress百度主动插件厦门seo排名优化
  • 装修网站效果图如何被百度收录
  • 北京品牌网站定制公司最新黑帽seo培训