跳到主要内容
使用方法

如何把GLB嵌入网站?用model-viewer做出能旋转自己角色3D的作品集

想把GLB嵌入网站,用Google公开的model-viewer最省事。加一行加载代码,写上src、camera-controls等属性,访客就能用鼠标或手指旋转页面上的3D。本文整理各属性的作用、文件放置的条件、显示不出来时的排查方法,以及在手机上的表现。

Figmee 编辑部发布日期: 2026-11-07更新日期: 2026-11-0716分钟阅读
GLBmodel-viewer嵌入作品集网页
如何把GLB嵌入网站?用model-viewer做出能旋转自己角色3D的作品集

想把GLB嵌入网站,用Google公开的网页组件“model-viewer”最省事。在页面里加一行用于加载的script元素,在model-viewer标签的src属性里写上GLB的位置,再加上camera-controls属性,访客就能用鼠标或手指旋转页面上的3D。

本文依次整理:把GLB放到网上的三种方式有何不同、用model-viewer嵌入的步骤和主要属性的作用、显示不出来时怎么排查、在手机上的表现,以及作品变多后怎么排布。HTML代码本身最好连同版本号一起从官方文档复制,这样最稳妥,所以本文只说明属性的名称和作用,代码请通过官方页面的链接获取。model-viewer的规格均以2026年11月的官方文档为准。

※目前 Figmee 提供的是:根据你画的插画生成的手办风格图像、3D模型数据(GLB / 3MF),以及3D模型的旋转视频。实物3D打印订购功能正在准备中(Coming Soon)。另外,照片和看起来像照片的图片都无法做成3D(对象是画出来的图)。

把GLB放到网页上有哪些方式?

让访客在浏览器里旋转GLB,有三种方式:“嵌入自己的网站”“发送制作时所用服务的分享链接”“上传到3D分享网站后再嵌入”。如果想按自己的设计放在自己网站里,用model-viewer嵌入最合适。

方式能否显示在自己网站里工作量文件大小适合的人
用model-viewer嵌入能修改HTML、把GLB放到服务器上直接读取放上去的GLB,瘦身要靠自己有作品集网站、会改HTML的人
Figmee的分享链接不能(发送链接)在作品页面打开开关即可不用操心想马上展示用Figmee做的模型的人
Sketchfab等分享网站贴上嵌入用的HTML就能注册账号、上传遵守网站的上限想把多种软件做的模型集中在一处的人

在Sketchfab上,可以通过模型页面查看器下方的嵌入(Embed)按钮,取出贴到自己页面的嵌入用HTML。官方说明还提到,非公开和设了密码的模型也能嵌入(来源:Sketchfab Help Center“Embedding your 3D models”,2026年11月)。用分享链接展示的步骤以及公开后能看到什么,整理在3D模型怎么在网上公开中。

model-viewer是什么?

model-viewer是Google以开源(Apache License 2.0)形式公开的网页组件,只要在页面上放一个标签,就能显示3D模型并让人旋转。它只能读取glTF和GLB,官方FAQ表示今后也只打算支持这一格式(来源:model-viewer FAQ,2026年11月)。

  • 加载方法:把官方README里带有type="module"的script元素贴到页面中。加载来源是Google的CDN(ajax.googleapis.com),URL中间包含版本号。在npm上的包名是@google/model-viewer(来源:model-viewer的README,2026年11月)。
  • 版本:截至2026年11月7日,npm上的最新版本是4.4.0(来源:npm“@google/model-viewer”)。
  • 支持的浏览器:README称支持持续自动更新的浏览器(Chrome、Firefox、Safari、Edge等)桌面版和移动版的最近两个主要版本。

Figmee的GLB把形状和颜色(贴图)打包成一个文件,不需要另外上传图片,传一个GLB就够了。GLB本身的结构见GLB文件是什么,什么样的画适合做成3D见插画转3D完整指南。

嵌入的步骤是什么?

分5步:准备GLB并瘦身、放到服务器上、加一行加载代码、写标签和属性、在电脑和手机上确认。在能修改HTML的网站上,第一个模型大约需要30~50分钟。

  1. 准备GLB并瘦身(10~30分钟):用Figmee的话,在作品页面点击“保存”,选择“3D模型(GLB)”(保存不需要额外的代币)。如果担心加载慢,按缩小贴图、减面、压缩的顺序瘦身(步骤见GLB文件怎么压缩变小)。
  2. 把GLB放到服务器上(5分钟):上传到和页面相同的服务器(同一域名)最简单。放在其他域名时,需要让那台服务器返回CORS响应头(见下文“加载慢或显示不出来怎么办?”)。
  3. 加一行加载代码(2分钟):复制官方README中的script元素,填入版本号(例如4.4.0),贴到页面的head里。
  4. 放置标签并写属性(5分钟):在想显示的位置放model-viewer标签,src写GLB的URL,alt写作品说明,再加上camera-controls。其他属性从下表中挑选。标签的写法示例见model-viewer文档。
  5. 在电脑和手机上确认(5分钟):看能否旋转、加载时显示什么、在手机上能否纵向滚动页面、颜色和光泽是否符合预期。

常用属性如下(来源:model-viewer文档,2026年11月):

属性作用补充
src要显示的GLB的URL只支持glTF、GLB
alt描述模型的文字用一句话说明是什么作品,让使用读屏的人也能理解
camera-controls允许用鼠标或手指旋转官方建议几乎总是加上
auto-rotate自动旋转开始旋转前默认等待3000毫秒(auto-rotate-delay),速度用rotation-per-second设置
poster加载完成前显示的图片官方FAQ建议始终使用与模型衔接自然的海报图
loading何时加载(auto、lazy、eager)默认的auto在接近可视区域时加载,eager会立即加载
camera-orbit初始相机的方向和距离默认是“0deg 75deg 105%”(水平角度、垂直角度、距离)
touch-action在手机上与页面滚动的关系(pan-y、pan-x、none)默认的pan-y保留纵向滚动,横向拖动时旋转模型
shadow-intensity脚下阴影的浓淡设为0则关闭阴影
exposure亮度(曝光)太亮或太暗时调整
ar在支持的设备上开启AR显示各设备有各自的条件,其他都调好后再试

Figmee的GLB不包含动作(动画),所以用不到model-viewer的动画属性。姿势也无法更改,想展示角色的哪个角度,就用camera-orbit设定初始相机位置来对准。

加载慢或显示不出来怎么办?

什么都不显示时,依次检查GLB的URL、放置位置的域名(CORS)、加载代码这三项。能显示但样子不对时,从下表的症状里找。

症状常见原因解决方法
什么都不显示src的URL写错、没有加载代码或版本号有误打开浏览器开发者工具的控制台和网络面板,看GLB和脚本是否加载成功
只有放在其他域名的GLB读不出来被CORS拦截让放GLB的服务器返回允许页面所在域名的CORS响应头(官方FAQ)
直接在电脑上打开HTML文件时不显示浏览器有时会阻止以本地文件方式打开的页面进行加载放到本地服务器或正式服务器上确认
很久才显示出来GLB太大从贴图开始逐步瘦身,用poster让加载中的画面更好看
压缩后的GLB不显示用了meshopt压缩model-viewer默认没有启用meshopt解码器。改用Draco重新压缩,或设置meshoptDecoderLocation
边缘像金属一样发亮GLB材质的金属度(Metallic)偏高在Blender里调低材质的金属度后重新导出(见下文)

CORS的说明在官方FAQ的“Why am I getting CORS errors?”中,解码器的默认加载位置在文档的dracoDecoderLocation、meshoptDecoderLocation条目中(均为2026年11月)。

最后一项“边缘发亮”,是Figmee生成的GLB容易出现的现象。Figmee的GLB导出时材质的金属度(Metallic)设置偏高,而Figmee的查看器会把金属度改为0来显示。因此,同一个GLB放到model-viewer等其他查看器里,雕刻的边缘可能会像金属一样发亮。如果介意,可以导入Blender,把材质的金属度调到接近0(如果金属度的输入连着图像,先断开连接再改数值),重新导出GLB,然后在放置的位置确认光泽是否变化。导入Blender的方法见把Figmee的GLB导入Blender的步骤。

手机上也能旋转吗?

能。model-viewer也支持手机浏览器,加上camera-controls后,用手指拖动就能旋转。需要注意的是与页面滚动的关系,以及内存这两点。

  • 与滚动的关系:touch-action默认为pan-y时,手指纵向滑动会滚动页面,横向开始拖动则会旋转模型。设为none后,在模型上方页面就不会滚动,所以把模型铺满屏幕时,要确认访客还能继续往下浏览。
  • 内存:大尺寸贴图即使文件不大,显示时也会占用大量内存,可能让手机变卡。降低长宽分辨率会有效果(详见GLB文件怎么压缩变小)。

加上ar属性后,在支持的设备上可以开启AR显示(透过相机把3D放到眼前的场景里查看)。Android的Scene Viewer公开了文件大小、三角形数量等推荐值,以及可用扩展的条件(来源:Google ARCore“Scene Viewer”,2026年11月),要用到AR显示时,请用符合这些条件的GLB来测试。

作品变多后怎么排布?

一个页面上放的模型越多,加载和内存的负担就越大。列表页每个作品放一张静态图(与海报相同的图片),3D则在每个作品的单独页面上各放一个,这样列表页一般不容易变重。

  • 列表放图片,详情放3D:访客从列表进入作品页面时,再展示可旋转的3D。
  • 一个页面放多个时:默认的loading(auto)在接近可视区域时才加载,所以靠下的模型要等访客滚动到那里才会读取。全部加上poster,加载前排布也不会乱。
  • 与原始插画并排:在3D旁边放原画,能让人看出是由哪张画变成立体的。

如果没有自己的网站,或者想要一个集中展示的地方,也可以用Figmee的创作者页面(在“我的页面”打开公开设置后,会生成一个列出已公开作品的个人主页)。把GLB发给别人查看的方法,见免费查看3D模型的5种方法。

常见问题

WordPress等博客服务也能用吗?

能否使用,取决于该服务是否允许写入包含script元素的HTML。不允许的服务可能用不了model-viewer。这时可以改用Sketchfab的嵌入(Sketchfab的帮助中心也介绍了在WordPress等平台上的嵌入方法),或贴上分享链接。

访客能保存我的GLB吗?

为了在页面上显示,GLB文件会被发送到访客的浏览器。因此请以“知道URL就能保存”为前提来放置。如果模型来自委托别人画的图,公开前请先征得画师同意(思路见委托的插画能做成3D吗)。

需要付费吗?

model-viewer是开源的,使用本身不收费。存放GLB的服务器费用取决于你用的服务。在Figmee上,生成3D模型消耗5个代币(每个账号的第1个免费),保存GLB不需要额外的代币。

总结

想把GLB嵌入网站,model-viewer最省事。先给GLB瘦身并放到服务器上,从官方README复制加载代码,以src、alt、camera-controls为基础,再按需加上poster或auto-rotate。显示不出来时检查URL、CORS和加载代码;边缘发亮时检查材质的金属度。在手机上,要注意与滚动的关系和贴图的大小。

想把自己角色的可旋转3D放进作品集,可以在Figmee上用你画的画生成3D模型,保存GLB,再按本文的步骤嵌入。

相关指南

看看自家角色的侧脸和背影

一张角色图就能变成可360°旋转的3D模型。没画到的侧面和背面由AI补全,细节可能与原画不同。

从一张画到第一个3D模型都免费

分享这篇文章