-
Notifications
You must be signed in to change notification settings - Fork 359
Description
original issue provided
#1120
Model importing
We'd like access to standard threejs model loading primitives
https://threejs.org/manual/#en/loading-3d-models
import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js';
const loader = new GLTFLoader();
loader.load( 'path/to/model.glb', function ( gltf ) {
scene.add( gltf.scene );
})Standard threejs API
as well as all the standard threejs API
Primitives
Scenegraph
Materials
Textures
Lights
Cameras
Shadows
Fog
etc, I'm assuming you won't need to write extra code for this, threejs api is already available.
Optional physics for models
If loading a global map, we'll want to enable colisions so that robot doesn't fall through the map.
for random visual elements (skybox) we won't need physics, but I can imagine adding a ball, or a car model (obstacle) which we do want colisions on
Movable characters
We are testing stuff like person follow etc, I assume giving us threejs API access we can easily animate a character in the world, just making sure to mention here
Robot definition API
we should be able to code simple control interface and a simple robot (drone, holonomic, plane, car) etc
System Validation
To validate the delivery, we'd like to see these examples to validate how easy the API is to use. all of below should be reasonably performant as well
ThreeJS API exposed
Deploy a robot sim in a random threejs example environment:
https://threejs.org/examples/#webgl_lights_physical
https://threejs.org/examples/#webgl_loader_ifc
https://threejs.org/examples/#webgpu_performance
Third party map load
load something like https://sketchfab.com/3d-models/lowpoly-fps-tdm-game-map-by-resoforge-d41a19f699ea421a9aa32b407cb7537b
Deploy the robot within this world.
New elements
Add a car model to the world with collisions enabled
Some reasonable editing flow (like threejs has)
change the position of an object, reload, check, add a light, reload etc
New embodiment
Code a drone (vs holonomic what we have now), deploy within a world above