Update App.tsx to introduce a new pose data structure for skeleton animation, enhancing the Human3DSkeleton component to accept multiple skeletons. Adjust type definitions and update skeleton instances in the Scene for improved flexibility in pose rendering.
This commit is contained in:
24
src/App.tsx
24
src/App.tsx
@ -8,12 +8,22 @@ import { useEffect, useRef, useState, JSX } from 'react'
|
||||
// import POSE_3D_ from "./assets/result_ae_01_ae_08.json"
|
||||
import POSE_3D_ from "./assets/temp_result.json"
|
||||
import POSE_3D_MANY_ from "./assets/many_people_all_3d_pose.json"
|
||||
import POSE_3D_04_02_ from "./assets/res.json"
|
||||
|
||||
// 133, 3
|
||||
type PosePoints3D = [number, number, number][]
|
||||
|
||||
// F, 133, 3
|
||||
type SkeletonType = [number, number, number][][]
|
||||
type AnimePosePoints3D = PosePoints3D[]
|
||||
|
||||
const POSE_3D = POSE_3D_ as SkeletonType
|
||||
const POSE_3D_MANY = POSE_3D_MANY_ as SkeletonType[] // N F 133 3
|
||||
interface Skeleton0402 {
|
||||
"a": PosePoints3D
|
||||
"b": PosePoints3D
|
||||
}
|
||||
|
||||
const POSE_3D = POSE_3D_ as AnimePosePoints3D
|
||||
const POSE_3D_MANY = POSE_3D_MANY_ as AnimePosePoints3D[] // N F 133 3
|
||||
const POSE_3D_04_02 = POSE_3D_04_02_ as Skeleton0402
|
||||
|
||||
const THREE_ADDONS = {
|
||||
FontLoader,
|
||||
@ -261,7 +271,7 @@ const Scene = () => {
|
||||
}
|
||||
|
||||
interface Human3DSkeletonProps {
|
||||
skeleton: SkeletonType
|
||||
skeleton: AnimePosePoints3D
|
||||
startFrame?: number
|
||||
jointRadius?: number
|
||||
boneRadius?: number
|
||||
@ -409,8 +419,12 @@ const Scene = () => {
|
||||
// const skeletons = [<Human3DSkeleton jointRadius={0.05} boneRadius={0.025} frameRate={1} skeleton={S0} />,
|
||||
// <Human3DSkeleton jointRadius={0.05} boneRadius={0.025} frameRate={1} skeleton={S1} />
|
||||
// ]
|
||||
// const skeletons = [
|
||||
// <Human3DSkeleton jointRadius={0.005} boneRadius={0.0025} frameRate={24} skeleton={POSE_3D} />,
|
||||
// ]
|
||||
const skeletons = [
|
||||
<Human3DSkeleton jointRadius={0.005} boneRadius={0.0025} frameRate={24} skeleton={POSE_3D} />,
|
||||
<Human3DSkeleton jointRadius={0.005} boneRadius={0.0025} frameRate={24} skeleton={[POSE_3D_04_02.a]} />,
|
||||
<Human3DSkeleton jointRadius={0.005} boneRadius={0.0025} frameRate={24} skeleton={[POSE_3D_04_02.b]} />,
|
||||
]
|
||||
|
||||
const cameras = Object.entries(CAMERA_EXTRINSIC_MATRIX_MAP).map(([key, value]) => {
|
||||
|
||||
Reference in New Issue
Block a user