// '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)
