4

感恩节快乐,首先,我一直在寻找视觉脚本是否是为游戏引擎制作的新事物。让我向您展示一些可视化脚本的示例可视化脚本

另一件事只是常规编码,例如在 IDE 中编写 c++ 代码,现在我尝试了它们,但我一直试图弄清楚的问题是,因为我尝试了它们,所以可视化脚本似乎更容易,更容易理解至少我觉得当我连接节点时比较它是有道理的,当我写一个像“玩家控制器”这样的代码时,我会告诉你我写一个敌人控制器花了多长时间!用 c++ 为播放器控制器编写代码我花了大约 2 个小时,而我只花了一个小时连接节点来使用可视化脚本制作播放器控制器,但即使它是一个简单的过程和快速,我对此感觉并不好,我开始更多地思考编写 C++ 代码而不仅仅是连接节点的优势是什么?所以这是一个问题:写代码有什么好处?使用可视化脚本有什么好处?两者的缺点是什么?我知道 Visual Scripting 的这个优点,它不像编写 c++ 代码那么复杂

编写代码也会比“已经创建的脚本”(Visual Scripts)更快

最后一个问题,如果您必须在两者之间进行选择,您会选择视觉还是编写代码?

注意:我决定在这里而不是游戏引擎网站问问题,因为在这里我可以找到“程序员”,在大多数游戏引擎网站中,他们都喜欢他们称之为“快乐方式”的地方,即(可视化脚本)不是“悲伤的方式”是(编写代码)

我希望这一次我没有问一些会导致太多负面投票的“坏”问题:)对我来说轻松点,感恩节;)

更新:这里有一些关于我在虚幻引擎中使用的可视化脚本的更多信息,我从虚幻引擎网站获得了它“虚幻引擎中的蓝图可视化脚本系统是一个完整的游戏脚本系统,它基于使用基于节点的界面从虚幻编辑器中创建游戏元素的概念。这个系统非常灵活和强大,因为它为设计人员提供了使用几乎所有通常只有程序员才能使用的概念和工具的能力。通过使用蓝图,设计师可以对几乎任何游戏元素进行原型设计、实施或修改,例如: 游戏 - 设置游戏规则、调整游戏条件等。 玩家 - 创建具有不同网格和材质或角色定制的变体。相机 - 制作新相机视角的原型或在游戏过程中动态更改相机。输入 - 更改播放器控件或允许播放器将输入传递给项目。物品 - 武器、法术、皮卡、“我不认为有这样的事情,如果你必须让事情变得复杂,你需要为它编写代码(我的观点)

4

3 回答 3

8

视觉脚本经常用于许多游戏引擎,如 Unity、Construct 2、Unreal Engine 等。

这是为什么?因为它更容易。
用VS写的代码比较容易理解,很多时候单节点就可以代替100行正常代码。
除此之外,它更容易理解,更容易理解正在发生的事情。
更重要的是,它很容易学习,因此知识很少的人可以实际使用它。
这些脚本背后有很多东西,你实际上不需要知道发生了什么来使用它。

当您键入普通代码时,您需要知道自己在做什么,它允许熟练的用户获得更大的灵活性和性能(可视化脚本通常缺乏这一点)。尽管组织这样的项目要困难得多,而且代码很容易失控。但是,是的,性能和灵活性,这是一件非常重要的事情。

例如,在某些引擎中,您可以只编写 Player Jump 或类似的东西,而您并不关心它是如何发生的,您甚至不必了解游戏机制、物理机制等。

如果我必须选择一个,我会根据项目进行选择。同一个问题:
如果你可以在 Game Engine 中创建游戏或使用代码从头开始创建游戏,你会选择哪一个?

我们每个人都有自己的喜好。大公司倾向于创造自己的技术和引擎,以便他们可以更快地工作,并使工作更容易。

所以Adv/Disadv:

VS:
+ 快速开发
+ 易于维护
+ 易于学习
+ 易于在团队中工作
+ 通常可移植
+ 隐藏了很多你不必关心的东西
+ 更清晰
+ 通常不包含“代码错误”
+笨拙友好(你不会忘记那个分号)
- 缺乏灵活性
- 你真的不知道发生了什么
- 你将学习如何解决问题,但你无法在特定引擎之外完成它
- 通常比代码慢得多
- 你不能进行性能更新
- 依赖于引擎(每个都使用其他编码方式)
- 你需要了解每个引擎是如何工作的
- 如果有引擎错误,您无法修复,您必须等待补丁
- 他们通常是有偿的,或者他们缺乏可能性
- 哦,对,可能性有限

代码:
+ 允许您学习如何实际做某事
+ 给您方法更多可能性
+ 如果你学习如何编码,你可以编写任何代码
(如果你学习引擎脚本,你会受到限制,除了游戏,你不会编写任何其他应用程序)
+ 基本上没有限制(技术内容之外)
+ 如果你学习 1语言,更容易理解任何其他现代语言
+ 您实际上可以控制正在发生的事情
+ 让您真正了解如何编写算法和程序内容
+ 代码独立于公司
+ 大多数东西都是免费的
+ 它比脚本要快得多
- 更难学习高级的东西
- 更难维护大项目
- 你可以笨拙地破坏东西
- 别人通常很难理解
- 不是像可视化脚本一样清晰
- 在某些时候它很难维护
- 很多依赖于平台的东西
- 要真正做一些事情,你需要学习相当多的东西

选择实际上取决于情况、公司、团队偏好、截止日期、平台、目标等。

我希望我为你整理了一下:)。

于 2014-11-28T01:36:13.080 回答
7

如果您查看 UML,它是一种建模语言,几乎涵盖了您可以使用代码做的所有事情,并且非常适合对系统进行建模,但是在用于程序生成时却不足。基本上,与编写等效代码相比,描述真正复杂的交互需要更多的图表和更多的图表。

采取一个简单的 5 路 switch 语句。写起来容易,画起来很复杂。对通过系统的不同路径进行建模可能会变得非常麻烦,而且速度非常快。

当存在简单的数据路径时,代码生成的拖放连接模型非常有效,但是一旦您谈论状态机之间的复杂交互,它就会变得相当复杂。在过去,我注意到这类可视化建模系统最终会在连接上编写脚本以适应复杂性,这通常最终使它们比直接代码更难理解,并且更难找到事情发生的地方。

最后,语言级别越高,在性能和控制方面必须做出的权衡就越多。所以这些越重要,语言选择的层次就越低。如果您正在编写一个对时间要求很高的设备驱动程序函数,您最终可能会编写汇编程序,而用于自动化的高级菜单系统可以很高兴地用脚本语言编写。视觉语言是一种非常高级的语言,因此权衡可能非常高。然而,上市时间往往会随着语言水平的提高而下降。因此,您想在某件事上投入多少时间和精力也成为一个因素。

于 2014-11-28T01:14:49.367 回答
2

“可视化编程”既不是“新”概念,也不是游戏编程的新概念。

这也是一个非常广泛的概念:“可视化编程”的概念在许多不同的领域都有很多应用。

您提到了“游戏编程”。另一个是“教育”。例如:

编程一小时:与 Anna 和 Elsa 一起编程

于 2014-11-28T01:21:01.793 回答