Python 在F3操作员搜索中找不到自定义搅拌机操作员(搅拌机2.9)
我正在学习本教程:Python 在F3操作员搜索中找不到自定义搅拌机操作员(搅拌机2.9),python,blender,Python,Blender,我正在学习本教程: 我从教程中复制了下面的脚本,当我运行脚本时,它编译时没有任何错误。我应该能够在操作员搜索菜单(F3)中搜索“按一移动X”以执行操作员,但它不会显示在操作员搜索菜单中。如何让操作员显示在搜索菜单中?blender 2.9有什么变化吗 bl\u信息={ “名称”:“移动X轴”, “类别”:“对象” } 进口bpy 类ObjectMoveX(bpy.types.Operator): bl_idname=“object.move\u x” bl_label=“将X移动一次” bl_
我从教程中复制了下面的脚本,当我运行脚本时,它编译时没有任何错误。我应该能够在操作员搜索菜单(
F3
)中搜索“按一移动X”以执行操作员,但它不会显示在操作员搜索菜单中。如何让操作员显示在搜索菜单中?blender 2.9有什么变化吗
bl\u信息={
“名称”:“移动X轴”,
“类别”:“对象”
}
进口bpy
类ObjectMoveX(bpy.types.Operator):
bl_idname=“object.move\u x”
bl_label=“将X移动一次”
bl_选项={'REGISTER','UNDO'}
def执行(自身、上下文):
scene=context.scene
对于场景中的obj.objects:
对象位置x+=1.0
返回{'FINISHED'}
def寄存器():
bpy.utils.register_类(ObjectMoveX)
def unregister():
bpy.utils.unregister_类(ObjectMoveX)
如果名称=“\uuuuu main\uuuuuuuu”:
寄存器()
我对2.90.0也有同样的问题,但当我升级到2.90.1时,它工作得非常好。
刚刚用你问题中的代码测试了这个。所以我建议你试试2.90.1。
对我来说,它是随着我的系统更新而悄无声息地更新的。如果要手动执行,可以在此处下载:
(我无法写评论,因为我没有足够的堆栈溢出点)您必须启用
首选项->接口
下的开发人员附加功能
复选框,然后重新加载加载项。您可能在过去已经解决了这个问题,但在升级时丢失了设置。Sybren Akben在中承认了这一点。
我的解决办法是复制。下面是它的工作原理:
bpy.types.TOPBAR\u MT\u app\u system.append(menu\u func)
菜单\u func(self,context)
,包括:
self.layout.operator(
register\u class.bl\u idname)的参数)
上面写着: …只通过搜索公开操作员的加载项需要更新 这是由于新增了操作员搜索功能,该功能仅在菜单中搜索(通过
F3
访问)。因此,您需要将运算符添加到菜单中
添加菜单\u func
功能:
def menu_func(self, context):
self.layout.operator(ObjectMoveX.bl_idname)
def register():
bpy.utils.register_class(ObjectMoveX)
bpy.types.VIEW3D_MT_object.append(menu_func)
并更新寄存器
功能:
def menu_func(self, context):
self.layout.operator(ObjectMoveX.bl_idname)
def register():
bpy.utils.register_class(ObjectMoveX)
bpy.types.VIEW3D_MT_object.append(menu_func)
现在,您可以通过操作员搜索(F3
)或通过菜单访问操作员,即Object>YourOperatorName
如果您不希望通过这些菜单访问这些内容,发行说明还将提到:
对于更模糊的操作员,例如主要针对开发人员的操作员,我们建议将其添加到TOPBAR_MT_app_系统菜单中。这可以通过顶部栏中搅拌机图标下的系统菜单访问
当我在blender 2.82中运行它时,它运行良好我遇到了相同的问题,我测试了2.90和2.91,没有显示2.83.6 lts,谢谢,我花了很多时间试图找出它不工作的原因。他们应该更新他们的文档…@ElLocoCocoLoco你说得对。如果发布日志中公布了类似的内容,那么他们更新教程肯定是有意义的。只需启用开发者附加功能(用户首选项>界面)。无需向菜单添加运算符。另一种可能发生这种情况的方法是,如果Blender在您首次启用
开发者附加功能的会话过程中崩溃。会话中设置的任何首选项如果最终崩溃,都将被重置。