<model-viewer> projectThis is the main GitHub repository for the <model-viewer> web component and
all of its related projects.
Getting started? Check out the <model-viewer> project!
The repository is organized into sub-directories containing the various projects. Check out the README.md files for specific projects to get more details:
👩🚀 <model-viewer> • The <model-viewer> web component (probably what you are looking for)
✨ <model-viewer-effects> • The PostProcessing plugin for <model-viewer>
🌐 modelviewer.dev • The source for the <model-viewer> documentation website
🖼 render-fidelity-tools • Tools for testing how well <model-viewer> renders models
🎨 shared-assets • 3D models, environment maps and other assets shared across many sub-projects
🚀 space-opera • The source of the <model-viewer> editor
When developing across all the projects in this repository, first install git, Node.js and npm.
Then, perform the following steps to get set up for development:
git clone --depth=1 git@github.com:google/model-viewer.git cd model-viewer npm install
Note: depth=1 keeps you from downloading our ~3Gb of history, which is dominated by all the versions of our golden render fidelity images.
The following global commands are available:
| Command | Description |
|---|---|
npm ci | Install dependencies and cross-links sub-projects |
npm run build | Runs the build step for all sub-projects |
npm run serve | Runs a web server and opens a new browser tab pointed to the local copy of modelviewer.dev (don't forget to build!) |
npm run test | Runs tests in all sub-projects that have them |
npm run clean | Removes built artifacts from all sub-projects |
You should now be ready to work on any of the <model-viewer> projects!
Due to dependency issues on Windows 10 we recommend running <model-viewer> setup from a WSL2 environment.
And installing Node.js & npm via NVM
You should clone model-viewer from inside WSL, not from inside Windows. Otherwise, you might run into line endings and symlink issues.
To clone via HTTPS in WSL (there are known file permissions issues with SSH keys inside WSL):
git clone --depth=1 https://github.com/google/model-viewer.git
cd model-viewer
npm install
To run tests in WSL, you need to bind CHROME_BIN:
export CHROME_BIN="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
npm run test
Note that you should be able to run the packages/model-viewer and packages/model-viewer-effects tests with that setup, but running fidelity tests requires GUI support which is only available in WSL on Windows 11.
These issues should not happen when you have followed the above WSL setup steps (clone via HTTPS, clone from inside WSL, bind CHROME_BIN). The notes here might be helpful if you're trying to develop model-viewer from inside Windows (not WSL) instead (not recommended).
Running npm run test requires an environment variable on WSL that points to CHROME_BIN.
You can set that via this command (this is the default Chrome install directory, might be somewhere else on your machine)
export CHROME_BIN="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
npm run test
Tests in packages/model-viewer and packages/model-viewer-effects should now run properly; fidelity tests might still fail (see errors and potential workarounds below).
/bin/bash^M: bad interpreter: No such file or directorySymptom
Running a .sh script, for example fetch-khronos-gltf-samples.sh, throws an error message /bin/bash^M: bad interpreter: No such file or directory
Alternative error:
! was unexpected at this time.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @google/model-viewer@1.10.1 prepare: `if [ ! -L './shared-assets' ]; then ln -s ../shared-assets ./shared-assets; fi && ../shared-assets/scripts/fetch-khronos-gltf-samples.sh`
Solution This is caused by incorrect line endings in some of the .sh files due to git changing these on checkout on Windows (not inside WSL). It's recommended to clone the model-viewer repository from a WSL session.
As a workaround, you can re-write line endings using the following command:
sed -i -e 's/\r$//' ../shared-assets/scripts/fetch-khronos-gltf-samples.sh
ERROR:browser_main_loop.cc(1409)] Unable to open X display.Symptom
When trying to npm run test, errors are logged similar to:
❌Fail to analyze scenario :khronos-IridescentDishWithOlives! Error message: ❌ Failed to capture model-viewer's screenshot
[836:836:0301/095227.204808:ERROR:browser_main_loop.cc(1409)] Unable to open X display.
Pupeteer tests need a display output; this means GUI support for WSL is required which seems to only be (easily) available on Windows 11, not Windows 10.
https://docs.microsoft.com/de-de/windows/wsl/tutorials/gui-apps#install-support-for-linux-gui-apps
So, the workaround seems to be running Windows 11 (but not tested yet).
ERROR: Task not found: "'watch:tsc"Symptom
Running npm run dev in packages/model-viewer on Windows throws error ERROR: Task not found: "'watch:tsc".
Solution (if you have one please make a PR!)
</details>

企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上 线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。


AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。


一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号