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

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

    在使用 Three.js 进行开发时,尽管它大大简化了 WebGL 的操作,但仍存在一些难点,需要开发者深入理解和应对。以下是常见的开发难点及其简要说明。1. 解决方法:使用 OrbitControls 或 TrackballControls 简化交互开发。手动调整相机的 near 和 far 平面,避免深度问题。8. 物理引擎集成Three.js 自身不包含物理引擎,需要手动集成第三方库(如 Cannon.js 或 Ammo.js)。难点:同步物理世界与 Three.js 场景较复杂。 总结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 场景。 Shader 支持: 允许开发者编写自定义着色器(Shader),实现高级渲染效果。5.活跃的社区和生态系统社区支持: Three.js 拥有庞大的开发者社区,问题容易得到解决。 8.缺点性能限制: 对于非常复杂的场景(如大规模地形、数百万个多边形),Three.js 的性能可能不如原生 WebGL 或专门的游戏引擎。 无论是数据可视化、游戏开发还是创意项目,Three.js 都能提供强大的支持。

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

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

    ---- 为什么要使用three.js 要回答为什么要使用three.js?首先我们想想什么是three.js? 而three.js直接支持前3种渲染方式,可以看出three.js的强大。 大多情况下如果是为了展示3D的效果,那么直接用图片就可以了,如果要动起来的话,视频往往可以胜任。 DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-<em>8</em>"> <meta name="viewport" content="width 初识<em>three.js</em> <em>three.js</em>可以使用模块化引入,当然也可以直接用script标签来引入。 DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-<em>8</em>"> <meta name="viewport" content="width

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

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

    前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧。 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏。 我在查阅各处的文章时候,发现其中有几款是基于 three.js 开发的,目前火爆朋友圈的《跳一跳》就是其中之一。 准备工作 最新版本的 three.js; 首先应该具有一定的 three.js 开发经验,有之前写过的简单演示代码; 最新版本的“微信开发者工具”。 这里需要注意的是 weapp-adapter.js 很重要,官方解释如下: 小游戏的运行环境在 iOS 上是 JavaScriptCore,在 Android 上是 V8,都是没有 BOM 和 DOM 开发者用微信扫描这个二维码,就可以打开测试。 如果您没有修改过 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基础

    mesh.position.x = -24 + ((i % 4) * 12); mesh.position.y = 4; mesh.position.z = -8 requestAnimationFrame(render); renderer.render(scene, camera); } } 创建几何体 顶点和面就组合成了几何体 three.js scene.getChildByName("clone")); scene.add(mesh2); } }, 'clone'); for (var i = 0; i < 8; trackballControls.update(clock.getDelta()); stats.update(); var vertices = []; for (var i = 0; i < 8; material = new THREE.MeshLambertMaterial({color: 0x44ff44}); var geom = new THREE.BoxGeometry(5, 8,

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

    three.js 初步

    ---- 这是我参与8月更文挑战的第23天,活动详情查看:8月更文挑战 我也是个初学者,大家就当这是我的笔记看,如果理解不正确请大家指正。首先推荐大家一个学习网站Tress.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">

    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也能够指定透视投影和正投影两种方式的相机。 本文按照以下的步骤设置透视投影方式。 DOCTYPE html> <html> <head> <meta charset="UTF-<em>8</em>"> <title>HelloThreeJS</title

    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。 mesh var roofMesh = new THREE.Mesh( roof, new THREE.MeshLambertMaterial({ color: 0x8b7213 new THREE.MeshLambertMaterial({ color: 0xffe4c4, }) ); roofMesh.position.set(25, 8, The scene to add the tree to */ function createTree(scene) { var trunk = new THREE.CubeGeometry(1, 8, mesh var trunkMesh = new THREE.Mesh( trunk, new THREE.MeshLambertMaterial({ color: 0x8b4513

    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 charset="utf-<em>8</em>"> <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale /build/<em>three.js</em>"></script> <script src=".. //sprite.material.rotation = Math.PI/3*4; //等同于(Math.PI/3)*4逆时针旋转240度 sprite.position.set(<em>8</em>,

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

    three.js 制作魔方

    所以这篇郭先生就来说说用three.js怎么制作一个魔方。在线案例请点击three.js制作魔方。

    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 的必需品。 本文讲解的是 场景 的用法。 什么是场景? Three.js 的场景只有1种,用 THREE.Scene 来表示。场景对象自身的属性和方法并不多,学起来非常简单。 雾化效果是 Three.js 的一个方法,调用该方法后,将返回值赋给 scene.fog 即可。 THREE.Fog 接收3个参数,分别是:雾的颜色,最近距离,最远距离。 而 Three.js 的场景是提供了雾化效果,只需设置 scene.fog 即可。

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

    Three.js建模

    Three.js中,一个可见的物体是由几何体和材料构成的。在这个教程中,我们将学习如何从头开始创建新的网格几何体,研究Three.js为处理几何对象和材质所提供的相关支持。 在three.js中,u和v的值始终在 0.0 到 1.0 之间。 在three.js中,图像纹理由THREE.Texture对象表示。由于我们谈论的是网页,因此three.js纹理的图像通常从 Web 地址加载。 下面的演示允许查看一些设置了纹理的three.js对象。 ---- 原文链接:Three.js 3D建模基础 — BimAnt

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