使用 react-three-fiber 在 React 中创建 3D 甜甜圈状结构
在本文中,我们将看到如何制作一个类似甜甜圈的 3D 图形。我们将使用 react-three-fiber 将其应用到网页中。我们将使用这个包制作一个甜甜圈状的图形,它将保持运动,我们将从其内部看到它。
示例
首先,下载重要的库 −
npm i --save @react-three/fiber three
threejs 和 react-three/fiber 将用于向网站添加 webGL 渲染器。Three-fiber 将用于连接 threejs 和 React。
在 App.js 中添加以下代码行 −
import React, { useRef } from "react"; import { Canvas, useFrame } from "@react-three/fiber"; function Tourus() { const ref = useRef(null); useFrame(() => (ref.current.rotation.x = ref.current.rotation.y += 0.01)); return ( <mesh visible position={[0, 0, 0]} castShadow ref={ref}> <torusGeometry args={[10, 3, 16, 100]} /> <meshStandardMaterial attach="material" color="lightblue" /> </mesh> ); } export default function App() { return ( <Canvas> <ambientLight /> <Tourus /> </Canvas> ); }
Tourus 函数有 4 个参数:内半径、管半径、径向分段(决定内部部分的圆度)和管状分段(决定外部部分的圆度)。
输出
这是相机的 3D 视图,相机位于甜甜圈的内半径之间。
它正在旋转,这是一个剪辑,因为它正在旋转。
广告