确定场景何时在Maya中完成加载 我在C++中写了一个玛雅插件。 在Maya中,打开场景时,会自动加载并启动我的插件。 是否有一个事件告诉我的插件,整个场景都加载了,所以我可以开始一些动作了?
我不太熟悉玛雅C++ API,但是有一个Mal/Python解决方案可以满足你的需要。我知道这个问题是用C++来标记的,所以如果不是一个可以接受的答案,我会删除它。 maya.cmds mel/python库中有一个确定场景何时在Maya中完成加载 我在C++中写了一个玛雅插件。 在Maya中,打开场景时,会自动加载并启动我的插件。 是否有一个事件告诉我的插件,整个场景都加载了,所以我可以开始一些动作了?,c++,events,plugins,maya,C++,Events,Plugins,Maya,我不太熟悉玛雅C++ API,但是有一个Mal/Python解决方案可以满足你的需要。我知道这个问题是用C++来标记的,所以如果不是一个可以接受的答案,我会删除它。 maya.cmds mel/python库中有一个scriptJob命令,允许在maya中发生事件或条件时绑定代码的执行 def printStuff(): # We are printing stuff here, but this can be a call to your C++ plugin # Exampl
scriptJob
命令,允许在maya中发生事件或条件时绑定代码的执行
def printStuff():
# We are printing stuff here, but this can be a call to your C++ plugin
# Example:
# import cppPlugin
# cppPlugin.doActionOnSceneLoaded()
print "Scene has been loaded"
cmds.scriptJob(e=('SceneOpened', printStuff))
执行此代码后,每次打开场景时,一旦完全加载,将打印一行。代替打印一行,你可以调用你的C++插件。我的C++技能现在已经生锈了,我已经有一段时间没有练习过了,但是你可以把C++方法绑定到Python调用,你可以得到一些信息和./P>
可以在userSetup.py
中编写此脚本,以便在启动Maya时加载它。您可以获得有关用户设置文件的更多信息找到它:
callbackId = MSceneMessage::addCallback(MSceneMessage::kAfterOpen, (MMessage::MBasicFunction) BrainClass::sceneLoaded,this);
myCallbackIds.append(callbackId);