问题标签 [gltf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
560 浏览

javascript - 如何在三个js中动态设置对象位置

当我尝试使用 gltf 查看器加载我的对象时,该对象出现。这是我使用 GLTF 查看器加载的时候但是当我尝试使用本地服务器加载相同的东西时,该对象没有出现。 当使用本地服务器加载时

在示例文件夹中,我尝试使用加载它的相同命令加载 Duck.gltf,我可以看到该对象。

是否有任何动态方法可以自动设置对象的 x、y 和 z 坐标的位置并查看模型?

索引.html

0 投票
1 回答
2484 浏览

android - .obj 到 .glb 的转换

我想制作一个可以将 .OBJ 文件转换为 .GLB 文件的 Android 应用程序。

我对此进行了相当多的研究,但我还没有找到任何我确信可以在 Android 应用程序中用于 .OBJ 到 .GLB 转换的库。我最初认为 Assimp 库将是最好的选择:http ://cms.assimp.org/index.php 。然而,仔细观察后,.GLB 似乎只被列为导入格式,而不是导出格式:https ://github.com/assimp/assimp所以这大概意味着我可以使用 Assimp 从 .GLB 转换为另一种格式,但不能从另一种格式转换为 .GLB。

对于可能值得研究的替代策略的任何建议,我将不胜感激。肯定有一些解决方案,但我不能立即看到它可能是什么!

0 投票
1 回答
1759 浏览

aframe - 将 glTF 文件中的多个动画剪辑从搅拌机到 a-frame

我已经研究了两天,并尝试了我能想到的一切。如何在 Blender 中制作包含多个剪辑的 glTF 文件?我尝试使用动作编辑器,然后使用来自 Khronos 的最新 Blender glTF 2.0 导出器导出到 glTF2.0。但我只得到一个剪辑。为 a-frame 的 glTF 文件创建单独的动画剪辑的工作流程是什么。

0 投票
1 回答
4534 浏览

javascript - 在three.js中使用THREE.GLTFLoader导入和播放多个动画

从 Blender 中,我使用 gltfExporter 将动画模型(宇宙飞船)和动画相机导出为 .glb,当我将 .glb 文件放入 glTF 查看器(gltf-viewer.donmccurdy.com)时,一切正常,所以我知道问题不在于模型/搅拌机。

问题是当我尝试在我的脚本中播放动画时。我可以让模型完美地制作动画,或者我可以让相机完美地制作动画,但是当我尝试让相机和模型都变得疯狂时。我认为这可能是我对动画混合器缺乏了解?也许我只需要为一个文件使用一个混音器?无论如何,这就是我正在做的简短的事情:

我创建了两个独立的动画混合器,一个用于宇宙飞船,一个用于相机:

我使用 clipAction 播放动画:

在我的循环中,我渲染动画:

他们分开工作,但他们不一起工作。我注意到在 glTF 动画对象中导入的动画数据包括 gltf.animations[0] 下的相机和模型的动画。我的意思是gltf.animations[0]有一个包含项目的tracks数组,6每个项目的位置、四元数和比例。那正确吗?

为方便起见,这里是主 js 文件:

感谢您的任何帮助/想法!

0 投票
1 回答
3322 浏览

three.js - 在 Aframe 中更改 GLTF 材质

我正在尝试使用我在 Sketchfab 上获得的网格在 Aframe 中制作一些火焰。我的问题是火焰网格有阴影而且很暗。我怎样才能改变这个?我尝试设置材料emissiveemissiveIntensity但它不影响结果......

这是Chrome渲染的代码和截图

不那么耀眼的火焰

谢谢 !

0 投票
1 回答
1924 浏览

javascript - 三.js无法读取未定义的属性“中心”

我正在尝试将立方体的 3D 模型加载到3D Force Directed Graphusing GLTFLoaderin 中three.js。该项目是使用Angular.

模型已加载,显示GLTFLoader: 23.507080078125ms但未显示对象。它进一步给出了一个错误显示,

加载模型的代码如下:

Blender导出的cube.gltf文件如下:

我在这里做错了什么?文档上的示例three.js似乎是相同的。

任何帮助深表感谢。

0 投票
1 回答
269 浏览

gltf - 如何从 gltf 解析animations.samplers.input

该规范将animations.samplers.input属性解释为:

包含关键帧输入值(例如时间)的访问器的索引。该访问器必须具有组件类型 FLOAT。这些值以秒为单位表示时间,time[0] >= 0.0,并且值严格递增,即 time[n + 1] > time[n]。

但是,从演示仓库的第一个基本示例动画三角形中,我很难理解这一点

具体来说,如果我们从animation.bin中获取动画的相关二进制数据并将其解码为 a Float32Array,我们会得到以下值列表:

鉴于“严格增加值”,这当然没有意义。

我在这里有什么误解?output为了随着时间的推移更新轮换,这些值是如何使用(与 结合)的?

请注意,animation.bin 是从input采样器引用的视图。换句话说,从gltf

  • 输入 == 访问器 2
  • 访问器 2 == 缓冲区视图 2
  • bufferView 2 == 来自缓冲区 1 的字节(0-100)
  • 缓冲区 1 == 动画.bin
0 投票
1 回答
156 浏览

three.js - 结合动画而不是混合?

我正在将蒙皮网格上的动画从 Blender 中创建的 glTF 导入到 THREE.js 我有两个同步动画会影响骨骼的平移。在 Blender 中,这些翻译是相加的,但在 THREE.js 中,它们是按权重平均的。

例如,动画是 translate(2, 0, 0) 和 translate(4, 0, 0) 如何让 AnimationMixer 产生 (6, 0, 0) 而不是 (3, 0, 0)?

0 投票
2 回答
402 浏览

3d - 在 Vulkan 中深度测试失败的 gltf 2.0 模型加载

我正在使用自定义解析器将示例 gltf 2.0 模型加载到我的 Vulkan 程序中,除了在这个特定的 3d 模型(这是在 gltf 2.0 github 页面上找到的浴鸭模型)之外,一切都加载正常,鸭子的喙似乎是深度测试失败。

鸭子应该是这样的

在此处输入图像描述

但是在我的程序中它看起来像这样 在此处输入图像描述

这是另一个角度的鸭子 在此处输入图像描述

请注意,我还没有应用投影矩阵,我正在反转模型矩阵的 y 分量以及将我的正面设置为逆时针方向

Vulkan 管道初始化

输入到命令缓冲区的变换矩阵

深度资源和渲染通道创建调试消息 在此处输入图像描述

渲染通道创建方法

FrameBuffer 创建方法

0 投票
0 回答
373 浏览

javascript - GLTFLoader 不会将对象设为 1 个网格

我怎样才能使我用 GLTF 加载器加载的对象作为 1 个网格。当我用鼠标(拖放)移动它们时,它们作为单独的对象移动,当我试图在控制台中检查大小时......它一遍又一遍地有 100 行相同大小。