#
luxiaotao1123
2024-04-18 4c3fa1119d6b7d86c46257671bac4124d1ebb6aa
#
1个文件已修改
73 ■■■■ 已修改文件
src/pages/text.jsx 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/text.jsx
@@ -5,21 +5,20 @@
import { easing } from 'maath'
export default function Text() {
  return (
    <Canvas flat shadows camera={{ position: [-15, 0, 10], fov: 25 }}>
      <fog attach="fog" args={['black', 15, 22.5]} />
      <Stage intensity={0.5} environment="city" shadows={{ type: 'accumulative', bias: -0.001, intensity: Math.PI }} adjustCamera={false}>
        {/* <Kamdo rotation={[0, Math.PI, 0]} /> */}
      </Stage>
      <Grid renderOrder={-1} position={[0, -1.85, 0]} infiniteGrid cellSize={0.6} cellThickness={0.6} sectionSize={3.3} sectionThickness={1.5} sectionColor={[0.5, 0.5, 10]} fadeDistance={30} />
      <OrbitControls autoRotate autoRotateSpeed={0.05} enableZoom={false} makeDefault minPolarAngle={Math.PI / 2} maxPolarAngle={Math.PI / 2} />
      <EffectComposer disableNormalPass>
        <Bloom luminanceThreshold={2} mipmapBlur />
        {/* <ToneMapping /> */}
      </EffectComposer>
      <Environment background preset="sunset" blur={0.8} />
    </Canvas>
  )
    return (
        <Canvas flat shadows camera={{ position: [-15, 0, 10], fov: 25 }}>
            <fog attach="fog" args={['black', 15, 22.5]} />
            <Stage intensity={0.5} environment="city" shadows={{ type: 'accumulative', bias: -0.001, intensity: Math.PI }} adjustCamera={false}>
                {/* <Kamdo rotation={[0, Math.PI, 0]} /> */}
            </Stage>
            <Grid renderOrder={-1} position={[0, -1.85, 0]} infiniteGrid cellSize={0.6} cellThickness={0.6} sectionSize={3.3} sectionThickness={1.5} sectionColor={[0.5, 0.5, 10]} fadeDistance={30} />
            <OrbitControls autoRotate autoRotateSpeed={0.05} enableZoom={false} makeDefault minPolarAngle={Math.PI / 2} maxPolarAngle={Math.PI / 2} />
            <EffectComposer disableNormalPass>
                <Bloom luminanceThreshold={2} mipmapBlur />
            </EffectComposer>
            <Environment background preset="warehouse" blur={0.8} />
        </Canvas>
    )
}
/*
@@ -32,28 +31,28 @@
*/
function Kamdo(props) {
  const head = useRef()
  const stripe = useRef()
  const light = useRef()
  const { nodes, materials } = useGLTF('/s2wt_kamdo_industrial_divinities-transformed.glb')
  useFrame((state, delta) => {
    const t = (1 + Math.sin(state.clock.elapsedTime * 2)) / 2
    stripe.current.color.setRGB(2 + t * 20, 2, 20 + t * 50)
    easing.dampE(head.current.rotation, [0, state.pointer.x * (state.camera.position.z > 1 ? 1 : -1), 0], 0.4, delta)
    light.current.intensity = 1 + t * 4
  })
  return (
    <group {...props}>
      <mesh castShadow receiveShadow geometry={nodes.body001.geometry} material={materials.Body} />
      <group ref={head}>
        <mesh castShadow receiveShadow geometry={nodes.head001.geometry} material={materials.Head} />
        <mesh castShadow receiveShadow geometry={nodes.stripe001.geometry}>
          <meshBasicMaterial ref={stripe} toneMapped={false} />
          <pointLight ref={light} intensity={1} color={[10, 2, 5]} distance={2.5} />
        </mesh>
      </group>
    </group>
  )
    const head = useRef()
    const stripe = useRef()
    const light = useRef()
    const { nodes, materials } = useGLTF('/s2wt_kamdo_industrial_divinities-transformed.glb')
    useFrame((state, delta) => {
        const t = (1 + Math.sin(state.clock.elapsedTime * 2)) / 2
        stripe.current.color.setRGB(2 + t * 20, 2, 20 + t * 50)
        easing.dampE(head.current.rotation, [0, state.pointer.x * (state.camera.position.z > 1 ? 1 : -1), 0], 0.4, delta)
        light.current.intensity = 1 + t * 4
    })
    return (
        <group {...props}>
            <mesh castShadow receiveShadow geometry={nodes.body001.geometry} material={materials.Body} />
            <group ref={head}>
                <mesh castShadow receiveShadow geometry={nodes.head001.geometry} material={materials.Head} />
                <mesh castShadow receiveShadow geometry={nodes.stripe001.geometry}>
                    <meshBasicMaterial ref={stripe} toneMapped={false} />
                    <pointLight ref={light} intensity={1} color={[10, 2, 5]} distance={2.5} />
                </mesh>
            </group>
        </group>
    )
}
useGLTF.preload('/s2wt_kamdo_industrial_divinities-transformed.glb')