在MotionBuilder中打印日志信息

5
我希望能够使用MotionBuilder 2013 API从C ++向MotionBuilder控制台记录消息。
我希望消息显示在“Hello”已打印的位置。如果不可能,请在MotionBuilder的其他位置显示该消息。该消息已通过Python中的print语句显示。
在Maya中,您可以使用: MGlobal :: displayInfo(msg); 在3ds Max中,您可以使用:
the_listener->edit_stream->wputs(wcharConverter);
the_listener->edit_stream->flush();

是否有Motion Builder版本?我已经搜索了API,但似乎找不到调用。 http://docs.autodesk.com/MB/MB2013/ENU/MotionBuilder-SDK-Documentation/index.html


我有点困惑。看起来你正在查看Python编辑器。我猜你不是想让C++输出到Python编辑器。我没有使用过MotionBuilder。是否有类似的C++控制台/编辑器? - Jeff
我正在寻找将C++输出到Python编辑器控制台的方法,就像我已经在Maya和Max中做的那样。例如,我想要做的Maya描述是:“此方法用于在脚本编辑器中显示信息消息。” - marsh
1
根据此链接:http://forums.autodesk.com/t5/open-reality/how-to-get-all-objects-on-the-motionbuilder-scene/td-p/4277904,似乎print只是将内容发送到stdout(与Python和C++的等效性进行比较)。我猜想这里也可能使用了std::clog。 - Jeff
1
我本来不会猜到的。它们通常指向相同的位置。在这种情况下,Python解析器可能会将输出发送到标准输出并将其添加到输出缓冲区中进行呈现(与标准控制台相反,后者将标准输出重定向到它)。 - Jeff
1个回答

0
你试过 FBTrace("Message") 吗?
在文档中查找:C++ API -> 模块 -> Trace 实用函数。

这并不会将它记录在那里,但是如果您使用-控制台启动mobu,则可以看到它。虽然printf也会发送到该控制台。因此,虽然好过没有,但它并不能满足我的需求。 - marsh
你可能需要调整Python控制台的跟踪级别以显示它们;文档表明其默认为"kFBNO_TRACE"。尝试使用pythonidelib.SetTraceLevel()设置更高的跟踪级别。 - Daniel Waechter
虽然这完全是我的错,但我意识到我实际上正在使用2013年的API。在那个版本中似乎不存在SetTrace。http://docs.autodesk.com/MB/MB2013/ENU/MotionBuilder-SDK-Documentation/index.html - marsh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接