首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

3d滚动球体js动画代码

以下是一个使用 JavaScript 和 Three.js 库实现 3D 滚动球体的简单动画代码示例:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>3D 滚动球体</title>
  <style>
    body {
      margin: 0;
      overflow: hidden;
    }
  </style>
</head>

<body>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
  <script>
    // 创建场景
    const scene = new THREE.Scene();

    // 创建相机
    const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
    camera.position.z = 5;

    // 创建渲染器
    const renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);

    // 创建球体几何体和材质
    const geometry = new THREE.SphereGeometry(1, 32, 32);
    const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });

    // 创建球体网格并添加到场景
    const sphere = new THREE.Mesh(geometry, material);
    scene.add(sphere);

    // 动画函数
    function animate() {
      requestAnimationFrame(animate);

      // 使球体沿 x 轴滚动
      sphere.rotation.x += 0.01;
      sphere.rotation.y += 0.01;

      renderer.render(scene, camera);
    }

    animate();

    // 监听窗口大小变化,调整渲染器尺寸
    window.addEventListener('resize', () => {
      camera.aspect = window.innerWidth / window.innerHeight;
      camera.updateProjectionMatrix();
      renderer.setSize(window.innerWidth, window.innerHeight);
    });
  </script>
</body>

</html>

基础概念:

  • Three.js:这是一个用于在网页上创建和显示 3D 图形的 JavaScript 库。
  • 场景(Scene):包含所有要渲染的对象。
  • 相机(Camera):决定观察场景的角度和范围。
  • 渲染器(Renderer):负责将场景和相机视图转换为图像。

优势:

  • 可以轻松创建复杂的 3D 效果。
  • 跨平台兼容性好,适用于各种浏览器。

类型:

  • 根据使用的几何体和材质的不同,可以创建多种类型的 3D 对象。

应用场景:

  • 游戏开发。
  • 数据可视化。
  • 网页中的交互式 3D 展示。

常见问题及解决方法:

  • 性能问题:如果场景过于复杂导致卡顿,可以减少几何体的面数、使用纹理压缩等方法优化。
  • 兼容性问题:确保浏览器支持 WebGL,对于不支持的浏览器,可以提供降级方案或提示用户更新浏览器。

希望这个示例对你有帮助!如果你还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

网站页面滚动加载动画JS特效

终于尘埃落定了,前段时间忙的不可开交,结婚,工作,因为婚假+年假一起休的,导致很长时间没有更新博客了,今天抽空给大家带来了一个js特效,网站模块延迟加载的动画,假期之前就想着制作这个功能,页面滚动加载...简介 和 WOW.js 一样,scrollReveal.js 也是一款页面滚动显示动画的 JavaScript,能让页面更加有趣,更吸引用户眼球。...不同的是 WOW.js 的动画只播放一次,而 scrollReveal.js 的动画可以播放一次或无限次;WOW.js 依赖 animate.css,而 scrollReveal.js 不依赖其他任何文件...虽然 scrollReveal.js 不依赖 animate.css,但它的动画也是用 CSS3 创建的,所以它不支持 IE10 以下的浏览器。...如果不喜欢这个可以试试wow.js,网站页面滚动加载动画JS特效(二)。

11.4K20
  • 网站页面滚动加载动画JS特效(二)

    昨天发布了网站页面滚动加载动画JS特效,但是加载的页面并不怎么完美,文章页面不能直接加载出来,需要滚动条继续下来,可能是没有调节js导致的,所以今天又重新测试了wow.js,感觉这个不错,很喜欢,有兴趣的可以测试下...页面在向下滚动的时候,有些元素会产生细小的动画效果。虽然动画比较小,但却能吸引你的注意。比如刚刚发布的 iPhone 6 的页面(查看)。如果你希望你的页面也更加有趣,那么你可以试试 WOW.js。...WOW.js 依赖 animate.css,所以它支持 animate.css 多达 60 多种的动画效果,能满足您的各种需求。 ?...浏览器兼容 IE10+ Chrome Firefox Opera Safari IE6、IE7 等老旧浏览器不支持 CSS3 动画,所以没有效果;而 wow.js 也使用了 querySelectorAll...使用方法 1、引入文件(自带的css样式) 2、HTML(给需要滚动动画的div增加两个css属性) <div

    7.4K30

    Framer快速搭建滚动动画网站(无代码)

    前提 先介绍一下spline 和 Framer 是什么吧 spline: 是一款免费(大部分功能)的 3D 设计软件,具有实时协作功能,可在浏览器中创建 Web 交互体验。...简单的 3D建模、动画, 交互 等等. Framer: 是一种无代码工具,可让您在不编写任何代码的情况下创建交互式、响应迅速且视觉上令人惊叹的网站。...这些在代码方面,需要写不少代码,而且需要不断的调试. 才能达到自己想要的效果.而在这种无代码可视化搭建平台,只需要通过简单的拖拉拽即可实现....动画(!!!...滚动时 当页面在滚动的时候, 指定某视图层(Section) 接触到浏览器的某个位置(Viewport)的时候, 动画触发(Trigger).从什么状态到什么状态,并使用什么过渡动画(Transition

    15010

    利用 WebGL 和 Three.js 实现多楼层商场地图

    WebGL 和 Three.js 简介WebGL 是一种用于在网页上渲染交互式3D和2D图形的 JavaScript API。它基于 OpenGL ES,并且可以在支持 HTML5的浏览器中使用。...Three.js 是一个用于创建和渲染 3D 图形的 JavaScript 库,它构建在 WebGL 之上,使得开发者可以更加轻松地实现复杂的 3D 场景和动画效果。...首先,我们需要将商场的结构和布局转换成 3D 模型,并利用 Three.js 将其呈现在网页上。其次,我们可以通过添加标记和导航功能,使用户可以在地图上选择目标店家并查看最佳路线。...最后,我们还可以添加一些动画效果和交互功能,提高用户的体验和参与度。...scene.add(marker); 这行代码将商店标记添加到Three.js场景中,使其显示在场景中。

    61321

    Three.js 的 3D 粒子动画:群星送福

    这里的 x、y、z 属性值的变化不要自己算,用一些动画库来算,它们支持加速、减速等时间函数。Three.js 的动画库是 Tween.js。...思路理清了,那我们来具体写下代码吧。...代码实现 如前面所说,3D 的渲染需要一个场景(Scene)来管理所有的 3D 物体,需要一个相机(Camera)在不同角度观察,还需要渲染器(Renderer)一帧帧渲染出来。...接下来我们来做粒子动画: 3D 粒子动画 3D 粒子动画就是顶点的动画,也就是 x、y、z 的变化。...福字则是加载创建好的 3D 模型,拿到其中的顶点位置。 有了开始、结束位置,就可以实现粒子动画了,过程中的 x、y、z 值使用动画库 Tween.js 来计算,可以指定加速、减速等时间函数。

    4.6K01

    CSS3、JS 探索三维粒子

    探索3D空间中的粒子动画。...这种类型的动画可能非常适合页面加载器。 这套演示使用three.js和easing探索三维粒子动画。 这些演示中的所有粒子和形状都是由三个基本的几何体/材质/网格组成,如球体,线条和盒子。...即使这些在2D中看起来非常棒,但在动画中添加细微的3D视角可以使它们更具视觉吸引力。拥有相机和3D网格的概念也可以帮助您调试和开发动画。...我希望这能激发你制作你自己的3D粒子动画! three.js 和 3D 环境的优势 这些动画大部分可以与SVG或2D Canvas等大致相当。...但是,在3D视角中添加细微的动画和定位将使其生动起来。使用three.js / WebGL也有性能优势。这些动画只是抓住了three.js的能力。

    4K10

    Three.js可视化企业实战WEBGL网-2024入门指南

    Three.js 重要组件和模块Three.js 是一个功能强大的 JavaScript 库,用于在 Web 浏览器中创建和显示动画 3D 图形。...它的丰富 API 和模块化设计使得开发者可以轻松构建复杂的 3D 场景和动画效果。本文将详细介绍 Three.js 中的一些重要组件和模块,包括场景、相机、几何体、材质、光源、渲染器和控制器等。1....场景 (Scene)场景是 Three.js 的核心组件之一,用于容纳和管理 3D 对象、光源和相机。所有的 3D 对象都必须添加到场景中,才能被渲染器绘制。...几何体 (Geometry)几何体定义了 3D 对象的形状和结构。Three.js 提供了多种内置几何体,如立方体、球体、平面、圆柱体等。...动画循环 (Animation Loop)为了创建动画效果,需要在渲染器中添加一个动画循环,不断更新场景并重新渲染。

    15800

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

    Three.js 是一个功能强大且广泛使用的 WebGL 开发框架,专注于 3D 图形渲染。它的设计目标是简化 WebGL 的复杂性,使开发者能够快速创建复杂的 3D 场景和交互式应用。...以下是 Three.js 的主要特点。1.易于上手简洁的 API: Three.js 提供了直观且易于理解的 API,开发者可以通过简单的代码快速创建 3D 场景。...丰富的文档和示例: Three.js 官方文档详细,社区提供了大量示例代码和教程,适合初学者快速入门。模块化设计: Three.js 采用模块化设计,开发者可以根据需要引入特定功能,减少代码体积。...2.功能丰富支持多种 3D 对象: 包括几何体(如立方体、球体、平面等)、材质(如基础材质、Phong 材质、PBR 材质等)、灯光(如点光源、平行光、环境光等)。...动画支持: 内置动画系统,支持关键帧动画、骨骼动画等。模型加载: 支持多种 3D 模型格式(如 OBJ、GLTF、FBX、STL 等),便于导入外部模型。

    11410

    不到30行代码实现一个酷炫H5全景

    二、怎么构成全景 2.1 认识ThreeJS 目前主流全景的前端实现方式: 实现方式 费用 是否开源 学习成本 开发难度 兼容性 扩展 性能 CSSS 3D 免费 是 中 难 支持CSS3D的浏览器 易...ThreeJS是Three(3D)+JS(JavaScript),它封装了底层的WebGL接口,使得我们能够在不了解图形学知识的前提下,也能用简单的代码实现三维场景的渲染。...要想在屏幕中展示3D图像,大致思路: 第一步:构建一个空间直角坐标系 :Three中称之为场景(Scene) 第二步:在坐标系中,绘制几何体:Three中的几何体有很多种,包括BoxGeometry(立方体...球体全景所需的图片素材(下图):宽是高的两倍,数值是2的整数倍最好,建议图片宽高为2048px*1024px(后面实现全景会用到哈) ? image.png 具体代码实现: <!...Jietu20210527-172203-HD.gif 至此,我们全景制作已经完成了,(只统计js代码:共_28行_代码,我才不是标题党呢??)。

    2.4K40

    用最少的代码却实现了最牛逼的滚动动画!

    今天小师妹带领大家学习如何使用最少的代码创建令人叹为观止的滚动动画~ 在聊ScrollTrigger插件之前我们先简单了解下GSAP。...插件简介 ScrollTrigger是基于GSAP实现的一款高性能页面滚动触发HTML元素动画的插件。 通过ScrollTrigger使用最少的代码创建令人叹为观止的滚动动画。...我们需要知道ScrollTrigger是基于GSAP实现的插件,ScrollTrigger是处理滚动事件的,而真正处理动画是GSAP,二者组合使用才能实现滚动动画~ 插件特点 将任何动画链接到特定元素,...可以在进入/离开定义的区域或将其直接链接到滚动栏时在动画上执行操作(播放、暂停、恢复、重新启动、反转、完成、重置)。 延迟动画和滚动条之间的同步。 根据速度捕捉动画中的进度值。...嵌入滚动直接触发到任何 GSAP 动画(包括时间线)或创建独立实例,并利用丰富的回调系统做任何您想做的事。 高级固定功能可以在某些滚动位置之间锁定一个元素。 灵活定义滚动位置。 支持垂直或水平滚动。

    2.7K20

    用最少的代码却实现了最牛逼的滚动动画!

    gzh:老鱼的储物柜今天老鱼带领大家学习如何使用最少的代码创建令人叹为观止的滚动动画~图片在聊ScrollTrigger插件之前我们先简单了解下GSAP。...插件简介ScrollTrigger是基于GSAP实现的一款高性能页面滚动触发HTML元素动画的插件。通过ScrollTrigger使用最少的代码创建令人叹为观止的滚动动画。...我们需要知道ScrollTrigger是基于GSAP实现的插件,ScrollTrigger是处理滚动事件的,而真正处理动画是GSAP,二者组合使用才能实现滚动动画~插件特点将任何动画链接到特定元素,以便它仅在视图中显示该元素时才执行该动画...可以在进入/离开定义的区域或将其直接链接到滚动栏时在动画上执行操作(播放、暂停、恢复、重新启动、反转、完成、重置)。延迟动画和滚动条之间的同步。根据速度捕捉动画中的进度值。...图片图片图片图片图片利用ScrollTrigger可以实现很多炫酷的效果,还有更多示例及源代码,快去公众号后台回复滚动获取学习吧!

    3.1K00

    WebGL开发3D模型的流程

    Maya: 专业的商业 3D 动画、建模、模拟和渲染软件,常用于电影、游戏等领域。3ds Max: 另一款流行的商业 3D 建模和动画软件,广泛应用于建筑可视化、游戏开发等领域。...Cinema 4D: 一款易学易用的 3D 建模、动画和渲染软件,适合初学者和专业人士。...模型制作: 在建模软件中进行模型的创建,包括:几何体创建: 使用基本几何体(例如立方体、球体、圆柱体等)进行组合和修改,创建复杂的模型。多边形建模: 通过编辑多边形的顶点、边和面来创建模型。...JavaScript 文件: 创建一个 JavaScript 文件,用于编写 WebGL 代码。...熟练掌握 3D 建模软件、WebGL API 和相关库,例如 Three.js,是进行 WebGL 3D 模型开发的关键。

    11210
    领券