mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 11:39:50 +02:00
feat: omition
This commit is contained in:
1 parent
d4e16048e9
commit
c9d5b46ae8
2 files changed
+97
-61
No files matched your search
@@ -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})`,
|
||||
);
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user