Открытый Атлас
ПоддержкаНачать работу
  1. Главная>
  2. База знаний>
  3. 3D и визуализация>
  4. react three fiber

Ссылка на RSS

Открытый Атлас
SOLO DemoEpisode
Назад к разделу
Меню базы знаний
  • Регистрация и вход
  • Тарифы и оплата
  • С чего начать
  • Задачи и проекты
  • База знаний
  • Настройки
  • Функциональность CRM
  • 3D и визуализация
Другие статьи
  • Интеграция R3F в Next.js
  • Частые ошибки при работе с 3D
  • React Three Fiber (R3F)
  • Drei — компоненты для R3F
  • Theatre.js — анимация
  • Rapier — физика
  • React Use Gesture
База знаний/3D и визуализация/React Three Fiber (R3F)
🎯

React Three Fiber (R3F)

Обновлено: 2026-06-10

React Three Fiber (R3F)

React Three Fiber — это React-рендерер для Three.js. Он позволяет описывать 3D-сцены декларативно, как обычные React-компоненты.

Основные концепции

  • Canvas — корневой компонент, создаёт WebGL-контекст. Всегда оборачивайте сцену в <Canvas>.
  • useFrame — хук для анимации. Вызывается каждый кадр (60 fps).
  • Три примитива — <mesh>, <ambientLight>, <pointLight> и т.д. соответствуют объектам Three.js.
  • Пример базовой сцены

    "use client";
    
    import { Canvas } from "@react-three/fiber";
    import { useRef } from "react";
    import { useFrame } from "@react-three/fiber";
    
    function RotatingBox() {
      const meshRef = useRef();
      useFrame((_, delta) => {
        meshRef.current.rotation.x += delta;
        meshRef.current.rotation.y += delta * 0.5;
      });
      return (
        <mesh ref={meshRef}>
          <boxGeometry args={[1, 1, 1]} />
          <meshStandardMaterial color="orange" />
        </mesh>
      );
    }
    
    export default function Scene() {
      return (
        <Canvas>
          <ambientLight intensity={0.5} />
          <pointLight position={[10, 10, 10]} />
          <RotatingBox />
        </Canvas>
      );
    }
    

    Связанные статьи

    • Интеграция R3F в Next.js — настройка в проекте
    • Частые ошибки при работе с 3D — типичные проблемы

    Важно для Next.js

    • Добавляйте "use client" в компоненты с Canvas.
    • Используйте динамический импорт с ssr: false при рендере Canvas на странице.
    • R3F требует браузерных API (WebGL), поэтому не работает на сервере.

    Дополнительно

    • React Three Fiber (React-рендерер для Three.js)
    • Three.js (3D-библиотека)
    К разделу «3D и визуализация»