feat: omition

This commit is contained in:
TrèsAbhi committed 2024-01-01 15:16:28 -06:00
1 parent d4e16048e9
commit c9d5b46ae8
2 files changed
+97 -61

No files matched your search

+36
View File
@@ -0,0 +1,36 @@
import { Mesh, Object3D } from 'three';
export function resolveJsxTree(parent: Object3D) {
return parent.children.map((child) => {
if (child.type === 'Mesh') {
return (
<mesh
key={child.uuid}
castShadow
receiveShadow
geometry={(child as Mesh).geometry}
material={(child as Mesh).material}
position={child.position}
rotation={child.rotation}
scale={child.scale}
children={resolveJsxTree(child)}
/>
);
}
if (child.type === 'Object3D') {
return (
<group
key={child.uuid}
position={child.position}
rotation={child.rotation}
scale={child.scale}
children={resolveJsxTree(child)}
/>
);
}
throw new TypeError(
`Unhandled three jsx type ${child.type} (${child.name})`,
);
});
}