Bak*_*akr 4 typescript react-three-fiber
我正在尝试将着色器与 React-三纤维和 Typescript 一起使用。着色器文件:
import { ShaderMaterial } from "three"
import { extend } from "react-three-fiber"
class CustomMaterial extends ShaderMaterial {
constructor() {
super({
vertexShader: `...`,
fragmentShader: `...`,
uniforms: [...]
})
}
}
extend({ CustomMaterial })
Run Code Online (Sandbox Code Playgroud)
和组件文件:
<mesh
key={el.name}
material={el.material}
receiveShadow
castShadow
>
<bufferGeometry attach="geometry" {...el.geometry} />
<customMaterial attach="material" />
</mesh>
Run Code Online (Sandbox Code Playgroud)
我收到错误:
类型“JSX.IntrinsicElements”上不存在属性“customMaterial”。
尝试:
declare global {
namespace JSX {
interface IntrinsicElements {
customMaterial: ReactThreeFiber.Object3DNode<CustomMaterial, typeof CustomMaterial>
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可能还需要在导入中添加以下内容:
import { extend } from 'react-three-fiber'
...
extend ({ CustomMaterial })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2458 次 |
| 最近记录: |