pmndrs/use-cannon

Can't pass instanced bodies to useConstraint

Open

#50 建立於 2020年3月28日

在 GitHub 查看
 (0 留言) (1 反應) (0 負責人)TypeScript (164 fork)github user discovery
enhancementhelp wanted

倉庫指標

Star
 (2,950 star)
PR 合併指標
 (PR 指標待抓取)

描述

Creating constraints between instanced meshes isn't possible at the moment.

From #48 @drcmda

we could maybe learn from react-springs playbook here, esp useSprings: https://www.react-spring.io/docs/hooks/use-springs

const [refs, api] = useDistanceConstraints(10000, () => ({ ... }))
return data.map((id, index) => <mesh key={id} ref={refs[index]} ... />

I think this would be a good pattern for constraints on instanced bodies. An iterator function that returns an array of two indexes could attach a standard mesh to instanced meshes or instanced mesh to instanced mesh.

const [bodyA] = useBox({...})
const [bodyB] = useSphere({...}) // ref for instancedMesh

useDistanceConstraints(count, bodyA, bodyB, fn: (i) => [0, i], options, deps]) // where fn returns [bodyAIndex, bodyBIndex]

貢獻者指南