如何使用 reactthree-fiber 在 React 中创建一个旋转的圆环
react jsjavascript libraryfront end technology更新于 2025/11/17 10:52:17
本文将介绍如何使用 React 中的 react-three-fiber 包创建一个旋转的圆环。Three.js 是一个跨浏览器的 JavaScript 库和应用程序编程接口 (API),用于使用 WebGL 在 Web 浏览器中创建和显示动画 3D 计算机图形。
示例
首先,下载必要的库 -
npm i --save @react-three/fiber three
threejs 和 react-three/fiber 将用于为网站添加 WebGL 渲染器。
在 index.css 中添加以下代码 -
* {
box-sizing: border-box;
}
html,body,#root{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
此默认样式将使 Canvas 与父元素保持一致。
在 App.js 文件中添加以下代码行 −
import React, { useRef } from "react";
import { Canvas, useFrame } from "@react-three/fiber";
function Ring() {
const ref = useRef(null);
useFrame(() => (ref.current.rotation.x = ref.current.rotation.y += 0.01));
return (
<mesh
visible
position={[0, 0, 0]}
rotation={[0, 0, 0]}
castShadow
ref={ref}>
<ringBufferGeometry args={[1, 4, 32]} />
<meshBasicMaterial attach="material" color="hotpink" />
</mesh>
);
}
export default function App() {
return (
<Canvas>
<ambientLight />
<Ring />
</Canvas>
);
}
解释
Ring 接受三个参数:内半径、外半径,以及第三个参数 θ 段,它决定了环的圆度。
<mesh 用于创建 threeJS 对象,并在其中使用 RingGeometry 创建了一个盒子,用于定义尺寸、形状和其他结构属性。
我们使用 meshStandardMaterial 设计几何结构。
<mesh 用于将结构和设计结合起来。我们创建了一个功能组件,并在其中添加了引用。然后我们创建了一个框架,用于改变网格对象或环的位置。
然后我们将框架添加到引用中,并赋予网格引用。
我们使用位置参数来简单地定位对象。
<环境光>用于使颜色可见;如果没有环境光,<Ring> 将完全是黑色的。
输出
它将产生以下输出 −
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

