问题标签 [collada]

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 回答
335 浏览

3d - GDF 或 SIF 或 RDF 转换为 obj 或 collada

是否有用于将地理数据文件 ( GDF ) 或标准交换格式 ( SIF ) 或 RDF 转换为 obj 或 collada 的库?

0 投票
1 回答
592 浏览

actionscript-3 - 如何使用 papervision3D 控制 collada 模型的动画?

如何使用 papervision3D 控制 collada 模型动画?为什么我为 papervision3D 找到的一切都是 2008 年或 2009 年过时的?这是图书馆的死亡吗??

0 投票
2 回答
4742 浏览

c++ - COLLADA:反向绑定姿势在错误的空间?

我正在编写自己的 COLLADA 导入器。我已经走了很远,加载网格和材料等。但我在动画方面遇到了障碍,特别是:关节旋转。

我用于为网格蒙皮的公式很简单:

就文献而言,这是正确的公式。现在,COLLADA 为关节指定了两种类型的旋转:局部和全局。您必须将旋转连接在一起以获得关节的局部变换。

COLLADA 文档没有区分关节的局部旋转和关节的全局旋转。但在我见过的大多数模型中,旋转的 id 可以是rotate(全局)或jointOrient(局部)。

当我忽略全局旋转而只使用局部旋转时,我得到了模型的绑定姿势。但是当我将全局旋转添加到关节的局部变换中时,奇怪的事情开始发生。

这是不使用全局旋转:

绑定姿势

这是全局旋转:

奇怪的

在这两个屏幕截图中,我都使用线条来绘制骨架,但在第一个屏幕中它是不可见的,因为关节位于网格内部。在第二个屏幕截图中,顶点到处都是!

为了比较,这是第二个屏幕截图的样子

科拉达查看器

很难看到,但您可以在第二个屏幕截图中看到关节处于正确位置。

但现在奇怪的事情。如果我忽略 COLLADA 指定的反向绑定姿势,而是取关节的父局部变换乘以关节的局部变换的倒数,我得到以下结果:

在此处输入图像描述

在这个屏幕截图中,我从每个顶点到有影响的关节画了一条线。我得到绑定姿势的事实并不奇怪,因为现在公式变成了:

但这让我怀疑 COLLADA 的反向绑定姿势在错误的空间中。

所以我的问题是:COLLADA 在什么空间指定它的反向绑定姿势?以及如何将反向绑定姿势转换为我需要的空间?

0 投票
1 回答
1432 浏览

qt - 如何在 Qt 应用程序中查看 Collada 网格?

如何创建一个小的 3D 视口并在那里显示 Collada 网格?此外,网格具有纹理,用户希望使用鼠标旋转和放大/缩小。

0 投票
1 回答
351 浏览

c++ - ColladaDOM 加载程序调试断言错误,在字符串上?

此函数将在结束第一次循环后运行运行调试断言失败。循环将正确运行,它将进入最后一个 if 语句并正确设置所有值。但是,当传递完成并开始下一次传递之前,它将调试我的断言失败。我认为它正在尝试破坏字符串类型变量,但是当它尝试删除它时,某些东西正在破坏。我不知道问题是什么。它似乎在我的程序的其他部分执行此操作,这些部分从文件中获取字符串并放置在 std::string 中。我通过完全删除它们来修复它们,但是这个不能删除它需要存在。

不知道这是否与它有关,但我正在使用 Visual Studio 11 开发预览,并使用编译器 vs100(vs10 的编译器)设置。

dbgheap.c 行:1322

表达式:_CrtISValidHeapPointer(pUserData)

同样,当我使用调试器时,该函数中的任何变量都不会在错误发生后出现。

0 投票
1 回答
763 浏览

python - 服务器端 COLLADA 转换器

我正在构建一个 Web 表单,以适应将 .obj 和 .fbx 3D 模型上传到站点的用户。我们需要一个服务器端解决方案来将这些文件转换为 Collada (dae)。

如果有人能指出我正确的方向,那将非常有帮助,因为我对可能的解决方案还没有可靠的想法。在我走上一条路之前,我想听听其他人的想法。

我只能想到上传期间由 PHP 触发的 python/perl 脚本?

提前谢谢了,

0 投票
1 回答
479 浏览

c# - 在网格加载和处理期间如何转换蒙皮网格?

我创建了自己的蒙皮网格加载器。它工作正常,但我的问题是我不知道如何变换(缩放和旋转)蒙皮网格,以便将变换“​​烘焙”到顶点上。如果它只是一个几何体,那么变换顶点是小菜一碟,但是现在涉及到蒙皮信息,例如,如果我做一个缩放,我的网格就会被拉伸。我知道我也需要转换我的蒙皮数据,但是哪些部分呢?所有的绑定姿势矩阵?反向绑定姿势矩阵?我似乎无法理解如何去做。

我的实现是在 C# & OpenTK 中,我专门加载从 Blender 2.6 导出的 Skinned Collada 文件。

提前致谢。

0 投票
1 回答
8793 浏览

collada - 加载 Collada (dae) 模型时如何在 THREE.js 中设置材质?

加载 Collada (dae) 模型时如何在 THREE.js 中设置材质?

我有以下代码:

谢谢你的帮助。

0 投票
1 回答
1186 浏览

google-earth - 从本地磁盘获取 .kmz 文件并通过 API 将它们导入 Google 地球

我需要将纽约市每座建筑物的 3D 模型导入 Google Earth API。我使用 google.earth.fetchKml 获取了他们的 .kmz 文件。由于此命令使用 kmz 文件的 URL,并且要导入的文件数量很多,因此速度非常慢。

有什么方法可以从本地磁盘获取这些文件?

我可以使用其他格式来代替 .kmz 吗?例如 .dae 文件?

0 投票
1 回答
1545 浏览

render - 似乎无法制作功能齐全的 THREE.js collada 加载器

我在获取没有内置相机或照明的定制 collada 对象时遇到问题。我或多或少地复制了我在一些 collada 示例中看到的内容来创建自己的加载程序,如下所示:

init 函数相当基本,看起来像这样

是我要渲染的实际对象。我还尝试使用示例文件夹中的 monster.dae 文件,但没有成功。Chrome javascript 控制台没有显示任何错误,所以我不太确定在哪里查看我的代码。这一切都类似于功能示例,所以我不确定为什么它不起作用。有什么我不知道的与 collada 加载有关吗?