ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

如何为Tooll开发自定义Operator:SupplierAssembly与附加程序集完全指南

如何为Tooll开发自定义Operator:SupplierAssembly与附加程序集完全指南 如何为Tooll开发自定义OperatorSupplierAssembly与附加程序集完全指南【免费下载链接】toollTooll is a new multi-purpose application for creating interactive 3d content and animations. It combines the best aspects of animation, compositing, and coding into a lightweight and intuitive UI. Your designs can be shared as executable or rendered to movies.项目地址: https://gitcode.com/gh_mirrors/to/toollTooll 是一款将动画、合成与编程融为一体的轻量级应用用于创作交互式 3D 内容与动画。本文将带你从零掌握 Tooll 自定义 Operator 开发的核心流程如何通过附加程序集Additional Assemblies引入外部 DLL以及 SupplierAssembly 机制如何让你的 Operator 依赖其他基础 Operator——这是扩展 Tooll 能力的两大关键。 先搞懂自定义 Operator 开发的两大概念在 Tooll 的合成图中每个 Operator 都是一个功能节点。当内置功能不够用时你可以用 C# 编写代码型 Operator编辑器会实时编译并加载它。开发过程中必然会遇到两个概念概念作用典型场景外部附加程序集引入第三方 DLL扩展代码可用 API调用物理引擎、音频库等第三方库内部 Supplier 程序集让当前 Operator 依赖另一个基础 Operator在自己的 Operator 内部复用其他 Operator 的逻辑⚙️ 核心机制附加程序集如何参与编译打开任意代码型 Operator 的编辑面板点击左上角的Assemblies按钮即可弹出附加程序集配置窗口界面定义在Tooll/Components/AdditionalAssembliesWindow.xaml交互逻辑在Tooll/Components/AdditionalAssembliesWindow.xaml.cs。窗口分为上下两个区域Add/Remove external assemblies外部程序集每行可手动输入或通过文件选择器指定一个.dll的相对路径支持增删多行。Add/Remove internal assemblies内部程序集下拉框会自动扫描当前运行域中所有符合 SupplierAssembly 规范的 Operator同名取文件创建时间最新的一个版本供你选择依赖。点击 OK 后设置会写回 Operator 定义并立即触发编译。编译管线在Core/MetaOperatorPart.cs的GenerateAssembly方法中完成固定引用System.Core、System.Drawing、Core、SharpDX、Newtonsoft.Json 你配置的外部程序集 依赖的基础 Operator 程序集 → 交给ScriptCompiler统一编译。 三步完成自定义 Operator 开发第 1 步创建代码 Operator在 Composition 视图中创建代码型 Operator即可在内置代码编辑器中编写 C# 逻辑。第 2 步配置程序集依赖点击Assemblies按钮需要第三方库在外部区域添加对应 DLL 的相对路径需要调用其他基础 Operator在内部区域从下拉框中选择。第 3 步编译并验证按Ctrl Enter触发编译快捷键逻辑见Tooll/Components/CodeEditor/CodeEditor.xaml.cs。编译成功后 Operator 立即生效导出独立可执行文件时Tooll/StandaloneExporter.cs会自动把外部附加程序集一并打包进发布包记得保证目标机器上 DLL 路径可用。 SupplierAssembly 到底是什么基类定义在Core/SupplierAssembly.cs它的IsSupplierAssembly方法给出判定规则一个类型要成为合法的 Supplier 程序集必须同时满足是类不是结构体/接口继承自SupplierAssembly基类所在程序集不是Core内置 Operator 走单独机制不是基类本身必须是派生类型。当你在内部区域选择了某个 Supplier 后Core/MetaOperator.cs的SetSupplierAssemblies会通过正则从程序集名形如...Func_ID{GUID}_Version{GUID}中解析出 Operator 的唯一 GUID在元数据管理器中找回对应的 Operator 定义重建依赖关系并订阅脚本变更事件——依赖 Operator 一旦修改你的 Operator 也会自动重新编译。️ 常见问题排查编译失败怎么办编译异常时 Operator 会被自动禁用替换为输出 0 的默认值函数错误详情会打印到日志修正代码后再次编译即可。同名内部程序集出现多个版本系统按 DLL 文件创建时间排序始终优先使用最新版本无需手动处理。外部 DLL 加载不到路径相对于 Tooll 安装目录填写建议使用相对路径而非绝对路径便于项目迁移与分享。想单独测试 Operator项目自带OperatorTester测试宿主工程可以脱离编辑器验证 Operator 行为。✅ 开发检查清单代码 Operator 已创建C# 逻辑可独立编译外部 DLL 路径已配置且相对安装目录正确内部 Supplier 依赖已从下拉框选定Ctrl Enter编译通过日志无报错导出时已确认附加程序集随包发布掌握附加程序集配置与 SupplierAssembly 依赖机制你就拥有了 Tooll 自定义 Operator 开发的完整地图——从编写、依赖管理到编译发布每一步都有明确的入口与兜底机制可以放心扩展自己的创意作品。【免费下载链接】toollTooll is a new multi-purpose application for creating interactive 3d content and animations. It combines the best aspects of animation, compositing, and coding into a lightweight and intuitive UI. Your designs can be shared as executable or rendered to movies.项目地址: https://gitcode.com/gh_mirrors/to/tooll创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表