讲师中心 微信公众号
AI工具推荐 视频效率加速

html如何载入模型_HTML 3D模型(GLTF/OBJ)载入与渲染方法

酷雪大大_1354

酷雪大大_1354

发布时间:2025-11-16 22:24:05

|

819人浏览过

|

来源于php中文网

原创

引入Three.js及对应加载器,2. 创建HTML容器挂载3D场景,3. 使用GLTFLoader或OBJLoader加载模型,4. 添加光照与OrbitControls交互,5. 通过WebGLRenderer渲染;需部署在HTTP服务器上以避免跨域问题。

html如何载入模型_html 3d模型(gltf/obj)载入与渲染方法

要在HTML中载入并渲染3D模型(如GLTF或OBJ格式),通常需要借助JavaScript 3D库,最常用的是 Three.js。它支持多种3D格式的加载、场景构建和WebGL渲染。下面介绍如何在HTML页面中实现GLTF和OBJ模型的载入与显示。

1. 引入Three.js库

Three.js 是一个强大的WebGL封装库,能轻松处理3D渲染。你可以通过CDN快速引入:

<script src="https://cdn.jsdelivr.net/npm/three@0.152.2/build/three.min.js"></script>

对于GLTF模型,还需要GLTF加载器:

<script src="https://cdn.jsdelivr.net/npm/three@0.152.2/examples/js/loaders/GLTFLoader.js"></script>

对于OBJ模型,需要OBJ加载器和MTL材质文件加载器(如果带材质):

立即学习“前端免费学习笔记(深入)”;

<script src="https://cdn.jsdelivr.net/npm/three@0.152.2/examples/js/loaders/OBJLoader.js"></script>
<script src="https://cdn.jsdelivr.net/npm/three@0.152.2/examples/js/loaders/MTLLoader.js"></script>

2. 创建基本HTML结构

创建一个容器用于显示3D场景:

<div style="width: 100%; height: 500px;" id="3d-container"></div>

这个 div 将作为Three.js渲染器的挂载点。

Pptx To Html
Pptx To Html

使用 MinerU 将 PowerPoint (.pptx) 演示文稿转换为 HTML,保留幻灯片内容与结构,生成可直接在网页使用的 HTML格式。

下载

3. 载入GLTF模型

使用 GLTFLoader 加载 .gltf 或 .glb 模型:

const container = document.getElementById('3d-container');
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, container.clientWidth / container.clientHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(container.clientWidth, container.clientHeight);
container.appendChild(renderer.domElement);

const loader = new THREE.GLTFLoader();
loader.load(
  'models/model.gltf', // 替换为你的GLTF路径
  function (gltf) {
    scene.add(gltf.scene);
  },
  function (progress) {
    console.log('Loading model:', (progress.loaded / progress.total * 100) + '%');
  },
  function (error) {
    console.error('Error loading GLTF model', error);
  }
);

camera.position.z = 5;
function animate() {
  requestAnimationFrame(animate);
  renderer.render(scene, camera);
}
animate();

4. 载入OBJ模型(带材质)

若模型是OBJ格式且包含MTL材质文件,需先加载材质,再加载模型:

const mtlLoader = new THREE.MTLLoader();
mtlLoader.load('models/model.mtl', function (materials) {
  materials.preload();
  const objLoader = new THREE.OBJLoader();
  objLoader.setMaterials(materials);
  objLoader.load('models/model.obj', function (object) {
    scene.add(object);
  });
});

确保OBJ和MTL文件路径正确,并托管在服务器上(本地文件需运行HTTP服务)。

5. 添加基础光照和交互(可选)

为了让模型更清晰,添加环境光和点光源:

const ambientLight = new THREE.AmbientLight(0xffffff, 0.5);
scene.add(ambientLight);
const directionalLight = new THREE.DirectionalLight(0xffffff, 1);
directionalLight.position.set(1, 1, 1);
scene.add(directionalLight);

启用轨道控制以支持鼠标旋转缩放:

<script src="https://cdn.jsdelivr.net/npm/three@0.152.2/examples/js/controls/OrbitControls.js"></script>

const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.update();

基本上就这些。只要配置好路径、引入对应加载器,就能在网页中展示3D模型。注意:浏览器安全策略要求使用HTTP服务器访问文件,直接打开本地HTML可能无法加载模型。

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

889

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2420

2023.10.25

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

1938

2023.09.20

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

3836

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1215

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1558

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

9303

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

860

2023.09.01

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

80

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 211人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 3.3万人学习

React中文开发手册
React中文开发手册

共0课时 | 1人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn