首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Threejs入门之十一:创建旋转地球

经过前面几个章节的介绍,我们对Threejs已经有了一个相对深入的了解,下面我们通过Threejs来做一个旋转地球效果。...水平分段数和垂直分段数参数const geometry = new THREE.SphereGeometry(150,32,32)创建材质 这里使用MeshPhongMaterial创建材质,并加载images中准备好的地球材质...webgl').appendChild(renderer.domElement)创建循环调用函数 创建animation函数,在函数里面调用earth.rotation.y += 0.01,使其每次渲染都旋转...requestAnimationFrame(animation) earth.rotation.y += 0.01 renderer.render(scene,camera)}animation()保存,刷新浏览器,可以看到一个漂亮的地球已经渲染到浏览器...,并自动旋转 至此,旋转地球已经创建完成,完整的代码和地球贴图材质可以通过以下地址下载:https://download.csdn.net/download/w137160164/87650456核心代码如下

1.3K10

【带着canvas去流浪(15)】threejs fundamentals翻译系列1-scene graph

本文是three.js系列博文的一篇,第一篇文章是【three.js基础知识】,如果你还没有阅读过,可以从这一篇开始,页面顶部可以切换为中文或英文。...three.js中最核心的部分可能就是scene graph(或称为场景节点图)。3D引擎中的scene graph是一个表示继承关系的节点图谱,图谱中的每个节点都表示了一个本地坐标空间。 ?...月亮绕着地球做圆周运动,从月球的视角来观察时,它是在地球的”本地坐标空间“中进行旋转的,然而如果相对于太阳的“本地坐标空间”来看,月球的运动轨迹就会变成非常复杂的螺旋线。...有时候我们需要一些辅助线以便可以更好地观察scene graph中的实体,three.js中提供了一些有用的工具。...我们将使用dat.GUI工具,它是一个非常流行的UI库,通常在three.js项目中使用。dat.GUI使用一个配置对象,将属性名和属性值的类型添加后,它将自动生成一个可以动态调整这些参数的UI。

1.6K10

threejs地球、星空、世界轮廓绘制、飞线、坐标涟漪 、旋转动画(下篇)

接上篇:一个基于ThreeJS 实现的漂亮的3D 地球制作过程详解(上篇) 3D 地球成果展示 github仓库地址:https://github.com/RainManGO/3d-earth npm...实现过程 实现步骤分解: ThreeJS环境初始化 星空背景 添加带纹理的地球 世界地图轮廓边界绘制 地球光晕 添加地球云层 城市位置标注和涟漪效果 添加飞线B样条 地球自转和镜头缩放动画 接上篇从第七步骤说起...(longitude * Math.PI) / 180; //转弧度值 var lat = (latitude * Math.PI) / 180; //转弧度值 lon = -lon; // three.js...旋转动画的原理主要是利用tween 动画,然后更新地球位置和轨道控制器的zoom 。...tween 动画控制旋转和缩放 旋转到中国的时候缩放 具体代码如下: //旋转地球动画 var rotateEarthStep = new TWEEN.Tween({ rotateY

2.9K20

threejs地球、星空、世界轮廓绘制、飞线、坐标涟漪 、旋转动画(上篇)

前言 头一阵子B站,抖音都被 陶大宇大哥的倒转地球刷屏了,终于热度下去了,不用倒转头七了。 真的和地球扛上了,公司的大屏项目需要科技感的地球、飞线图。...目标设计样子: 实现步骤分解: ThreeJS环境初始化 星空背景 添加带纹理的地球 世界地图轮廓边界绘制 地球光晕 添加地球云层 城市位置标注和涟漪效果 添加飞线B样条 地球自转和镜头缩放动画 初始化...因为地球元素比较多,且需要转动,所以是一个3dobject对象,添加多个mesh。...地球光晕其实是一个精灵贴图,这里放了两层,下面放一张看下。...云层效果不是一个精灵,它是相当于在地球上又套了一个圆球,半径比地球大一点。

8.7K31

现在做 Web 全景合适吗?

先看一下实例 gif: tl;dr; 使用 three.js 实现全景技术 UV 映射原理简介 3D 坐标原理和移动控制 Web 陀螺仪简介 iv-panorama 简单库介绍 基于 Three.js...全景没有 VR 那种沉浸式体验,单单只涉及三个维度上的旋转而没有移动距离这个说法。...下面是最简代码: 这里主要模拟地球坐标: lat 代表维度(latitude): 用户上下滑动改变的值,或者手机上下旋转 lon 代表经度(lontitude): 用户左右滑动改变的值,或者手机左右旋转...简单来说,陀螺仪的参数在标准情况下,手机有两份坐标: 地球坐标 x/y/z:在任何情况下,都是恒定方向 手机平面坐标 x/y/z:相当于手机屏幕定义的方向 以手机本身为坐标点,地球坐标如图所示: x:...其主要特性为: 依赖于 Three.js,需要预先挂载到 window 对象上 灵活配置,内置支持陀螺仪和 touch 控制。

4.3K80

现在做 Web 全景合适吗?

tl;dr; 使用 three.js 实现全景技术 UV 映射原理简介 3D 坐标原理和移动控制 Web 陀螺仪简介 iv-panorama 简单库介绍 基于 Three.js 全景视频是基于 3D 空间...全景没有 VR 那种沉浸式体验,单单只涉及三个维度上的旋转而没有移动距离这个说法。...: lat 代表维度(latitude): 用户上下滑动改变的值,或者手机上下旋转 lon 代表经度(lontitude): 用户左右滑动改变的值,或者手机左右旋转 具体内容为: ?...简单来说,陀螺仪的参数在标准情况下,手机有两份坐标: 地球坐标 x/y/z:在任何情况下,都是恒定方向 手机平面坐标 x/y/z:相当于手机屏幕定义的方向 以手机本身为坐标点,地球坐标如图所示: ?...其主要特性为: 依赖于 Three.js,需要预先挂载到 window 对象上 灵活配置,内置支持陀螺仪和 touch 控制。

2.2K40

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

---- 为什么要使用three.js 要回答为什么要使用three.js?首先我们想想什么是three.js?...而three.js直接支持前3种渲染方式,可以看出three.js的强大。 大多情况下如果是为了展示3D的效果,那么直接用图片就可以了,如果要动起来的话,视频往往可以胜任。...别急,正因为原生的WebGL这么晦涩难懂,所以才有了我们的主角three.js。...现在你可以忘掉上面的内容,因为three.js封装的特别好,根本看不到任何WebGL的影子,你再也不需要去了解什么着色器,更不用写GLSL ES,我们先来看一个更高级且更简单的three.js的例子。...初识three.js three.js可以使用模块化引入,当然也可以直接用script标签来引入。

23.1K73

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也能够指定透视投影和正投影两种方式的相机。 本文按照以下的步骤设置透视投影方式。

7.8K92

教你如何用Three.js创造一个三维太阳系

前言 笔者认为Three.js是一个伟大的框架,为什么这样说,因为它可以让我们轻易创造三维世界,甚至好像笔者写这遍教程,可以创造一个太阳系,在这个三维世界里你就是创世主。哈哈!好像说得有点夸!!...] 了解Three框架 Three的一些基本概念我在用最简单方式打造Three.js 3D汽车展示厅一文也粗略介绍一下,为了让同学们加深理解,笔者就相对于太阳系来比如一下 场景 Sence 相当于太阳系...:实现旋转功能有三种方式 旋转照相机 旋转整个场景(Scene) 旋转单个元素 因为我们这里每个行星的自转速度,公转速度都不一样。...所以设置整体旋转并不可行,所以要给每个元素设置不同的旋转属性。 行星需要让它们围绕着太阳转,就要先给它们自身设置一个位置偏移。...也会绕着初始的默认Y轴旋转

2.5K43
领券