| | |
| | | import * as TWEEN from "@tweenjs/tween.js"; |
| | | import { INTERVAL_TIME } from '@/config/setting' |
| | | |
| | | let coords = { x: 0, y: 0, z: 0 }; |
| | | |
| | | const Agv = (props) => { |
| | | const { position, theta } = props; |
| | | |
| | |
| | | if (!props || Object.keys(props).length === 0) { |
| | | return; |
| | | } |
| | | // new TWEEN.Tween(coords) |
| | | // .to(pos, INTERVAL_TIME) |
| | | // .easing(TWEEN.Easing.Linear.None) |
| | | // .onUpdate((e) => { |
| | | // coords = e; |
| | | // console.log(e); |
| | | // }) |
| | | // .start(); |
| | | new TWEEN.Tween(groupPos) |
| | | .to({ |
| | | x: position[0], |
| | | y: position[1], |
| | | z: position[2] |
| | | }, INTERVAL_TIME) |
| | | .easing(TWEEN.Easing.Linear.None) |
| | | .onUpdate((e) => { |
| | | setGroupPos({ ...e }); |
| | | }) |
| | | .start(); |
| | | }, [props]); |
| | | |
| | | useFrame((state, delta) => { |
| | | TWEEN.update(); |
| | | setGroupPos(preState => ({ |
| | | ...preState, |
| | | x: preState.x + 1 |
| | | })) |
| | | // setGroupPos(preState => ({ |
| | | // ...preState, |
| | | // x: preState.x + 1 |
| | | // })) |
| | | }) |
| | | |
| | | const bodyModel = useMemo(() => { |