使用指针灯在 React JS 中使用 React-Three-Fiber 获得更好的照明

在本文中,我们将看到如何在react-three-fiber中使用不同类型的光来使我们的对象看起来更好。它主要用作指向物体的手电筒。Three.js需要光来显示颜色、阴影效果和许多不同种类的效果。

我们将制作一个立方体,然后我们将向其添加指针灯。

示例

首先,安装以下软件包 -

npm i --save @react-three/fiber three

threejs和react-three/fiber将用于向网站添加 webGL 渲染器,而three-fiber将用于连接threejs和React

现在,在App.js中插入以下代码行-

import ReactDOM from "react-dom";

import React, { useRef, useState } from "react";

import { Canvas, useFrame } from "@react-three/fiber";

function Box(props) {

   const mesh = useRef();

   useFrame(() => (mesh.current.rotation.x = mesh.current.rotation.y += 0.01));

   return (

      <mesh {...props} ref={mesh}>

         <boxGeometry args={[3, 3, 3]} />

         <meshStandardMaterial color={"orange"} />

      </mesh>

   );

}

export default function App() {

   return (

      <Canvas>

         <ambientLight />

         <pointLight position={[10, 10, 10]} />

         <Box position={[0, 0, 0]} />

      </Canvas>

   );

}

解释

pointLight采用一个参数,即位置。我们设置它的“x,y,z”坐标;它在对象的反向对角线上。

我们使用它在对象上创建阴影效果。

输出结果

在执行时,它将产生以下输出 -

<video "="" controls="" xx_src="https://www.nhooo.com/assets/questions/media/57037/885976-1632898338.mp4">您的浏览器不支持 HTML5 视频。

您可以注意到立方体侧面的阴影效果。黄色在右侧显得较暗,在正面显得较浅。它就像我们在立方体后面设置了一个手电筒,因此它创建了阴影效果。您可以根据需要添加任意数量的点光源。

以上是 使用指针灯在 React JS 中使用 React-Three-Fiber 获得更好的照明 的全部内容, 来源链接: utcz.com/z/297047.html

回到顶部