UNPKG

threed-garden

Version:

ThreeD Garden: WebGL 3D Environment Interface for Next.JS React TypeScript Three.JS React-Three Physics, 2D Paper.JS; APIs: Apollo GraphQL, WordPress; CSS: Tailwind, Radix-UI; Libraries: FarmBot 3D; AI: OpenAI, DeepSeek

87 lines (80 loc) 2.4 kB
// 'use client' // ========================================================== // RESOURCES /* Auto-generated by: https://github.com/pmndrs/gltfjsx */ import React from 'react' import { useGLTF } from '@react-three/drei' const theCharacterModelFile = '/Demon.glb' export default function CharacterModel(props) { const { nodes, materials } = useGLTF(theCharacterModelFile) for (const material in materials) { materials[material].metalness = -2 materials[material].roughness = 1 } return ( <group name="Root_Scene"> <group name="RootNode"> <group name="CharacterArmature" rotation={[-Math.PI / 2, 0, 0]} scale={80} // position={[0, -0.85, 0]} position={[0, 0.00, 0]} > <primitive object={nodes.Root} /> </group> <group name="Demon" rotation={[-Math.PI / 2, 0, 0]} scale={100} > <skinnedMesh name="Demon_1" geometry={nodes.Demon_1.geometry} material={materials.Demon_Main} skeleton={nodes.Demon_1.skeleton} receiveShadow castShadow /> <skinnedMesh name="Demon_2" geometry={nodes.Demon_2.geometry} material={materials.Black} skeleton={nodes.Demon_2.skeleton} receiveShadow castShadow /> <skinnedMesh name="Demon_3" geometry={nodes.Demon_3.geometry} material={materials.Eye_White} skeleton={nodes.Demon_3.skeleton} receiveShadow castShadow /> <skinnedMesh name="Demon_4" geometry={nodes.Demon_4.geometry} material={materials.Eye_Black} skeleton={nodes.Demon_4.skeleton} receiveShadow castShadow /> </group> <skinnedMesh name="Trident" geometry={nodes.Trident.geometry} material={materials.Black} skeleton={nodes.Trident.skeleton} position={[1.895, 1.734, -0.17]} scale={75.326} receiveShadow castShadow /> </group> </group> ) } useGLTF.preload(theCharacterModelFile)