模拟 Five 行为的 canvas,与 Five 唯一区别是 scene 是空的

当需 five 的 canvas 上层有一些额外的 Dom 元素比如平面图时,希望在这些 Dom 元素上层再绘制一些三维物体,可以 使用 FivePuppet,将要渲染的物体加入到 FivePuppet 的 scene 中即可。甚至可以是原本在 five 中的物体,可以使 用 .clone() 将物体克隆一份然后加入到 FivePuppet 的 scene 中。

   import { Util } from '@realsee/dnalogel'

function App() {
const fivePuppet = React.useRef<Util.FivePuppet>()
const five = unsafe__useFiveInstance()

React.useEffect(() => {
fivePuppet.current = new Util.FivePuppet(five, { zIndex: 20 })

const object = new THREE.Mesh(new THREE.BoxGeometry(), new THREE.MeshBasicMaterial({ color: 0xff0000 }))
fivePuppet.current.scene.add(object)

return () => {
fivePuppet.current?.destory()
}
}, [five])
}
   import { Util } from '@realsee/dnalogel'

const five = new Five({
plugins: [
[(five) => new Util.FivePuppet(five), 'fivePuppet']
],
})

const object = new THREE.Mesh(new THREE.BoxGeometry(), new THREE.MeshBasicMaterial({ color: 0xff0000 }))
five.plugins.fivePuppet.scene.add(object)

Constructors

Properties

Methods

Constructors

  • Parameters

    • five: Five
    • Optionalparams: {
          zIndex: number;
      }
      • zIndex: number

        canvas 的 zIndex

        1
        

    Returns FivePuppet

Properties

scene: Scene = ...

Methods

  • Returns void

  • Returns void

  • Returns void