@hanaworlds/blender-setup
v0.1.0
Published
HanaWorlds:找到或装好 Blender,并自动交给 dsh-blender(不用改配置文件)
Readme
@hanaworlds/blender-setup
HanaWorlds 的 Blender 准备插件:找到或装好 Blender,再交给 dsh-blender。用户不用改任何配置文件。它只做这一件事,不碰项目、技能和预览。
用户看到什么
| 情况 | 结果 |
|---|---|
| 电脑上已有 Blender | 启用后自动找到,写进 dsh-blender 的 blenderExecutable,用户什么都不用做 |
| 没有 Blender | 启用套装时弹出「需要 Blender」。点 前往安装 进入套装详情,Blender 区块写着要下载的版本和大小,点 下载并安装:从 blender.org 下载官方包,校验官方 sha256,装到用户目录(不需要管理员权限),装好自动配置。区块里会显示下载进度,可以取消。也可以按区块里的说明自己装,然后点 重新检测 |
查找顺序:PATH 里的 blender;macOS 的 /Applications/Blender*.app、~/Applications/Blender*.app;Windows 的 %ProgramFiles%\Blender Foundation\Blender*\blender.exe,以及本插件自己装到的 %LOCALAPPDATA%\Programs\Blender Foundation\blender-*\blender.exe。只有能跑 --version、报出 Blender 版本号的才算找到。
自动安装:
| 平台 | 官方包 | 装到 |
|---|---|---|
| Apple 芯片 Mac | Blender 5.2 LTS 最新补丁版 macos-arm64.dmg | ~/Applications/Blender.app |
| Intel Mac | Blender 4.5 LTS 最新补丁版 macos-x64.dmg(5.x 不再提供 Intel 版) | ~/Applications/Blender.app |
| Windows x64 | Blender 5.2 LTS 最新补丁版 windows-x64.zip(便携版) | %LOCALAPPDATA%\Programs\Blender Foundation\blender-<版本>-windows-x64\ |
版本号取自 https://download.blender.org/release/Blender<系列>/ 目录里该系列最新的补丁版,校验值取自同目录官方的 blender-<版本>.sha256。其他系统只做查找,不自动安装。
怎么接到 DSH 上(都是官方机制)
| 做什么 | 用的 DSH 机制 |
|---|---|
| 把路径交给 dsh-blender | ctx.configEditor.edit():写进当前 profile 的 cordis.patch.yml 并立即生效,只改 blenderExecutable,其余配置原样保留 |
| 启用时的提示 | 插件页的 plugins.bundle.activation(启用组合包后的引导,官方语音输入插件同样用它提示下载模型) |
| 详情页的 Blender 区块 | 插件页的 plugins.bundle.config(组合包详情里描述下方的区块) |
| 界面和宿主通信 | ctx.connection.fetch.register() 登记一条 /api/hanaworlds.blender-setup 精确路由;网页版和桌面版同一条路 |
| 知道自己在哪个组合包里 | 宿主问官方 ctx.pluginManager.listBundles(),找含本插件这一行的组合包,不写死套装名 |
配置(一般不用改)
| 键 | 默认 | 说明 |
|---|---|---|
| targetRow | blender-modeling | dsh-blender 的行 id |
| series | { darwin-arm64: '5.2', darwin-x64: '4.5', win32-x64: '5.2' } | 各平台自动安装的 LTS 系列 |
| releaseBaseUrl | https://download.blender.org/release/ | 官方发布目录 |
开发
npm install
npm run build # 打包 dist/client.js;npm pack 时自动执行
npm test # 查找位置(含 Windows)、下载地址选择、sha256 解析