首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数字孪生

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

    在使用 Three.js 进行开发时,尽管它大大简化了 WebGL 的操作,但仍存在一些难点,需要开发者深入理解和应对。以下是常见的开发难点及其简要说明。1. 解决方法:使用 OrbitControls 或 TrackballControls 简化交互开发。手动调整相机的 near 和 far 平面,避免深度问题。8. 10. 浏览器兼容性与设备适配Three.js 的功能依赖 WebGL,但不同浏览器和设备的表现可能不一致。难点:低端设备或旧版浏览器可能不支持 WebGL 2.0。 总结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 开发框架的主要特点

    Three.js 是一个功能强大且广泛使用的 WebGL 开发框架,专注于 3D 图形渲染。它的设计目标是简化 WebGL 的复杂性,使开发者能够快速创建复杂的 3D 场景和交互式应用。 以下是 Three.js 的主要特点。1.易于上手简洁的 API: Three.js 提供了直观且易于理解的 API,开发者可以通过简单的代码快速创建 3D 场景。 丰富的文档和示例: Three.js 官方文档详细,社区提供了大量示例代码和教程,适合初学者快速入门。模块化设计: Three.js 采用模块化设计,开发者可以根据需要引入特定功能,减少代码体积。 Shader 支持: 允许开发者编写自定义着色器(Shader),实现高级渲染效果。5.活跃的社区和生态系统社区支持: Three.js 拥有庞大的开发者社区,问题容易得到解决。 无论是数据可视化、游戏开发还是创意项目,Three.js 都能提供强大的支持。

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

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

    ---- 为什么要使用three.js 要回答为什么要使用three.js?首先我们想想什么是three.js? 而three.js直接支持前3种渲染方式,可以看出three.js的强大。 大多情况下如果是为了展示3D的效果,那么直接用图片就可以了,如果要动起来的话,视频往往可以胜任。 现在你可以忘掉上面的内容,因为three.js封装的特别好,根本看不到任何WebGL的影子,你再也不需要去了解什么着色器,更不用写GLSL ES,我们先来看一个更高级且更简单的three.js的例子。 初识three.js three.js可以使用模块化引入,当然也可以直接用script标签来引入。 init() { camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 0.01, 10

    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曲线。曲线的种类主要分两种,二维曲线和三维曲线。 , 20, 10), new THREE.Vector3(-10, -20, -10)); var points = curve.getPoints(100); geometry.setFromPoints , -20, -10), new THREE.Vector3(-10, 40, -10), new THREE.Vector3(10, 40, 10), new THREE.Vector3(10, -20 5 ),new THREE.Vector3( 10, -20, 10 )]); var points = curve.getPoints(100); geometry.setFromPoints(points

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

    Three.js基础

    requestAnimationFrame(render); renderer.render(scene, camera); } } 创建几何体 顶点和面就组合成了几何体 three.js , 10); f1.add(controlPoints[i], 'y', -10, 10); f1.add(controlPoints[i], 'z', -10, 10); , 'positionZ', -10, 10); contX.listen(); contX.onChange(function (value) { cube.position.x , 10); guiTranslate.add(controls, 'translateY', -10, 10); guiTranslate.add(controls, 'translateZ' , -10, 10); guiTranslate.add(controls, 'translate'); gui.add(controls, 'visible'); var trackballControls

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

    three.js 初步

    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">

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

    【前端】Three.js

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

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

    Three.js入门

    Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精采的演示。 Three.js是一个伟大的开源WebGL库,WebGL允许JavaScript操作GPU,在浏览器端实现真正意义的3D。 Three.js的核心五步就是: 1.设置three.js渲染器 2.设置摄像机camera 3.设置场景scene 4.设置光源light 5.设置物体object 1.设置three.js渲染器 三维空间里的物体映射到二维平面的过程被称为三维渲染 //设置Three.js渲染器 var renderer; function initThree(){ width = document.getElementById 在Three.js也能够指定透视投影和正投影两种方式的相机。 本文按照以下的步骤设置透视投影方式。

    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 一种用于绘制线框样式几何体的材质。

    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 插件辅助开发。 -- 引入Three.js --> <! 你就算是入门了 Three.js 。 代码仓库 ⭐Three.js 起步

    11.5K40编辑于 2022-09-23
  • 来自专栏cc log

    学习Three.js

    Intro 基于r95版本three.js。整理知识点,以及demo。 Set y to half of height of trunk trunkMesh.position.set(-10, 4, 0); leavesMesh.position.set(-10, ; // bounce the sphere up and down step += 0.04; sphere.position.x = 20 + (10 * (Math.cos(step))); sphere.position.y = 2 + (10 * Math.abs(Math.sin(step))); // render * (Math.cos(step))); sphere.position.y = 2 + (10 * Math.abs(Math.sin(step))); // render

    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="..

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

    three.js 制作魔方

    所以这篇郭先生就来说说用three.js怎么制作一个魔方。在线案例请点击three.js制作魔方。 绘制小方块并绘制标志物(先隐藏) initsquare() { var sphereGeom = new THREE.SphereGeometry(10, 30, 20); var sphereMate

    10K10发布于 2020-08-31
  • 来自专栏山河木马

    three.js 学习感悟

    1.场景 在Three.js中添加的物体都是添加到场景中的,因此它相当于一个大容器。一般说,场景来没有很复杂的操作,在程序最开始的时候进行实例化,然后将物体添加到场景中即可。 2.照相机 我们使用Three.js创建的场景是三维的,而通常情况下显示屏是二维的,那么三维的场景如何显示到二维的显示屏上呢?

    3.5K10发布于 2019-03-05
  • 来自专栏前端数据可视化

    Three.js』场景 Scene

    本文简介 在阅读本文前,我希望你对 Three.js 有一个初步的理解。如果你不清楚 Three.js 是什么,我推荐你先阅读 『Three.js』起飞! 在使用 Three.js 的前,必须先了解 3大组件:摄像机、场景、渲染器。这是 Three.js 的必需品。 本文讲解的是 场景 的用法。 什么是场景? // 聚光灯 const spotLight = new SpotLight(0xffffff, 1, 150, 120) spotLight.position.set(-40, 60, -10 import { // 省略部分导入 Fog // 雾化 } // 场景 const scene = new Scene() scene.fog = new Fog(0xffffff, 10 // 聚光灯 const spotLight = new SpotLight(0xffffff, 1, 150, 120) spotLight.position.set(-40, 60, -10

    6.1K51编辑于 2022-08-30
  • 来自专栏用户5687508的专栏

    Three.js建模

    Three.js中,一个可见的物体是由几何体和材料构成的。在这个教程中,我们将学习如何从头开始创建新的网格几何体,研究Three.js为处理几何对象和材质所提供的相关支持。 例如,下面的代码将六种不同材质应用于立方体的六个面: var cubeGeom = new THREE.BoxGeometry(10,10,10); var cubeMaterials = [ x = 20 * (u - 0.5); // x and z range from -10 to 10 z = 20 * (v - 0.5); y = 2*(Math.sin(x/2) 例如,我们可以创建泪滴形状: var path = new THREE.Shape(); path.moveTo(0,10); path.bezierCurveTo( 0,5, 20,-10, 0,-10 ); path.bezierCurveTo( -20,-10, 0,5, 0,10 ); 要使用路径创建一个填充形状,我们需要一个ShapeGeometry对象‌: var shapeGeom = new

    8.8K02发布于 2021-07-17
领券