# Model Viewer
Load glTF models with PBR textures and orbit camera.
```{raw} html
📄 Docs only
```
**Tags:** `3d`
Auto-downloads the Khronos DamagedHelmet sample on first run.
Asset references use the canonical ``Resource(package, name)`` form, which
resolves through :mod:`importlib.resources`. The ``DamagedHelmet`` directory
under ``examples/assets/`` is a real Python package (it ships an empty
``__init__.py``); we add ``examples/assets`` to ``sys.path`` so the package
is importable even when the demo is launched via a bare file path
(``uv run python ``). See ``docs/package_resources.md``.
Controls:
Left-click drag: orbit camera
Scroll wheel: zoom in/out
Escape: quit
Usage:
uv run python examples/features/3d/model_viewer.py
## Source
```{literalinclude} ../../examples/features/3d/model_viewer.py
:language: python
:linenos:
```