在VS Code中加载Blender Addon会出现“未命名模块...”错误

如何解决在VS Code中加载Blender Addon会出现“未命名模块...”错误

我正在尝试使用VS Code和出色的Blender addon来启动旧的Addon。我的文件结构如下:

  • __ init__.py#主初始化
  • bnr /
    • misc /
    • 操作员/
    • 面板/
    • 属性/
    • __ init__.py#空初始化

现在,当我尝试通过发出命令Blender: Build and Start启动插件时,在控制台ModuleNotFoundError: No module named 'bnr.operators'中收到以下错误,该错误由__init__.py文件中的这一行引起:

from bnr.operators.load_nodes import NODE_EDITOR_OP_LoadNodes

我猜我还没有设置一些重要的设置,但是我不知道哪个设置。我的__init__.py文件和设置如下:

__init__.py

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License,or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not,see <http://www.gnu.org/licenses/>.

bl_info = {
    "name": "Node Renderer","author": "xxx","description": "An Addon for Blender that can automatically vary a set of node parameters based on user defined criteria and render each variation.","blender": (2,80,0),"version": (0,1),"location": "Node Editor Toolbar under Render","category": "Node",# Used for filtering in the addons panel
}

import bpy
from bpy.props import PointerProperty,BoolProperty,BoolVectorProperty

from bnr.operators.load_nodes import NODE_EDITOR_OP_LoadNodes
from bnr.operators.parameter_setup import (
    NODE_EDITOR_OP_SaveParameterSetup,NODE_EDITOR_OP_LoadParameterSetup,NODE_EDITOR_OP_LoadDefaultParameters
)
from bnr.operators.render import NODE_OP_Render
from bnr.panels.nodes_panel import NODE_EDITOR_PT_NodesPanel
from bnr.panels.settings_panel import NODE_EDITOR_PT_SettingsPanel
from bnr.properties.properties import (
    PG_PublicProps,PG_InternalProps,PG_ParameterEliminationProperties
)
from bnr.properties.socket_props import (
    FLOAT_SOCKET_PG_UserProperties,FLOAT_FACTOR_SOCKET_PG_UserProperties,FLOAT_VECTOR_SOCKET_PG_UserProperties,COLOR_SOCKET_PG_UserProperties,)

from bnr.operators.eliminate_parameters import NODE_OP_EliminateParameters

panels = (
    NODE_EDITOR_PT_SettingsPanel,NODE_EDITOR_PT_NodesPanel,)

operators = (
    NODE_OP_Render,NODE_EDITOR_OP_LoadNodes,NODE_EDITOR_OP_SaveParameterSetup,NODE_EDITOR_OP_LoadDefaultParameters,NODE_OP_EliminateParameters,)

properties = (
    PG_PublicProps,PG_ParameterEliminationProperties,FLOAT_SOCKET_PG_UserProperties,)

VEC_TYPES = (bpy.types.NodeSocketVectorXYZ,bpy.types.NodeSocketVector,bpy.types.NodeSocketVectorAcceleration,bpy.types.NodeSocketVectorDirection,bpy.types.NodeSocketVectorTranslation,bpy.types.NodeSocketVectorEuler)

def register():
    for c in (*properties,*operators,*panels):
        bpy.utils.register_class(c)

    # Register the properties on the scene object so it is accessible everywhere
    bpy.types.Scene.props = PointerProperty(type=PG_PublicProps)

    # Register our internal props on the Scene object
    bpy.types.Scene.internal_props = PointerProperty(type=PG_InternalProps)

    # Register internal properties for parameter elimination
    bpy.types.Scene.pe_props = PointerProperty(type=PG_ParameterEliminationProperties)

    # Register boolean property on the node type
    bpy.types.Node.node_enabled = BoolProperty(default=False)
    bpy.types.Node.node_show = BoolProperty(default=False)

    # Register boolean property on the NodeSocket type
    bpy.types.NodeSocketStandard.input_enabled = BoolProperty(default=False)
    bpy.types.NodeSocketStandard.input_show = BoolProperty(default=False)

    bpy.types.NodeSocketFloat.user_props = PointerProperty(type=FLOAT_SOCKET_PG_UserProperties)
    bpy.types.NodeSocketFloatFactor.user_props = PointerProperty(type=FLOAT_FACTOR_SOCKET_PG_UserProperties)
    bpy.types.NodeSocketColor.user_props = PointerProperty(type=COLOR_SOCKET_PG_UserProperties)

    # Override input_enabled for vector types (as we keep x,y and z as separate inputs)
    bpy.types.NodeSocketColor.subinput_enabled = BoolVectorProperty(default=(False,False,False))

    # Register user props on vector types
    for t in VEC_TYPES:
        default_min = FLOAT_VECTOR_SOCKET_PG_UserProperties.bl_rna.properties["user_min"]
        default_max = FLOAT_VECTOR_SOCKET_PG_UserProperties.bl_rna.properties["user_max"]
        subtype = t.bl_rna.properties["default_value"].subtype
        subtype = subtype if len(subtype) > 0 else "NONE"

        VectorPropertyType = type(
            "FLOAT_VECTOR_SOCKET_PG_UserProperties",(bpy.types.PropertyGroup,),{
                "user_min": bpy.props.FloatVectorProperty(
                    name=default_min.name,default=default_min.default_array,description=default_min.description,subtype=subtype),"user_max": bpy.props.FloatVectorProperty(
                    name=default_max.name,default=default_max.default_array,description=default_max.description,subtype=subtype)
            })
        bpy.utils.register_class(VectorPropertyType)
        t.user_props = PointerProperty(type=VectorPropertyType)
        t.subinput_enabled = BoolVectorProperty(default=(False,False))


def unregister():
    for c in (*properties,*panels):
        bpy.utils.unregister_class(c)

    del bpy.types.Scene.props
    del bpy.types.Scene.internal_props
    del bpy.types.Node.node_enabled
    del bpy.types.Node.node_show
    del bpy.types.NodeSocketStandard.input_enabled
    del bpy.types.NodeSocketStandard.input_show
    del bpy.types.NodeSocketFloat.user_props

    for t in (*VEC_TYPES,bpy.types.NodeSocketColor):
        del t.user_props
        del t.subinput_enabled

用户设置JSON

{
    "[json]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },"[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },"window.zoomLevel": 0,"C_Cpp.updateChannel": "Insiders","markdown-pdf.headerTemplate": "<div style=\"font-size: 9px; margin-left: auto; margin-right: 1cm; \"> <span class='date'></span></div>","blender.executables": [
        {
            "path": "c:\\Program Files\\Blender Foundation\\Blender 2.82\\blender.exe","name": "","isDebug": false
        }
    ],"blender.addon.moduleName": "bnr","explorer.confirmDelete": false,"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-