diff --git a/docs/services/image_to_3d.md b/docs/services/image_to_3d.md index fd07113..10da09b 100644 --- a/docs/services/image_to_3d.md +++ b/docs/services/image_to_3d.md @@ -16,6 +16,16 @@ noSwipingClass: 'swiper-no-swiping', watchSlidesProgress: true, }); + const modelViewers = document.querySelectorAll('model-viewer'); + let loadedCount = 0; + modelViewers.forEach(mv => { + mv.addEventListener('load', () => { + loadedCount++; + if (loadedCount === modelViewers.length) { + swiper.update(); + } + }); + }); }); diff --git a/docs/services/text_to_3d.md b/docs/services/text_to_3d.md index cbeaaef..a86bd31 100644 --- a/docs/services/text_to_3d.md +++ b/docs/services/text_to_3d.md @@ -16,6 +16,16 @@ noSwipingClass: 'swiper-no-swiping', watchSlidesProgress: true, }); + const modelViewers = document.querySelectorAll('model-viewer'); + let loadedCount = 0; + modelViewers.forEach(mv => { + mv.addEventListener('load', () => { + loadedCount++; + if (loadedCount === modelViewers.length) { + swiper.update(); + } + }); + }); }); diff --git a/docs/services/texture_edit.md b/docs/services/texture_edit.md index 7a7b212..4898044 100644 --- a/docs/services/texture_edit.md +++ b/docs/services/texture_edit.md @@ -16,9 +16,20 @@ noSwipingClass: 'swiper-no-swiping', watchSlidesProgress: true, }); + const modelViewers = document.querySelectorAll('model-viewer'); + let loadedCount = 0; + modelViewers.forEach(mv => { + mv.addEventListener('load', () => { + loadedCount++; + if (loadedCount === modelViewers.length) { + swiper.update(); + } + }); + }); }); + # 🎨 Texture Generation Service [![🤗 Hugging Face](https://img.shields.io/badge/🤗-Texture_Gen_Demo-blue)](https://huggingface.co/spaces/HorizonRobotics/EmbodiedGen-Texture-Gen) diff --git a/docs/tutorials/any_simulators.md b/docs/tutorials/any_simulators.md index 573e760..f8182b7 100644 --- a/docs/tutorials/any_simulators.md +++ b/docs/tutorials/any_simulators.md @@ -58,6 +58,6 @@ dst_asset_path = cvt_embodiedgen_asset_to_anysim( ) ``` -simulators_collision +simulators_collision Collision and visualization mesh across simulators, showing consistent geometry and material fidelity. diff --git a/docs/tutorials/digital_twin.md b/docs/tutorials/digital_twin.md index 9a742e2..e9fef46 100644 --- a/docs/tutorials/digital_twin.md +++ b/docs/tutorials/digital_twin.md @@ -1,3 +1,3 @@ # Real-to-Sim Digital Twin Creation -real2sim_mujoco +real2sim_mujoco diff --git a/docs/tutorials/gym_env.md b/docs/tutorials/gym_env.md index b01bbea..885917e 100644 --- a/docs/tutorials/gym_env.md +++ b/docs/tutorials/gym_env.md @@ -14,9 +14,9 @@ python embodied_gen/scripts/parallel_sim.py \ ```
- parallel_sim1 - parallel_sim2
diff --git a/docs/tutorials/image_to_3d.md b/docs/tutorials/image_to_3d.md index d0b256e..d63dae1 100644 --- a/docs/tutorials/image_to_3d.md +++ b/docs/tutorials/image_to_3d.md @@ -16,6 +16,16 @@ noSwipingClass: 'swiper-no-swiping', watchSlidesProgress: true, }); + const modelViewers = document.querySelectorAll('model-viewer'); + let loadedCount = 0; + modelViewers.forEach(mv => { + mv.addEventListener('load', () => { + loadedCount++; + if (loadedCount === modelViewers.length) { + swiper.update(); + } + }); + }); }); diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md index 993bde6..0824374 100644 --- a/docs/tutorials/index.md +++ b/docs/tutorials/index.md @@ -16,9 +16,20 @@ noSwipingClass: 'swiper-no-swiping', watchSlidesProgress: true, }); + const modelViewers = document.querySelectorAll('model-viewer'); + let loadedCount = 0; + modelViewers.forEach(mv => { + mv.addEventListener('load', () => { + loadedCount++; + if (loadedCount === modelViewers.length) { + swiper.update(); + } + }); + }); }); + # Tutorials & Interface Usage Welcome to the tutorials for `EmbodiedGen`. `EmbodiedGen` is a powerful toolset for generating 3D assets, textures, scenes, and interactive layouts ready for simulators and digital twin environments. @@ -150,7 +161,7 @@ Generate **high-quality textures** for 3D meshes using **text prompts**, support Generate **physically consistent and visually coherent 3D environments** from text prompts. Typically used as **background** 3DGS scenes in simulators for efficient and photo-realistic rendering. - + --- @@ -159,10 +170,10 @@ Generate **physically consistent and visually coherent 3D environments** from te Generate diverse, physically realistic, and scalable **interactive 3D scenes** from natural language task descriptions, while also modeling the robot and manipulable objects.
- layout1 - layout2 - layout3 - layout4 + layout1 + layout2 + layout3 + layout4
@@ -173,9 +184,9 @@ Generate diverse, physically realistic, and scalable **interactive 3D scenes** f Generate multiple **parallel simulation environments** with `gym.make` and record sensor and trajectory data.
- parallel_sim1 - parallel_sim2
@@ -187,11 +198,11 @@ Generate multiple **parallel simulation environments** with `gym.make` and recor Seamlessly use EmbodiedGen-generated assets in major simulators like **IsaacSim**, **MuJoCo**, **Genesis**, **PyBullet**, **IsaacGym**, and **SAPIEN**, featuring **accurate physical collisions** and **consistent visual appearance**.
- simulators_collision + simulators_collision
## [🔧 Real-to-Sim Digital Twin Creation](digital_twin.md)
- real2sim_mujoco + real2sim_mujoco
diff --git a/docs/tutorials/layout_gen.md b/docs/tutorials/layout_gen.md index f5a8e8a..7af14b4 100644 --- a/docs/tutorials/layout_gen.md +++ b/docs/tutorials/layout_gen.md @@ -3,10 +3,10 @@ Layout Generation enables the generation of diverse, physically realistic, and scalable **interactive 3D scenes** directly from natural language task descriptions, while also modeling the robot's pose and relationships with manipulable objects. Target objects are randomly placed within the robot's reachable range, making the scenes readily usable for downstream simulation and reinforcement learning tasks in any mainstream simulator.
- layout1 - layout2 - layout3 - layout4 + layout1 + layout2 + layout3 + layout4
!!! note "Model Requirement" @@ -44,8 +44,8 @@ layout-cli \ You will get the following results:
- Iscene_demo1 - Iscene_demo2 + Iscene_demo1 + Iscene_demo2
diff --git a/docs/tutorials/scene_gen.md b/docs/tutorials/scene_gen.md index e08764d..b7029a2 100644 --- a/docs/tutorials/scene_gen.md +++ b/docs/tutorials/scene_gen.md @@ -4,7 +4,7 @@ Generate **physically consistent and visually coherent 3D environments** from te --- - + --- diff --git a/docs/tutorials/text_to_3d.md b/docs/tutorials/text_to_3d.md index 8d96ffd..bef2f24 100644 --- a/docs/tutorials/text_to_3d.md +++ b/docs/tutorials/text_to_3d.md @@ -16,6 +16,16 @@ noSwipingClass: 'swiper-no-swiping', watchSlidesProgress: true, }); + const modelViewers = document.querySelectorAll('model-viewer'); + let loadedCount = 0; + modelViewers.forEach(mv => { + mv.addEventListener('load', () => { + loadedCount++; + if (loadedCount === modelViewers.length) { + swiper.update(); + } + }); + }); }); diff --git a/docs/tutorials/texture_edit.md b/docs/tutorials/texture_edit.md index dcb763e..8a03ec7 100644 --- a/docs/tutorials/texture_edit.md +++ b/docs/tutorials/texture_edit.md @@ -16,9 +16,20 @@ noSwipingClass: 'swiper-no-swiping', watchSlidesProgress: true, }); + const modelViewers = document.querySelectorAll('model-viewer'); + let loadedCount = 0; + modelViewers.forEach(mv => { + mv.addEventListener('load', () => { + loadedCount++; + if (loadedCount === modelViewers.length) { + swiper.update(); + } + }); + }); }); + # 🎨 Texture Generation: Create Visually Rich Textures for 3D Meshes Generate **high-quality textures** for 3D meshes using **text prompts**, supporting both **Chinese and English**. This allows you to enhance the visual appearance of existing 3D assets for simulation, visualization, or digital twin applications.