问题标签 [skeletal-animation]
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.
android - 在 android 上渲染骨骼动画 FBX 3d 模型
我正在开发一个需要在应用程序上加载动画 fbx 模型的 android 本机项目,有没有办法实现这一点。
c++ - MD5动画和游戏循环
我已经使用骨骼动画实现了加载 MD5 模型,并且效果很好。现在我正在尝试增强游戏循环以流畅地播放所有内容并正确计时。我读到了不同的游戏循环,然后实现了我读到的最好的一个,它具有以下场景:
我实现了 CPU 骨骼动画,因此每帧更新所有顶点和法线。该updateGame(dt)
方法根据骨架动画更新网格顶点,它应该花费一些时间并将其添加到更新顶点的动画时间。我的游戏循环实现中有一些问题,导致不同设备上的更新率不同。我在 Android 上使用 OpenGL 和 C++。
opengl - OpenGL - 骨骼动画 - 骨骼围绕原点旋转
我正在关注 Youtube ( https://www.youtube.com/watch?v=f3Cr8Yx3GGA ) 上关于骨骼动画的系列教程,但遇到了一个问题 - 一切正常,除非我旋转其中一个骨骼(或“关节”),它们围绕场景原点旋转,这意味着它们不会停留在原地而是被平移。下图说明了问题:
我怎样才能使翻译不会发生?我现在已经多次阅读教程系列,但无法确定哪个步骤可以防止这种情况发生。
代码很大,分成十几个文件,我不知道哪个部分可能导致问题,所以我认为在这里发布它没有太大意义(它应该与代码中的代码相似)教程,即使我在他使用 Java 时使用 C++。教程代码可以在这里找到:https ://github.com/TheThinMatrix/OpenGL-Animation )。如果您甚至可以就骨骼动画中通常如何解决此问题提供一般性建议,那么我希望至少可以确定错误的部分并尝试从那里移开。
c++ - 如何在 CGAL 中迭代中观骨架?
我正在尝试使用 Meso_skeleton 类从 CGAL 的骨架化工具中获取中间骨架。
问题是我想迭代它的顶点和面,但我不明白迭代器是什么类,所以我得到编译错误(关键字 auto 似乎在迭代器中不起作用,给出编译错误因为编译器不能干扰类型)。
此外,CGAL 文档似乎缺少有关如何使用 Meso_skeleton 类的信息,所以如果有人知道我可以找到其他信息的地方会很棒。
我试图运行的代码是这样的:
此代码的目的是从 CGAL 的骨架化工具 (mean_curvature_flow_skeleton) 的中间步骤导出 meso_skeleton 的顶点和面。让我知道是否可以编写一个更好的解决方案(也许有一些我忽略的 CGAL 功能)。
谢谢
opengl - 计算骨骼动画的最终骨骼变换
我有一个简单的模型,我在搅拌机中制作了一个简单的骨架结构。这是它的外观:
这是搅拌机中的层次结构:
如您所见,它有两根骨头:一根在矩形框的中间(“骨头”),它是完全静止的。另一个从中间点到顶部的骨骼(“Bone.001”)旋转。
我使用 AssImpNet 导入了网格,并从动画节点通道中提取了旋转、缩放和位置键。当我将这些变换应用于网格时,我得到了这个结果(按骨骼重量着色):
动作/动画似乎可以正确播放,所以我相信这部分可以正常工作。现在这是我的理解开始崩溃的地方,但我相信我缺少的关键部分是计算“反向绑定姿势”(我已经看到了一些名称),并将其应用于我的骨骼转换也输入我的着色器。但到目前为止,我还不能准确地找到我需要从 AssImp 的格式中提取的内容,并将它们相乘以获得正确的最终转换。我只找到了关于遍历节点树和从每个父节点“撤消”转换或其他内容的模糊解释。
这是我尝试过的,似乎不起作用:
然后按顺序将它们相乘。
我尝试实现这一点(现在对索引进行硬编码只是为了让事情正常运行),请注意它使用的是 C#/AssImpNet,因此命名约定与 C++/AssImp 有点不同:
GetTransformedFrame 返回一个 Matrix4,它结合了与当前时间相对应的帧的缩放、旋转和位置键,并且它自己给出了您可以在 gif 中看到的结果,其中框为红色/绿色。
所有这一切给我的是一个明显不正确的结果:
所以我的问题是:我对如何计算最终骨骼转换的理解是否错误?如果是这样,正确的做法是什么?
unity3d - Unity 2D 游戏开发 - 无需 Photoshop 即可将 PSD 转换为 PSB
所以 Unity 中有一个功能支持将 PSB 文件导入为 2d 字符:
https://docs.unity3d.com/Packages/com.unity.2d.psdimporter@1.2/manual/index.html
(尽管它只适用于 PSB,但出于某种原因它被称为 PSD 导入器)
所以我在 Krita 中制作了一个简单的火柴人用于我的新游戏,然后我注意到 Krita 不允许我导出为 PSB!不仅如此,即使是 GIMP 也不支持 PSB!
我没有 Photoshop,那么有没有办法在没有 Photoshop 的情况下将我必须的 PSD 转换为 PSB?