首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >场景后面的Unity3d可视化脚本框架是如何工作的?

场景后面的Unity3d可视化脚本框架是如何工作的?
EN

Stack Overflow用户
提问于 2019-04-13 02:56:14
回答 2查看 970关注 0票数 1

我想知道在unity3d中使用可视化脚本工具会发生什么。

假设我想做一个FSM:

第一种方法是当我不使用这样的工具时。在这种情况下,我应该在源代码(C#)中做所有事情,这意味着创建所有必要的类并手动连接整个状态机。

第二种方法是当我使用像螺栓NodeCanvas这样的工具时。我仍然需要编写State类,但这一次,通过基于节点的图形编辑器将它们连接起来。

问题是,这些工具是如何将图形转换成某种统一可以使用的东西的?他们是否使用像C#这样的模板引擎根据图形生成T4模板引擎代码?或者他们还做了别的什么?

EN

回答 2

Stack Overflow用户

发布于 2020-03-14 12:02:47

统一有编辑器/播放模式/运行时模式。在编辑器模式下,绘图您的设计将保存在文件中。一些工具使用自定义格式二进制文件、json或其他。例如,LogicForge使用脚本对象来完全兼容团结依赖关系和序列化管理。图形可以在编辑器和/或播放模式下设计。逻辑伪造支持两者,因为在游戏模式中,您可以立即看到您的设计正在做什么。节点可以表示原子函数或复杂组件。如果可视化工具让您有机会设计自己的节点,并且在设计中自动创建任何MonoBehaviour脚本的节点,这是很好的。节点可以是动态的,也可以是静态的,已经编码了。动态节点使用反射来创建函数、播放模式/运行时。它们使用缓存和IL创建的代理程序进行优化。可以在更改图形时生成代码,但需要等待长时间的重新编译,或者根据请求生成代码。工具可以选择紧凑的设计,创建代码和更复杂的节点从设计。

图形资产可以附加到GameObject并随场景一起加载,也可以作为资源运行时加载,然后实施读取序列化数据并在游戏对象上创建组件。

有些工具结合了FSM,这样您就可以根据条件在不同的图形设计/逻辑之间切换。Logic有基于通用事件的FSM和动画可玩混合器(您不需要使用Mecanim)

票数 1
EN

Stack Overflow用户

发布于 2019-04-13 04:05:29

你必须理解lexer and parser才能完全理解它。

当你用非图形化的方式写东西时,计算机会以机器可读的格式将这段或几段代码转换成机器可读的格式,因为计算机甚至无法区分ab。它将其转换为binaryhexa(后来甚至转换为binary)。

现在的问题仍然是,可视化脚本是如何工作的?

好的,开发人员有自己的lexer和解析器,他们迭代这些可视化组件并从中创建代码,然后根据语言对这些组件进行解释或编译。

由于您想了解有关Unity的信息,所以它是基于C#的,它将被编译。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55661578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档