Я пытаюсь добавить помощника камеры, чтобы визуализировать то, что видит моя камера. Я нашел сборник рассказов от Drei, в котором показано, как использовать useHelper, но я не вижу его. Какие-нибудь советы?
Сюжет: https://drei.pmnd.rs/?path=/story/gizmos-usehelper--camera-story
Моя собственная песочница: https://codesandbox.io/s/visible-width-camera-helper-ycsxjn?file=/src/App.js
Я могу ошибаться, но я думал, что должен видеть перспективную камеру из камеры Fiber по умолчанию.
import { Canvas } from '@react-three/fiber'
import { PerspectiveCamera, useHelper, CameraHelper, OrbitControls, Box } from '@react-three/drei'
import { useRef } from 'react'
export const App = () => {
return (
<Canvas tonemapped = {'false'}>
<color attach = "background" args = {['#fff']} />
<OrbitControls />
<Experience />
</Canvas>
)
}
const Experience = () => {
const camera = useRef()
useHelper(camera, CameraHelper)
return (
<>
<ambientLight intensity = {1} />
<PerspectiveCamera makeDefault = {false} ref = {camera} near = {1} far = {4} position = {[0, 0, 0]}>
<meshBasicMaterial />
</PerspectiveCamera>
<Box />
</>
)
}
вы должны использовать THREE.Camera
вместо CameraHelper
из @react-three/drei
код как
import { Canvas } from '@react-three/fiber'
import { PerspectiveCamera, useHelper, CameraHelper, OrbitControls, Box } from '@react-three/drei'
import { useRef } from 'react'
import * as THREE from 'three'
export const App = () => {
return (
<Canvas tonemapped = {'false'}>
<color attach = "background" args = {['#fff']} />
<OrbitControls />
<Experience />
</Canvas>
)
}
const Experience = () => {
const camera = useRef()
useHelper(camera, THREE.CameraHelper)
return (
<>
<ambientLight intensity = {1} />
<PerspectiveCamera ref = {camera} near = {1} far = {4} position = {[0, 0, 0]}></PerspectiveCamera>
<mesh>
<boxGeometry />
<meshBasicMaterial color = "red" />
</mesh>
</>
)
}
Я настроил вашу Песочницу