Three.js: 加载Mixamo动画动画

创建于 2015-02-11  ·  67评论  ·  资料来源: mrdoob/three.js

嘿,我用mixamo植入角色并设置动画效果...然后我通过FBX将它们导入搅拌器中...我然后用您的导出器将它们导出到js(尝试了每个导出器...每个)。

结果在这里:
http://instagram.com/p/y8NQjQkk9-/?modal=true

它总是看起来像这样扭曲,我似乎无法理解它。它总是双手...是因为骨头的数量。 mixamo年满16岁。 以及示例中的marine_anim超过50。

请三天后在我的智慧终结之际,帮助一个兄弟。

Question

最有用的评论

另外,您也可以从Mixamo导出为FBX,然后使用FBXLoader直接加载。
从最新版本(R89)开始,它应该可以非常流畅地工作。

所有67条评论

合并此PR之后, https://github.com/mrdoob/three.js/pull/6052被合并,我建议尝试从dev分支导出。 对于POSEREST它有2个不同的姿势位置选项。 将电枢设置为一个或另一个,然后在导出期间确保Skeletal animation属性匹配。 尝试两者,看看是否有帮助。 对于某些人来说, POSE有效,而对于其他人来说,则是REST

嗯,所以使用骨骼动画休息和姿势模式导出...

这是我的文件http://we.tl/CNM5qEmBMs
包括原始结局和两者的出口...

休息模式=完全不动
姿势模式=怪异的变形

你说“它为POSE和REST提供2个不同的姿势位置选项。将您的电枢设置为一个或另一个” ...我不知道如何将我的电枢设置为姿势或休息...我只想将搅拌器用作从mixamo到threejs的翻译...对不起,如果我的问题是对noob

您是说对象的编辑模式是姿势还是编辑模式?

确定姿势模式-相同的变形
编辑模式下出现以下错误日志:

error

无法重新创建此错误,但我注意到,通过查看回溯中的行号,您可能不在dev的同一(最新)版本上。 另外,请确保您没有对该资产进行Scene出口。 现在就执行单个几何图形导出(因为ObjectLoader尚不适用于蒙皮网格物体)。

就坏动画而言; 我可以重新创建损坏的动画和丢失的动画问题。 有人在使用动画导出器(例如https://github.com/mrdoob/three.js/issues/5582#issuecomment-73444737),所以我怀疑FBX导入过程存在一些问题。 很难确定它是导出器还是FBX导入。 我想知道是否需要将变换应​​用于骨骼,但是我还不知道。

嘿男人非常感谢您的时间和见识!

您可能不在dev中的同一(最新)版本上。

我认为即时通讯正在使用最新版本,因为我可以选择姿势和休息位置:
“动画选项现在是一个枚举,要求用户在POSE和REST之间进行选择”

因为ObjectLoader尚不适用于蒙皮网格

从我的经验来看,它并没有困扰...我用objectloader将几何图形和场景加载到threejs中。 使用Objectloader创建以下错误,其结果与以前的Geometrie导出结果相同。
newerror

我可以重新创建损坏的动画和丢失的动画问题。

如果您无法重现该问题,那将非常有趣...
因此,您是否看到将模型导出到threejs的任何可能性?

总的来说,它很有趣,因为它是mixamo的模型输出。 如果此模型有效-每个mixamo模型都将起作用。 (理论上 ;))

无论如何要研究它。

在当前版本的Blender中,只有几何体并且没有场景导出,我进入了姿势模式:

poseterror

并在休息模式下

resterror

如果我导出孔场景,则只能导出几何

好吧,我想我找到了它。。。它在几何的顶点和动画的骨骼之间的引用中存在错误。。。

像这样手动缩放并向骨架旋转网格之后

for (var i = 0; i < geometry.children[0].geometry.vertices.length; i++) {
                vector = geometry.children[0].geometry.vertices[i];
                var axis = new THREE.Vector3(0, 1, 0);
                var angle = Math.PI / 2;
                geometry.children[0].geometry.vertices[i].applyAxisAngle(axis, angle);
                geometry.children[0].geometry.vertices[i].multiplyScalar(0.01);
 }

我得到了相当好的结果。

所以首先-为什么我需要旋转网格...我记得在导入mixamo时必须将模型精确旋转90度...其原因是-z定向
为什么要缩放? 没有线索...

现在出现了我的模型没有完美TPos的越野车问题...手臂被压低了...我在mixamo中操纵了它,之后仍然很完美...我在搅拌器中看到了...它非常适合...在max中看到它也是完美的。
然后,导出到Threejs,骨骼和身体之间的映射将恢复为max中最初创建的身体。

tpose

因此,在转换矩阵中引用顶点和骨骼时存在数学错误。

我想知道它实际上是一个错误还是一个可选功能。 这很可能会解决您遇到的问题,但会为其他不需要导入FBX资产的人中断导出(这是我以前使用POSE和REST动画所见的)。 使用的(用于骨骼和顶点的)逻辑已经存在了一段时间(从旧的导出器复制),我并不是说它是完美的或没有缺陷,但是如果这是数学上的错误,我想我们会看到的更多问题。 必须将您的代码示例应用于导出器,然后在大量测试用例上运行大量测试(这不是我所需要的)。

我曾在生产中看到过类似的问题,其中资产正在通过多个程序和出口商进行多次行程。 将方程式中的轴重新定向添加到该方程式中,便可以得到可验证的恶作剧配方。 如果我能弄清楚如何将其实现到导出器中,则只有在更加确定它确实适用于所有用户而不是极端情况的情况下,才是一个选择。

在当前版本的Blender中,只有几何体并且没有场景导出,我进入了姿势模式:

该错误专门显示“不是有效的网格对象”。 几何导出基于选择,您很可能已选择了电枢而不是网格。

嘿男人再次感谢您的调查。
我不想说我的代码应该进入出口商。 我想指出的是:在从max到mixamo到Blender的整个链中,一切都按照应有的方式分配。 一旦达到threeJs,就会发生简单的转换偏移(在我的情况下是腐烂和缩放),这会导致错误..此转换与曾经创建的原始网格(无论在哪里)相对应,并且在Blender中被忽略和mixamo ...但在出口过程中恢复了活力。

不幸的是,我不得不承认我不是矩阵魔术师-否则,我很想伸出援手,因为你们正在努力工作。 感谢您的见解。

我从未使用过mixamo。 它使用Y向上吗? 我不知道发生了什么事,如果maximo是Y-up,那么FBX导入将不得不将资产重新定向为Z-up,然后出口商再次将Y-up重定向为three 。 不知道资产的转换是否需要在导入时在Blender中应用,然后才能正确导出到three

在多次迭代之后,将钻机从一种平台/格式转换为另一种平台/格式变得很难。 即使在我曾经使用过的一些最先进的管道和工具中,对可操纵资产的处理也总是受到限制。 可能有一种对您和所有人都适用的解决方案,但是肯定还不清楚。

我不想说我的代码应该进入出口商。

而且我通常是指试图将轴角应用于顶点位置的东西。

vector = geometry.children[0].geometry.vertices[i];
var axis = new THREE.Vector3(0, 1, 0);
var angle = Math.PI / 2;
geometry.children[0].geometry.vertices[i].applyAxisAngle(axis, angle); <-- would need something like this as well

但是我也有一点儿把握,也许这是在试图使出口商处理太多的变量

您是否已对模型和搅拌器文件中的电枢应用了可能已进行的旋转? 您知道在对象模式下使用Ctrl + A>旋转和缩放。 因为没有这样做,我已经看到了非常相似的事情。 @princemio

我的网格物体不断变形,或者出现错误,并且无法导出多个动画。 切换回r69导出器,即使在Blender 2.73a中也似乎工作良好

@请等待...实际上我没有...但是也许从mixamo到搅拌器...
@kimasendorf您是否尝试过在Threejs中手动重新创建网格?

网格是在Blender中建模的。 尽管它是一个低多边形字符,但在threejs中手动重新创建网格肯定很复杂。 那有什么帮助?

在我的情况下,网格和骨骼彼此不对齐...因此模型弯曲会试图拟合骨骼...如果您没有骨骼,则这与它没有任何关系...

顺便说一句...我的意思不是“重新创建”大声笑...抱歉,我试图编写“重新对齐”模型...

到目前为止,我尝试过的所有更复杂的骨骼都遇到了类似的问题。 包括three.js存储库中包含的,示例中包含的Marine。 这是我使用姿势开关得到的结果:

海军陆战队员的姿势:
https://antont.github.io/three.js/examples/webgl_animation_skinning.html

该出口在:
https://github.com/antont/three.js/blob/blenderexport_buggy_marineskinning/examples/models/skinned/marine/marine_anims-pose.json

导出程序测试的最小示例有效。 使用那里的姿势模式时,骨架助手与模型匹配。

接下来,我将尝试从已经解决其他问题(#4660)的这些技巧中(一些)技巧:

  1. 您要导出的每个骨骼上都将需要关键帧。
  2. 网格必须在T姿势中。 有两种方法可以做到这一点: 进行T型姿势动作。 此动作需要一个框架,其中所有骨骼均已清除变形。 选择导出器时,这应该是当前帧。 b。 在导出之前,立即从网格中删除“骨架”修改器。 导出文件后,撤消上一个操作以恢复修改器。

和:

我只有在保留“衔铁”修改器但禁用顶点组和骨骼包络(然后在导出后重新启用)的情况下才能工作。 就我而言,删除修饰符无济于事。

也许还:

您是否已对模型和搅拌器文件中的电枢应用了可能已进行的旋转? 您知道在对象模式下使用Ctrl + A>旋转和缩放。

如果有人击败我,从该示例混合中获取有效的输出并告诉您需要什么,..非常感谢! :)正在使用此混合: https :

好的,现在可以正常工作了,更新了https://antont.github.io/three.js/examples/webgl_animation_skinning.html (如果以前看到过错误的版本,请确保不要立即从缓存中获取它)

来回尝试了很多事情,检查了所有骨骼的键控,其余的和姿势选项,等等。但是最后似乎只是当我有apply modifiers时才得到了怪异的变形。 这是有道理的,因为然后在导出时将电枢修改器应用于基本几何图形,然后在three.js中由skel动画进一步变形。

因此,可以使用以下新的导出程序对未修改的海洋混合物进行有效的导出: https :

我认为它只有动画之一,接下来需要弄清楚如何使用新的导出来导出所有动画。

使用的选项的屏幕截图:
threejs-skelexport-marineoptions

@antont感谢您对此进行研究!

来自realxtend /切萨皮克湾的鹿也可以使用:)

相同的选择。

演示: https :
导出: https :
来源: https :

我为Three.js设置了一个Slack团队频道,主要用于处理动画问题,但是它可以用于任何与三个相关的内容。 这是一个私人团队频道,因此人们只能通过邀请才能加入。 我在寻找:

  • 认识Python的人
  • 对Blender中的索具有深刻理解的人
  • 有动画经验的人愿意分享场景

这不是一个精英主义者的事情。 我的时间有限,没有足够的带宽来教某人Python或Blender,因此,如果这看起来不是新手友好(这就是IRC的目的),我深表歉意。 这是针对那些实际上想在屁股上捏一下并拥有一些有用技能的人的。 IRC令我烦恼,甚至github线程也不是我最喜欢的协作场所。 一直在与其他团体一起使用Slack,这很棒。

给我发送电子邮件(也请注意您的github句柄)以发出邀请
ed [dot] caspersen [at] gmail [dot] com

我认为最新的Blender API的更改破坏了导出器用来选择网格上动作的方法。

我看到的行为(尚未完全确认)是出口商正在出口:

  1. 在作为选定网格的父级的骨架上选择的动作...
  2. 尝试导出其他未选择的动画,并尝试在骨架上设置动画时失败,以逐步浏览动作关键帧。 结果是将第1步中的动画以不同的动作名称重复导出...但是持续时间似乎在不同的动作之间是正确的。

我认为Blender的最近更改现在要求将电枢作为3d视图中的实际选定对象,以便动作更改才能真正生效。

可以通过更改导出器来要求选择要导出的骨架而不是网格来解决此问题,并且在脚本中执行的动作更改可以起作用。

让我知道您是否需要有关Blender Exporter的更多帮助。.我在2.6之前的脚本中有不错的背景。

另一个问题是,我必须在脚本参数和骨架中同时选择“休息”的正确组合。 好像很脆

另一个问题是“应用修饰符” ...
据我所知,在正常情况下,如果导出蒙皮网格物体,则绝不会出现这种情况,应将其默认设置为关闭,或使用单独的切换开关来排除蒙皮网格物体。
应用修改器,可使电枢将网格转换为当前设置为的任何框架。
这样可以软管化网格的绑定,并演示该线程其他地方显示的问题。

很高兴找到一种简化这些步骤的方法。

我只是进行了一些测试,并确认导出器正在为导出的每个动画导出相同动画的帧。

因此,由于我在选择“走”动作的情况下导出了网格物体,所以...
文件中的所有动画都是“行走”动画的副本,具有不同的名称和不同的长度。

我惊讶的是,如果您的动作中包含的帧比文件中的其他动画更多,那么导出器并没有完全崩溃。

此错误的简要描述:

所有导出的动画关键帧都是所选动画的关键帧,而不是它们自己的关键帧。

我发现至少有部分解决方案...

在“ io_three \ exporter \ api \ animation.py”中

在“ parse_pose_action”的开头(第183行附近)

插入:

context.scene.objects.active = armature

进行此更改后,我现在导出了独特的动画...

嗨,感谢您的反馈和修复。 我进行了建议的更改,并使用“姿势”和“应用修饰符” = off导出,效果很好!
谢谢

context.scene.objects.active =电枢

期待尝试。

我遇到了同样的问题:

https://github.com/mrdoob/three.js/issues/7165

变通为我工作,很高兴我可以实际制作多个动画。 感谢那!

大! 很高兴我能帮助你!

我将其他一些可能是这种现象的错误链接到了该线程。

@manthrax (已部分修复)对我导出“骨骼动画:姿势”并在骨架修改器中取消选择“渲染期间使用修改器”非常有效。
image

具有3种动画的角色演示> http://unboring.net/lab/6326/hero_72/

您认为使用“ Rest模式”正确导出和运行动画是否可能/容易?
因为在这种情况下,导出器只写关键帧而不是每帧,而json文件从873kb变为174kb

发送了一些Slack邀请。 不知道明天会有什么时间,但是星期天应该有几个小时。

@arturitu我可以调查一下... rest_mode姿势现在不正确的行为是什么?
看起来像是同样的问题吗?

@repsac

对于大型动画,当前在我的计算机上导出需要很长时间...

事实证明,绝大多数时间是由于垃圾邮件...

并且仅关闭记录器可能无法解决此问题。 我过去在python脚本中遇到过这个问题...即使禁用了日志记录输出,字符串构造仍会在日志记录语句中进行。
该脚本将需要重新编写以执行类似“ if(logging)log.debug(“ blah”);“的操作。 在所有日志记录语句上,以免引起格式化所有消息的开销。

只需注释掉我在动画/关键帧导出中看到的日志消息,就可以将导出时间从2分钟缩短到5秒左右。

@arturitu我尝试了rest_pose导出...我确实得到了一个较小的文件,但是在尝试播放时骨骼绑定被搞砸了...有什么想法吗?

我正在测试绑定到不同网格的海洋混合文件...

image

骨骼动画:休息

image

骨骼动画:姿势

@manthrax我认为在Rest中JSON的骨骼部分存在问题,因为其中很多骨骼都有很多“父”:null,而在Pose中骨骼具有正确的父级值。 骨头的数量也有所不同(在我的情况下,Pose中为38,其余为28)

但是我不知道是否需要其他种类的BlendCharacter.js来显示正确的动画

该脚本将需要重新编写以执行类似“ if(logging)log.debug(“ blah”);“的操作。 在所有日志记录语句上,以免引起格式化所有消息的开销。

可能不是,这可能是在日志记录模块本身中可解决的。 现在看

另一个问题是,我必须在脚本参数和骨架中同时选择“休息”的正确组合。 好像很脆

是的,我过去曾尝试解决此问题。 有带注释的部分

armature.data.pose_position =

遍。 在Blender的外壳中尝试时,它可以工作,但在导出期间不起作用。 我没有在最新的Blender版本中尝试过,所以也许这是固定的(直到再次损坏)。

进行此更改后,我现在导出了独特的动画...

接得好。 Blender所需要的上下文意识有时含糊其词,以至于令人发狂。

禁用日志很容易。 由于三人的仓库太血腥了,所以我创建了一个临时仓库,该仓库仅与出口商有关,因此最终所有内容都会重新合并。
https://github.com/repsac/io_three

据我所知,在正常情况下,如果导出蒙皮网格物体,则绝不会出现这种情况,应将其默认设置为关闭,或使用单独的切换开关来排除蒙皮网格物体。

如果无法确定为什么要保留它,那么如果启用了动画,我会选择将其设置为False 。 唯一的问题可能是场景导出,如果场景导出仍应支持动画,那么我将处于困境。 Blender如何处理引擎盖下的问题使它看起来非常脆弱。

@repsac只是想说..出口商很棒。 我希望我的评论都不会受到批评...我过去写过更多原始的搅拌器出口商..但在此范围内没有任何内容,因此可以说这是一个很大的成就。

关于日志记录:我仍然不确定如何仅通过禁用日志记录框架中的输出来消除日志消息格式设置的开销,但是也许我不了解该框架的细微差别。

据我所知,任何形式为“ someLoggingFunction(“ formatted text:xyz”)“的日志记录都将导致消息的文本转换/格式化,即使该函数内部未发出文本也是如此

对于零开销日志记录,事情必须采取“ Logger.log(function(){return SomeFormattedText;})的形式,其中仅在启用日志记录的情况下才调用传入的函数。

。 在一种真正经过编译和优化的语言中,编译器可能能够检测到该函数是no-op并跳过格式化调用,但是即使那样,格式化调用可能会对程序的其余部分产生副作用,因此通常仍将包括在内。

回复:场景导出支持动画...
我同意,在短期内,走到那条路可能还为时过早,但是,如果我们到了可行的地步,那么。。。。。。。。。。。。。。。所见即所得的Three.js风车将旋转...河流和瀑布可以UV动画..平台可以飞来飞去..全部都无需编写任何代码。 有一天...:D

据我所知,任何形式为“ someLoggingFunction(“ formatted text:xyz”)“的日志记录都将导致消息的文本转换/格式化,即使该函数内部未发出文本也是如此

那么,任何日志记录调用都应采用以下格式:

logger.info("foo bar %s", arg)

因此,直到日志记录API在后台传递*args ,字符串才会格式化。 我将记录逻辑更改为

https://github.com/repsac/io_three/blob/master/addons/io_three/exporter/__init__.py

        level = options.get(constants.LOGGING, constants.DISABLED)
        version = options.get('addon_version')
        if level != constants.DISABLED:
            logger.init('io_three.export.log', level=level)

https://github.com/repsac/io_three/blob/master/addons/io_three/logger.py

def _logger(func):

    def inner(*args):
        if LOGGER is not None:
            func(*args)

    return inner


<strong i="18">@_logger</strong>
def info(*args):
    LOGGER.info(*args)


<strong i="19">@_logger</strong>
def debug(*args):
    LOGGER.debug(*args)


<strong i="20">@_logger</strong>
def warning(*args):
    LOGGER.warning(*args)


<strong i="21">@_logger</strong>
def error(*args):
    LOGGER.error(*args)


<strong i="22">@_logger</strong>
def critical(*args):
    LOGGER.critical(*args)

不应格式化任何消息。 我没有任何大型场景,因此我无法对此进行测试,但从理论上讲应该如此,如果不是这样,那就成为我讨厌编程的原因#4576。

我希望我的所有评论都不会成为批评

几乎没有,在旧金山(包括硅谷)充满兄弟语法的科技公司和VFX行业之间,我在采访中对我说waaaaaaay更糟。

当前遍历整个线程,并尝试将要具体完成的事项汇总在一起。 当我有东西时将其张贴,以便您查看它是否关闭。

太好了! 看起来您已经记录了日志。 我的python有点难以理解您的解决方案的细微差别。

小世界,我也在SF中!

非常酷...就我可以从该线程中收集到的信息而言,主要是单行修复,然后解决了“休息”模式的歧义...我仍然不确定用例休息模式有什么用..如果您知道一个,我将不胜感激。

我必须仔细研究所有旧问题才能为您提供特定的链接,但是为了快速响应,这里是一个细分:

  • 在r66左右,有一个提交将导出从使用REST更改为使用POSE模式
  • 大约在这个时候我开始了自己的导出器版本,现在我们正在谈论它,并且我的原始逻辑基于REST逻辑。
  • 在r70矿山是替代出口商,也就是当所有地狱崩溃了
  • 我用POSE支持替换了逻辑,然后破坏了对其他用户的导出
  • 我无法理解到底发生了什么,所以我实现了2之间的切换

到目前为止,似乎有两个要解决的问题:

1)在电枢上设置活动上下文

context.scene.objects.active = armature

2)不要将修改器应用于蒙皮网格

我将再次测试自动姿势切换。 有人曾经说过,他们是从另一个脚本中找出来的,但是这种秘密的调味料并没有使它进入出口商。

@manthrax可以结帐我的分支,看看是否对您
https://github.com/repsac/three.js/tree/anim_fix

只要您的第一个关键帧的骨架配置与您的网格完全相同,这对于在姿势模式下的动画效果很好。 如果尝试在位姿模式中添加任何位置/旋转/缩放变换,并将其指定为第一个关键帧,则模型将变形。

我也遇到了REST / POSE问题(最新的dev-branch)。 该模型具有40多个骨骼和7个动作。 POSE工作正常,但导出的文件很大。 REST完全扭曲了动画。

该问题似乎位于导出的_skinIndices_数组中。 无论是在POSE还是REST模式下,_skinIndices_数组都是相同的,但是导出的_bones_数组中的顺序和索引完全不同。 我认为这是因为__rest_bones()_使用_armature.data.bones_来索引骨骼,而__pose_bones_使用_armature.pose.bones_(api / mesh.py)。 以后__skinning_data()_始终使用_armature.pose.bones_,而不管REST / POSE设置如何。 快速测试似乎证实了这一点。 在__skinning_data()_中使用_armature.data.bones_可以在REST模式下正确导出我的模型和动画。

我不太了解three.js来回答此问题并提交修复程序,但是_skinIndices_或_bones_的顺序实际上哪个是错误的? REST中的_bones_的顺序似乎与Blender顶点组的索引相同,这可能是一件好事。

您好,这个问题尚未结束,现在还没有结论吗? 因此,我在这个问题上还有一个担忧:是否有人同时播放2个动画? 我的试用没有用,但是我不确定3D对象的质量。 另一方面,从上面我读到的内容来看,我想知道这是否真的可能?

解决问题:搅拌机出口商是否允许NLA?

@Derived是最新的three.js中的多个动画混合和播放工作

通常仅对骨骼AFAIK支持Nla

您好,感谢您的反馈。 是的,我可以运行多个动画,并且这些动画有“融合”; 我使用v71,但使用了更新的Blender Exporter版本(如上所述)。 但是,让我更好地解释一下我的观察:

我的模型有2个装配好的动画:(A1)抬起臂和(A2)左转。

1)播放(A1)“举起手臂”,然后在动画的中途停止(手臂在中途)
2)播放(A2)“向左转” =>向左转,但手臂会返回初始位置,而不是停留在原处。
3)最后,如果我一起玩2,头向左转,手臂抬起,但不像他们应该做的那样,而是(A1)(抬起)和(A2)(不要移动手臂)与不动骨骼的影响的混合(A1)的移动到(A2)的相对移动。
因此,我查看了json文件,可以看到动画描述了每个动画中所有骨骼的骨骼位置。 因此,对于(A2)“向左转”,动画包括手臂的骨骼位置,它们只是不变(右,A2,它们在A2中不移动)。 但是three.js如何猜测这些骨骼位置不重要并且不应该影响(A1)的运行?
希望这个例子是可以理解的。

我对此一无所知

这是我在搅拌机中装配的网格:

blender-cycle

这是在threejs中:

three-cycle

仅出口一项就花了2天。 最新的搅拌器,最新的三个。 出口商的当前状态是什么?

@DelvarWorld我认为您需要在DEV分支上使用Blender导出器才能正常工作。

@arturitu我是:(

@DelvarWorld

出口商的当前状态是什么?

我认为这

repsac由mrdoob于2015年12月30日未分配

可能是问题所在。 它显然需要一些爱。

我可能会继续寻找最近报告的各种错误。 您可以共享一个文件来重现此问题(越简单越好)?

为了方便起见,我也将其发布在这里。 我尝试导出测试模型表单@DelvarWorld ,并在#8412中发布了评论和屏幕截图。

@phfatmonkey
https://github.com/mrdoob/three.js/pull/8412#issuecomment -210675561这个吗?

解决所有这些问题的出色工作:+1 :!

完成修补程序后,您是否介意打开一个新票证,其中包含对其余,新创建或发现的出口商问题的描述或链接?

在现有票证上张贴某些东西时,要跟踪它们非常困难。

理想情况下,每个案例一个(如果尚不存在)和一个大师“ Blender Exporter Issues”(或类似的东西)引用它们。

我能记住的是

  • 法线缺乏旋转(固定)
  • 导出场景层次时出现动画问题。 现在可以用吗?
  • 然后您的帖子中提到了休息姿势问题
  • 然后是外观/关键帧问题(错误消息?)
  • ...(我想还有更多)

当然! 好主意啊。 这个周末我会尽力去做的,
否则在星期一我回到办公室时。
在2016年4月15日下午5:12,“ tschw” [email protected]写道:

@phfatmonkey https://github.com/phfatmonkey

8412(评论)

https://github.com/mrdoob/three.js/pull/8412#issuecomment -210675561
这个?

解决所有这些问题的出色工作[image::+1:]!

修补完毕后,您介意打开一张新票吗?
其余,新创建或发现的描述或链接
出口商的问题?

在发布时很难跟踪内容
现有票证上的某处。

理想情况下,每个案例一个(如果尚不存在)和一个大师“ Blender Exporter”
问题”(或类似的东西)都引用了它们。

我能记住的是

  • 法线缺乏旋转(固定)
  • 导出场景层次时出现动画问题。 现在可以用吗?
  • 然后您的帖子中提到了休息姿势问题
  • 然后是外观/关键帧问题(错误消息?)
  • ...


您收到此邮件是因为有人提到您。
直接回复此电子邮件或在GitHub上查看
https://github.com/mrdoob/three.js/issues/6050#issuecomment -210693332

可以在Blender中完成的非线性动画编辑又如何呢? 没有人对此问题感兴趣吗? 我在较早的消息中解释了这一点,但没有发表评论?

@derivou
哪个讯息?

当需要自定义代码时,将不得不编写它。 可能会有所贡献...

在上面的日期为2月5日的消息中,我解释了组合多个动画时的问题。
我很乐于帮助发展,但我认为这首先需要进行一些讨论,以分享想法并讨论如何实施。 因此,我打开了一个建议项目“非线性动画”#7913

这是一个漫长的问题,我承认我还没有阅读所有内容,但是如果问题仍然如OP所述(即,需要一种在Mixamo中对角色进行动画处理并加载Three.js的方法),则可以完成使用glTF Blender导出器和THREE.GLTFLoader。 这是我的工作流程: https: //medium.com/@donmccurdy/creating -animated-gltf-characters-with-mixamo-and-blender-728dc120e678

另外,您也可以从Mixamo导出为FBX,然后使用FBXLoader直接加载。
从最新版本(R89)开始,它应该可以非常流畅地工作。

此页面是否有帮助?
0 / 5 - 0 等级