Three.js : Real-time external volume and bounding box of a set of animated mesh
Budget: $250 – $750 USD
Need: Get the outside volume and bounding box in real-time of a set of of meshes
Constraints:
- Last version of Three.js required
- Several mesh are loaded via GLTF Loader: the main body with the animation, some mesh attached to the skeleton, additional meshes with the same animation as the main body.
- Volume: the outside volume of the set of meshes as if a boolean union add been applied to the set to give a unique mesh.
- Volume and bounding box may be computed at any given frame of the animation (is not done by default by three.js as the vertices are not updated and the volume and bouding box are the same for each frame).
- The scene and meshes at the beginning of the computation and at the end must be identical, which means any union, copy or modified mesh must be deleted after computation.
- The meshes may be morphed, the volume must be updated in consequence.
Deliverable: the javascript/webpack package.
Contents:
- zip files containing gltf mesh with animations (bracelet and walking have morph targets).
- bracelet is attached to the Mh_female_LeftForeArm bone of the walking model with the following transformations : tx: 0.1, ty: -0.5, tz: 0, rx: 1.57, ry: 1.57, rz: 0
- applying shoe to walking should trigger the morph target 'shoe prop'
Tips:
- https://github.com/chandlerprall/ThreeCSG
- https://stackoverflow.com/questions/53459241/three-js-calculate-stl-file-mesh-volume
- https://stackoverflow.com/questions/57332347/three-js-get-updated-vertices-with-skeletal-animations
The solution may used different techinques, if easier or more effective.
Constraints:
- Last version of Three.js required
- Several mesh are loaded via GLTF Loader: the main body with the animation, some mesh attached to the skeleton, additional meshes with the same animation as the main body.
- Volume: the outside volume of the set of meshes as if a boolean union add been applied to the set to give a unique mesh.
- Volume and bounding box may be computed at any given frame of the animation (is not done by default by three.js as the vertices are not updated and the volume and bouding box are the same for each frame).
- The scene and meshes at the beginning of the computation and at the end must be identical, which means any union, copy or modified mesh must be deleted after computation.
- The meshes may be morphed, the volume must be updated in consequence.
Deliverable: the javascript/webpack package.
Contents:
- zip files containing gltf mesh with animations (bracelet and walking have morph targets).
- bracelet is attached to the Mh_female_LeftForeArm bone of the walking model with the following transformations : tx: 0.1, ty: -0.5, tz: 0, rx: 1.57, ry: 1.57, rz: 0
- applying shoe to walking should trigger the morph target 'shoe prop'
Tips:
- https://github.com/chandlerprall/ThreeCSG
- https://stackoverflow.com/questions/53459241/three-js-calculate-stl-file-mesh-volume
- https://stackoverflow.com/questions/57332347/three-js-get-updated-vertices-with-skeletal-animations
The solution may used different techinques, if easier or more effective.