19 个最佳Three.JS 示例

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 分享threejs.org 的 19个最佳三个 JS 示例
推荐:使用 NSDT编辑器快速搭建3D应用场景
  • 在浏览器中创建动画三个JS模型
  • 创建 3D 动画文本
  • 从 3D 图像创建 2D 模型
  • 制作 3D 模型动画
  • 添加 3D 效果
  • 创建 3D 游戏和交互式体验
  • 编程 3D 虚拟现实体验
  • 将颜色应用于 3D 几何体
  • 控制 3D 渲染性能
  • 与 3D 环境交互
  • 修改 3D 环境的照明
  • 7 奖金三个JS示例
  • 加载 3D 网格并为其设置动画
  • 加载 gITF 3D 格式文件
  • 与颜色和材料交互
  • 与动态材质交互
  • 交互式变形 3D 形状
  • 对 3D 模型和环境进行后处理
  • 在 a3D 对象上叠加 YouTube 视频

在浏览器中创建动画三个JS模型

对于那些没有 Three.js 编码经验的用户,下面是在浏览器窗口中呈现简单框所需的代码示例。这很简单,需要您制作三个文件。

首先,在您喜欢的编辑器中创建索引.html文件。

<!-- Begin HTML -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>My Three JS Example</title>
    <!-- Remove border -->
    <style>
        body { margin: 0; }
    </style>
    <!-- Load three.js -->
    <script
    src="https://cdnjs.cloudflare.com/ajax/libs/three.js/0.147.0/three.min.js">
  </script>
</head>
<body>
    <!--Your source file -->
    <script src="js/animation.js"></script>
</body>
</html>
<!-- End HTML -->

现在创建一个新的 JavaScript 文件:

// Begin script
// Create a scene
const scene = new THREE.Scene();
// Create a camera
const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
// Create a geometry
const geometry = new THREE.BoxGeometry(1, 2, 3);
// Create a material
const material = new THREE.MeshBasicMaterial({ color: 0xff00ff });
// Create a mesh
const mesh = new THREE.Mesh(geometry, material);
// Add the mesh to the scene
scene.add(mesh);
// Create a renderer
const renderer = new THREE.WebGLRenderer();
// Set the size
renderer.setSize(window.innerWidth, window.innerHeight);
// Append to the DOM
document.body.appendChild(renderer.domElement);
// Position the camera
camera.position.z = 5;
// Animate the scene
function animate() {
    requestAnimationFrame( animate );
    mesh.rotation.x += 0.01;
    mesh.rotation.y += 0.01;
    renderer.render( scene, camera );
};
animate();
// End script

现在,在浏览器中打开 index.html 文件。你最终得到的是下图所示的动画。请注意,您可以完全控制框的尺寸、颜色、动画制作方式以及所有其他参数。所有这些工作原理是本文其余部分的内容。

创建 3D 动画文本

https://threejs.org/examples/#webgl_geometry_text这是一种在不使用 Flash 的情况下在 Flash 中创建动画徽标的方法。这一切都发生在浏览器中。在屏幕上键入所需的任何文本,然后使用白色按钮更改参数。

如果您想轻松共享文件,请访问 Tiiny.host。(看看创建一个有用的徽标有多容易?

从 3D 图像创建 2D 模型

https://threejs.org/examples/#webgl_geometry_extrude_shapes这将演示如何从 2D 形状开始,然后沿路径将其拉伸为 3D。

制作 3D 模型动画

https://threejs.org/examples/#webgl_animation_skinning_morph这个小机器人是动画的,你可以选择他用黑色参数框做什么。改变他的表情,站着或坐着,随便什么。

添加 3D 效果

https://threejs.org/examples/#webgl_effects_stereo立体声效果可以追溯到很久以前,一直到手持式立体镜。现在,您只需几行代码即可制作交互式动画立体效果。

创建 3D 游戏和交互式体验

https://threejs.org/examples/#webgl_decals不要不点击这幅肖像。你会看到会发生什么。您可以在参数框中更改视觉效果。

编程 3D 虚拟现实体验

https://threejs.org/examples/#webxr_vr_haptics触觉是一种你可以感受到的计算机反馈。您在智能手机上感受到的振动是触觉。

这种触觉效果在虚拟现实设置中可用,而不是在您的桌面或手机上。我为 Web3 爱好者提供了这个。穿上你的装备,享受吧。

将颜色应用于 3D 几何体

https://threejs.org/examples/#webgl_geometry_colors此示例的交互式元素允许您更改形状的位置,并根据透视查看不断变化的颜色。

控制 3D 渲染性能

https://threejs.org/examples/#webgl_instancing_performance一千个猴头漂浮在太空中。你还能要求什么?更改参数并监控系统性能。适合测试您的动画。

与 3D 环境交互

https://threejs.org/examples/#webgl_interactive_voxelpainter

标题是不言自明的。访问该示例并单击以进行交互。

修改 3D 环境的照明

https://threejs.org/examples/#webgl_lights_hemisphere更改场景的照明或关闭灯光。您的选择。

7 奖金三个JS示例

我们已经到达了前 10 名列表的末尾,但我无法停止尝试 threejs.org/examples 提供的数十个示例。在屏幕的左侧,你会看到一个按功能和类别组织的滚动列表。这里还有七个例子,每个例子都有更多的技术目的。

加载 3D 网格并为其设置动画

https://threejs.org/examples/#webgl_loader_collada_kinematics此自动化机器人的代码演示了将文件加载到浏览器中并对其进行动画处理。

加载 gITF 3D 格式文件

https://threejs.org/examples/#webgl_loader_gltf同样,加载文件是 3D 工作流程的重要组成部分。这证明了Three JS令人难以置信的图形质量,当然是基于输入的质量。

与颜色和材料交互

https://threejs.org/examples/#webgl_materials_car更改此 3D 汽车动画中加入的颜色。诸如此类的动态更改非常适合个性化和其他交互式选择。

与动态材质交互

https://threejs.org/examples/#webgl_materials_cubemap_dynamic请注意在空间中移动三个物体时的高质量实时折射。

交互式变形 3D 形状

https://threejs.org/examples/#webgl_morphtargets从一个简单的3D正方形(盒子)开始,看看你可以让它变圆或扭曲成各种形状。

对 3D 模型和环境进行后处理

https://threejs.org/examples/#webgl_postprocessing_advanced后期处理在视频制作中大量使用。在这里,您可以以数字方式完成。

在 a3D 对象上叠加 YouTube 视频

https://threejs.org/examples/#css3d_youtube将四个YouTube视频叠加在一个八面(内部和外部)空盒子上。凉。您可以通过单击来控制视频播放。

原文链接:19 个最佳Three.JS 示例

目录
相关文章
|
2月前
|
前端开发 JavaScript 开发者
Express.js与前端框架的集成:React、Vue和Angular的示例与技巧
本文介绍了如何将简洁灵活的Node.js后端框架Express.js与三大流行前端框架——React、Vue及Angular进行集成,以提升开发效率与代码可维护性。文中提供了详细的示例代码和实用技巧,展示了如何利用Express.js处理路由和静态文件服务,同时在React、Vue和Angular中构建用户界面,帮助开发者快速掌握前后端分离的开发方法,实现高效、灵活的Web应用构建。
50 3
|
3月前
|
前端开发 JavaScript 开发者
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
本文提供了一个前端JS按钮点击事件、弹出式窗口和遮罩层的实战示例,包括HTML、CSS和JavaScript的具体实现代码,以及功能解析,演示了如何实现按钮点击后触发弹窗显示和遮罩层,并在2秒后自动关闭或点击遮罩层关闭弹窗的效果。
前端JS按钮点击事件、跳出弹窗、遮罩的实战示例
|
3月前
|
JavaScript 前端开发
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
【Azure Developer】在App Service上放置一个JS页面并引用msal.min.js成功获取AAD用户名示例
|
3月前
|
JavaScript
js之三级联动示例
js之三级联动示例
45 1
|
3月前
|
JSON Dart 前端开发
分享15 个 JavaScript 代码示例及其 Dart 对应代码。
本文对比了React/React Native中的JavaScript语法与Flutter中的Dart语法,帮助开发者快速上手Flutter。内容涵盖JSON处理、数组操作、类型转换、条件判断等常见功能,如`JSON.stringify`与`JsonEncoder().convert`,`array.push`与`list.add`,`parseInt`与`int.parse`等,并提供了15个JavaScript与Dart代码示例对照。这对于从JavaScript转向Dart的开发者尤其有用。
24 0
|
3月前
|
存储 移动开发 JavaScript
JavaScript简介及示例
JavaScript简介及示例
|
4月前
|
JSON Dart 前端开发
JavaScript 代码示例及 Dart 对应代码
JavaScript 代码示例及 Dart 对应代码
45 5
|
3月前
|
JavaScript 前端开发 API
揭秘Node.js如何轻松访问API:一个示例足以改变你的开发视角!
【8月更文挑战第21天】在现代Web开发中,API是软件间通信的关键。Node.js以其高效性,在API访问上独具优势。本文通过示例展示如何用Node.js访问API。首先确保已安装Node.js,然后使用npm安装`axios`库。创建`api_example.js`文件,并编写代码以访问JSONPlaceholder API获取数据。成功时,响应数据会输出至控制台;若失败,则打印错误。此示例展示了Node.js结合`axios`访问API的便捷性及高效性,为初学者提供快速入门指南。
31 0
|
5月前
|
JSON 中间件 API
中间件API示例(以Express.js为例)
【6月更文挑战第14天】
46 8
|
5月前
|
JSON Dart 前端开发
JavaScript 代码示例及其 Dart 对应代码
从React/React Native转向Flutter开发时,开发者常需查找Dart对等的JS语法。这里列举了15个转换示例,涉及JSON转换、数组操作、条件检查及转换方法。例如,JS的`JSON.stringify`在Dart中是`JsonEncoder().convert`,`array.push`对应`list.add`,`array.findIndex`在Dart中是`list.indexWhere`。Dart还提供了如`list.any`和`list.every`等类似JS的数组方法。虽然语法有别,但核心功能相似。
42 5
下一篇
无影云桌面