首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从cdn THREE.js加载GLTFLoader

如何从cdn THREE.js加载GLTFLoader
EN

Stack Overflow用户
提问于 2020-10-18 12:00:37
回答 1查看 7.7K关注 0票数 8

在弄清楚如何让GLTFLoader在THREE.js中工作时,我遇到了一些问题。我不知道如何使用cdn站点来托管文件。我试着使用网络上的例子链接,但这对我来说并不管用。我在另一篇文章中读到,GLTFLoader文件必须与我正在使用的core THREE文件(r121)的版本相同。

我想我可以转到mrdoob github (不熟悉如何使用github),点击raw file,然后在githack这样的网站上使用这个链接来生成一个cdn链接,并将其作为脚本添加到我的html中,或者将其导入到我的js文件中,但这并不起作用。

如果这是一种方法,那么它就不起作用了。在我输入的代码中:

代码语言:javascript
运行
复制
let loader = new GLTFLoader();  //from the docs

//or

let loader = new THREE.GLTFLoader(); //not from the docs

我得到以下两个错误中的一个:未捕获ReferenceError: GLTFLoader未定义或未捕获TypeError: THREE.GLTFLoader不是构造函数

我已经做了几个小时了,完全不知道该怎么做。

CodePenhttps://codepen.io/jfirestorm44/pen/RwRPJda?editors=0010

如果重要的话,我将遵循以下教程:https://tympanus.net/codrops/2019/10/14/how-to-create-an-interactive-3d-character-with-three-js/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-14 01:59:45

确保您在html文件中导入的three.js和GLRFLoader放在您自己的脚本之前。我喜欢把我自己的脚本放在html文件的最底部。

更新:上面的cdn链接将始终指向最新的GLTFLoader,这可能不是向后兼容的。改用特定的标签:

在您的脚本中,您不需要额外的导入,只需调用加载器即可

代码语言:js
复制
const gltfLoader = new THREE.GLTFLoader();

换句话说,如果您使用上面提供的html导入,则以下代码是多余的。

代码语言:javascript
运行
复制
import * as THREE from "https://cdn.jsdelivr.net/npm/three@0.121.1/build/three.module.js";
import { GLTFLoader } from "https://cdn.jsdelivr.net/npm/three@0.121.1/examples/jsm/loaders/GLTFLoader.js";

工作示例:

index.html

代码语言:javascript
运行
复制
    </head>
    <body>
      <!-- body -->
    </body>

    <script type="text/javascript" src="/static/myscript.js">

我的脚本.js

代码语言:js
复制
const gltfLoader = new THREE.GLTFLoader();
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64409605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档