threejs加载glb 跨域 小记

threejs 读取 oss 路径的glb 文件 一直报跨域错误

解决方案:
上传到oss 的时候 给 Header 添加 2条属性

     objectMetadata.setHeader("Access-Control-Allow-Origin","*");
     objectMetadata.setHeader("Access-Control-Allow-Credentials","true");
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
three.js是一款用于创建和渲染3D图形的JavaScript库。要加载.glb文件(即包含3D模型和相关材质的文件),我们可以使用three.js提供的GLTFLoader加载器。 首先,我们需要在项目中引入three.js库以及GLTFLoader。通过在HTML文件中添加以下脚本标签,可以引入这两个资源: ``` <script src="https://threejs.org/build/three.js"></script> <script src="https://threejs.org/examples/js/loaders/GLTFLoader.js"></script> ``` 接下来,我们可以在项目中创建一个canvas元素,用于显示3D场景: ``` <canvas id="canvas"></canvas> ``` 然后,我们可以在JavaScript代码中使用以下方法来加载.glb文件并创建一个3D场景: ```javascript // 创建场景 const scene = new THREE.Scene(); // 创建相机 const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000); camera.position.z = 5; // 创建渲染器 const renderer = new THREE.WebGLRenderer({canvas: document.getElementById("canvas")}); renderer.setSize(window.innerWidth, window.innerHeight); // 创建光源 const ambientLight = new THREE.AmbientLight(0xffffff); scene.add(ambientLight); // 使用GLTFLoader加载.glb文件 const loader = new THREE.GLTFLoader(); loader.load( 'path/to/model.glb', function (gltf) { scene.add(gltf.scene); }, undefined, function (error) { console.error(error); } ); // 创建动画循环 function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); } animate(); ``` 在上述代码中,我们首先创建了一个场景、相机和渲染器。然后,我们创建了一个环境光源,并使用GLTFLoader加载.glb文件。加载成功后,我们将模型添加到场景中。最后,我们创建一个动画循环,来实时渲染场景。 需要注意的是,你需要将路径`'path/to/model.glb'`替换为你实际的.glb文件路径。 通过上述步骤,你就可以使用three.js加载和展示.glb文件了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饭酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值