Unity3D可视化编程第三方工具背后的机制
首先很抱歉在这里发布这个问题。我在“Unity Answers”上没有得到这个问题的答案我一直在研究像 uScript 或 Strumpy Shader编辑器是基于节点的可视化编程工具,例如Unreal Kismet或3DsMax粒子流系统。我一直在研究这些工具实际上是如何在Unity中生成源代码的。所以我假设在节点逻辑组装期间应该动态生成代码并将其编译为DLL(在Unity中所有源代码都编译为DLL)。我开始研究诸如 Reflections 、 Microsoft.CSharp 和 System.CodeDom.Compiler 之类的 C# 程序集;我什至尝试通过编辑器在Unity中编写一个C#类作为文本,然后使用上述工具将其解析并编译为DLL(没问题,但DLL仅在临时运行时存在。)因此我想知道这些工具可能会使用这种方法吗?或者有更好更干净的方法吗?谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我实际上正在做同样的事情。我认为您在编译器类方面走在正确的道路上。我不认为你可以在移动设备上动态发出 IL 作为安全沙箱问题,但我正在动态创建 C# 代码并将其编译成这样的持久 dll。
希望这会有所帮助。
I'm actually in the process of doing the same thing.. I think you are on the right path with the Compiler classes. I dont think you can emit IL on the fly on mobile devices as a security sandbox issue but I'm dynamically creating c# code and compiling it into persistent dll's like this..
Hope this helps..