首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏橙光笔记

    Three.js教程(4):相机

    相机这部分的内容并不是很多,Three.js主要支持两种相机,一种是PerspectiveCamera即透视投影摄像机,另一种是OrthographicCamera即正交投影摄像机。 PerspectiveCamera的构造方法有4个参数,分别是视场、长宽比、近处距离、远处距离,其中视场表示眼睛看到的度数,比如人类可以看到前面一半左右,所以人类的视场就是180°,而火影忍者中,日向一族有一种技能叫白眼

    2.7K31发布于 2020-10-17
  • 来自专栏数字孪生

    Three.js外包开发的技术难点

    在使用 Three.js 进行开发时,尽管它大大简化了 WebGL 的操作,但仍存在一些难点,需要开发者深入理解和应对。以下是常见的开发难点及其简要说明。1. 4. 材质与纹理处理Three.js 支持多种材质和纹理,但处理复杂的材质需求时可能出现问题。难点:实现自定义着色器(ShaderMaterial)需要了解 GLSL。 解决方法:使用 OrbitControls 或 TrackballControls 简化交互开发。手动调整相机的 near 和 far 平面,避免深度问题。8. 总结Three.js 功能强大,但由于涉及 3D 渲染、动画、交互和性能优化等多个领域,需要开发者具备扎实的图形学知识和经验。 通过不断实践、利用社区资源(如官方文档、示例代码)以及学习底层 WebGL 原理,可以有效解决开发中的难点。

    1.2K10编辑于 2024-11-22
  • 来自专栏前端少年汪的博客

    Three.js深入浅出:1-搭建Three.js开发环境

    我们将从搭建基本的 3D 场景开始,逐步引入光影、材质、纹理、动画等概念,让读者能够系统地掌握 Three.js开发技巧和实践经验。 无论是 Web 开发工程师、还是对 3D 图形技术感兴趣的爱好者,都能够从中受益匪浅。 让我们一起踏上 Three.js 的学习之旅,探索无限的创意可能性,开启属于自己的 3D 时代! 引入three.js的方式 这里主要分为两种情况 开发环境:项目开发引入threejs,比如vue或react脚手架引入threejs。 script标签引入 你可以像平时开发web前端项目一样,通过script标签把three.js当做一个js库引入你的项目。 这样你实际项目的开发环境复制课程源码,不用改变threejs引入代码。

    1.5K20编辑于 2023-11-21
  • 来自专栏郭先生的博客

    three.js 数学方法之Matrix4

    今天郭先生说一说three.js中的Matrix4,相较于Matrix3来说,Matrix4three.js联系的更紧密,因为在4x4矩阵最常用的用法是作为一个变换矩阵。 方法同三维矩阵 2. identity(): Matrix4 创建并初始化一个4X4的单位矩阵identity matrix。方法同三维矩阵。 5. copyPosition( m: Matrix4 ): Matrix4 将给定矩阵m : Matrix4 的平移分量拷贝到当前矩阵中。 14. multiplyMatrices( a: Matrix4, b: Matrix4 ): Matrix4 设置当前矩阵为矩阵a x 矩阵b。方法同三维矩阵。 var matrix = new THREE.Matrix4().set(1,2,3,4,2,3,4,5,3,4,5,6,4,5,6,7); var trans = new THREE.Vector3(

    2.8K10发布于 2020-08-31
  • 来自专栏数字孪生

    Three.js 开发框架的主要特点

    Three.js 是一个功能强大且广泛使用的 WebGL 开发框架,专注于 3D 图形渲染。它的设计目标是简化 WebGL 的复杂性,使开发者能够快速创建复杂的 3D 场景和交互式应用。 以下是 Three.js 的主要特点。1.易于上手简洁的 API: Three.js 提供了直观且易于理解的 API,开发者可以通过简单的代码快速创建 3D 场景。 4.高性能优化渲染: Three.js 提供了多种渲染优化技术,如实例化渲染、LOD(细节层次)等,适合处理复杂场景。WebGL 2 支持: 支持 WebGL 2,提供更强大的渲染能力。 Shader 支持: 允许开发者编写自定义着色器(Shader),实现高级渲染效果。5.活跃的社区和生态系统社区支持: Three.js 拥有庞大的开发者社区,问题容易得到解决。 无论是数据可视化、游戏开发还是创意项目,Three.js 都能提供强大的支持。

    96910编辑于 2025-01-16
  • 来自专栏橙光笔记

    Three.js教程(1):初识three.js

    ---- 为什么要使用three.js 要回答为什么要使用three.js?首先我们想想什么是three.js? 前端实现3D效果无非这么几种方式: 1.CSS 3D技术; 2.SVG; 3.WebGL技术; 4.Canvas或者图片等来模拟3D。 而three.js直接支持前3种渲染方式,可以看出three.js的强大。 大多情况下如果是为了展示3D的效果,那么直接用图片就可以了,如果要动起来的话,视频往往可以胜任。 现在你可以忘掉上面的内容,因为three.js封装的特别好,根本看不到任何WebGL的影子,你再也不需要去了解什么着色器,更不用写GLSL ES,我们先来看一个更高级且更简单的three.js的例子。 初识three.js three.js可以使用模块化引入,当然也可以直接用script标签来引入。

    24.8K85发布于 2020-10-19
  • 来自专栏游戏开发之旅

    利用 three.js 开发微信小游戏的尝试

    前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧。 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏。 我在查阅各处的文章时候,发现其中有几款是基于 three.js 开发的,目前火爆朋友圈的《跳一跳》就是其中之一。 准备工作 最新版本的 three.js; 首先应该具有一定的 three.js 开发经验,有之前写过的简单演示代码; 最新版本的“微信开发者工具”。 开发者用微信扫描这个二维码,就可以打开测试。 如果您没有修改过 three.js 源文件,那么很有可能只看到一个黑屏。 通过修改 adapter 应该就可以减少 three.js 源文件的修改。)

    4K10发布于 2019-12-03
  • 来自专栏快乐阿超

    three.js

    阿谀奉承而无所图的人极少;爱奉承的话,就免不了要付出代价——佚名 一个js的3D库 git仓库:https://github.com/mrdoob/three.js 官网:https://threejs.org

    14.1K20编辑于 2022-09-29
  • 来自专栏郭先生的博客

    three.js 曲线

    上几篇说了three.js的曲线,这篇来郭先生来说说three.js曲线,在线案例点击three.js曲线 1. 了解three.js曲线 之前已经说了一些three.js的几何体,这篇说一说three.js曲线。曲线的种类主要分两种,二维曲线和三维曲线。

    12.3K21发布于 2020-08-31
  • 来自专栏cc log

    Three.js基础

    * 12); mesh.position.y = 4; mesh.position.z = -8 + (j * 12); if requestAnimationFrame(render); renderer.render(scene, camera); } } 创建几何体 顶点和面就组合成了几何体 three.js 4); guiRotation.add(controls, 'rotationY', -4, 4); guiRotation.add(controls, 'rotationZ', -4, 4) 4, 4); for (var j = 0; j < (planeGeometry.parameters.height / 5); j++) { for (var i = 0; i 4, 4); for (var j = 0; j < (planeGeometry.parameters.height / 5); j++) { for (var i = 0; i <

    90910编辑于 2024-04-03
  • 来自专栏前端小菜鸡yym

    three.js 初步

    首先我们需要先引入tree.js 链接:https://pan.baidu.com/s/1SLQL6RChecY8gE7e-Jfn1g 密码:n4h8 <! DOCTYPE html> <html> <head> <meta charset=utf-8> <title>My first three.js app</title </style> </head> <body> //根据文件的位置,我放在了跟html文件放到了js的统计目录 <script src="js/<em>three.js</em> /js/<em>three.js</em>'></script> <title></title> </head> <body> <script type="text/javascript"> 这里用的是OrthographicCamera //参数 1--视野角度 2--长宽比根据屏幕长宽 3--远剪切面 4--近剪切面 var camera = new THREE.OrthographicCamera

    5.6K50编辑于 2023-01-12
  • 来自专栏赵康的日常专栏

    【前端】Three.js

    Three.js 基本概念 渲染器(Renderer) 渲染器将和Canvas元素进行绑定 场景(Scene) 在Three.js中添加的物体都是添加到场景中的,因此它相当于一个大容器。

    86720编辑于 2023-10-17
  • 来自专栏Golang语言社区

    Three.js入门

    Three.js的核心五步就是: 1.设置three.js渲染器 2.设置摄像机camera 3.设置场景scene 4.设置光源light 5.设置物体object 1.设置three.js渲染器 三维空间里的物体映射到二维平面的过程被称为三维渲染 (1) 声明全局render对象; (2) 获取画布的高和宽; (2) 生成渲染器对象 (3) 指定渲染器的高宽(一般跟画布框大小一致); (4) 追加canvas元素到canvas3d元素中; (5) 在Three.js也能够指定透视投影和正投影两种方式的相机。 本文按照以下的步骤设置透视投影方式。 (1) 声明全局的变量(对象); (2) 设置透视投影的相机; (3) 设置相机的位置坐标; (4) 设置相机的上为「z」轴方向; (5) 设置视野的中心坐标。 //设置场景 var scene; function initScene(){ scene = new THREE.Scene(); } 4.

    8.6K92发布于 2018-03-22
  • 来自专栏郭先生的博客

    three.js 材质

    今天郭先生说一说three.js的材质。材质描述了对象objects的外观。它们的定义方式与渲染器无关, 因此,如果您决定使用不同的渲染器,不必重写材质。 1. three.js材质基类 所有其他材质类型都继承了Material。 下面是一些属性: .alphaTest : Float 设置运行alphaTest时要使用的alpha值。 将材质转换为three.js JSON格式。 2. three.js材质种类 名称 介绍 LineBasicMaterial 一种用于绘制线框样式几何体的材质。 日后我将花大量时间说这个,但是现在还不是时候,日后说说Vector3,Matrix3,Matrix4,Quaternion,然后在说说着色器语言。

    10.9K50发布于 2020-08-28
  • 来自专栏前端数据可视化

    Three.js』起飞!

    本文简介 点赞 + 关注 + 收藏 = 学会了 本文使用 Three.js 的版本:137 本文使用原生三件套的方式去学习 Three.js。 是一篇面向小白的笔记~ Three.js 官网 下载 Three.js Three.js GitHub地址 通过上面的地址,可以下载 Three.js 这是下载下来解压后的文件 创建项目 我习惯使用 vs code 编写前端代码,如果是用原生三件套学习,我还会使用 Live Server 插件辅助开发。 const camera = new PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000) // 【步骤4】 存在这4个,页面就会有东西显示。 跟着敲两遍,之后再看看 官方示例 ,深入理解下每个 api 的用法。你就算是入门了 Three.js 。 代码仓库 ⭐Three.js 起步

    11.5K40编辑于 2022-09-23
  • 来自专栏前端少年汪的博客

    Three.js深入浅出:4-three.js中的光源

    序言: 在现代互联网时代,Web 技术的快速发展使得 Web 开发领域日新月异。随着互联网内容变得越来越丰富、复杂,用户对于网页和应用程序的交互性和视觉效果提出了更高的要求。 我们将从搭建基本的 3D 场景开始,逐步引入光影、材质、纹理、动画等概念,让读者能够系统地掌握 Three.js开发技巧和实践经验。 无论是 Web 开发工程师、还是对 3D 图形技术感兴趣的爱好者,都能够从中受益匪浅。 让我们一起踏上 Three.js 的学习之旅,探索无限的创意可能性,开启属于自己的 3D 时代! 4); 2. 4.

    1.3K10编辑于 2023-11-26
  • 来自专栏cc log

    学习Three.js

    Intro 基于r95版本three.js。整理知识点,以及demo。 4, 4); var cubeMaterial = new THREE.MeshBasicMaterial({ color: 0xFF0000, wireframe: true }); 4, 4); var cubeMaterial = new THREE.MeshLambertMaterial({ color: 0xff0000, }); var cube = ); var baseMesh = new THREE.Mesh( base, new THREE.MeshLambertMaterial({ color: 0xffe4c4 4, 4); var cubeMaterial = new THREE.MeshLambertMaterial({ color: 0xff0000 }); var cube = new

    83810编辑于 2024-04-03
  • 来自专栏跳悦火焰

    Three.js 前言

     -----------------------------------本文非技术文章,着急开发的小伙伴请绕道-----------------------------------------   最近公司做了一套项目 ,主要是写机房管理,并且还要是一个3D模型,做3D,首先想到的是Three.js,对于Three.js,我的了解不多,除了前两年用Three.js的Dome改造了一个年会抽奖系统外,其他的基本上也就仅仅停留在认识 Three.js这几个英文字母上,这次这项目,对于我来说是个挑战,其实对于公司来说也是,学习Three.js凉了这个项目基本上也就黄了。 本着回馈的理念,我计划在未来半个月时间对这次开发中踩的坑和心得做个记录,以备以后开发时参考,也让正在准备开发或者学习的同仁避免反和我一样的错误。

    7.3K20发布于 2019-09-26
  • 来自专栏前端之攻略

    three.js 事件交互

    点击查看交互效果 在three.js中,展示的一切内容都是在canvas中绘制的,所以点击事件点击到物体上是无法获取点击对象的,要获取点击的对象,要使用RayCaster,是用于在三维空间中进行鼠标拾取 DOCTYPE html> <html lang="en"> <head> <title>three.js webgl - raycast - sprite</title> <meta /build/three.js"></script> <script src=".. THREE.Sprite(new THREE.SpriteMaterial({ color: "green" })); //sprite.material.rotation = Math.PI/3*4; //等同于(Math.PI/3)*4逆时针旋转240度 sprite.position.set(8, -2, 2); //感觉position的位置是精灵的中心在三维坐标中的位置

    14.9K90发布于 2019-04-22
  • 来自专栏郭先生的博客

    three.js 制作魔方

    因为之前的几节讲了一些数学方法,例如Vector3、Matrix4、Euler还有Quaternion的知识。所以这篇郭先生就来说说用three.js怎么制作一个魔方。 在线案例请点击three.js制作魔方。 image.png 制作魔方主要运用坐标变换的知识,制作魔方的方法有很多,建议你先在大脑中构思,然后试着做一做,下面我将一种比较简单的方法。 scene.add(group); this.render(); document.getElementById("loading").style.display = "none"; } 4. break; case 3: axis = currentUp.clone().negate(); break; case 4: groupTemp.children.forEach(d => { let mesh = d.clone(); mesh.applyMatrix4(

    10K10发布于 2020-08-31
领券