- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在考虑游戏引擎的选择。我做了 Twin Stick Shooter tutorial .最让我沮丧的是大部分编程都是在蓝图中完成的,这是一种丑陋的(这里是主观的,但时间不长)图形编程。游戏的整个逻辑都是用盒子完成的……我觉得这太可怕了!我什至不使用 Qt Designer,而是使用纯编码和布局来设计我的 GUI。
回到客观的角度,问题在于“Twin Stick Shooter”是一款非常非常简单的游戏。然而,这些图表最终非常复杂和庞大。我发现这不是很容易维护而没有问题,例如使用 git 或任何其他版本控制工具跟踪随时间的变化。与 C++ 不同,在 C++ 中,维护大型代码是一个非常古老的问题,可以通过多种方式解决,并且版本控制系统可以很好地处理它。
我的问题是:教程中的同一游戏(或任何一般游戏)是否可以使用 C++ 中部署的所有逻辑(或可能少于 5% 的蓝图)来完成,而不是部署这一切都在蓝图图表中(如双杆射手)?鉴于我不是 Unreal Engine 的专家,我认为专家对这个问题有一个很好的答案,他可以解释纯粹用 C++ 可以做什么和不能做什么,以及为什么这样做是好是坏那个。
最佳答案
根据我使用 UE4 的经验,我会回答:是的。
主要蓝图节点和对象是用 C++ 制作的,通常可以通过 C++ 引擎 API 访问。事实上,C++ 版本的 BP 节点通常使用起来更复杂(即有更多可能的参数)。
我个人发现游戏的任何重要方面,如网络、UI、游戏逻辑和关卡转换都可以用 C++ 完成。
(...) and why it would be good or bad to do that.
UE4 的创作者说蓝图系统是为了帮助美术师和非开发者使用引擎而开发的。蓝图系统在游戏逻辑原型(prototype)设计中也非常有帮助。
由于蓝图的弹性和创建时间,当您使用 C++ 创建低级、复杂或昂贵的代码并将其 API 公开给蓝图系统时,许多开发人员(包括我自己)决定使用混合方法。它有助于将核心代码与高级函数分开,高级函数是许多更改和调整的主题(好处:BP 更容易调试,编译时间更快)。
我发现混合 BP 和 C++ 的一个困难是在更详细讨论的 C++ 代码中使用 BP 类的问题 here .
I don't find this very maintainable without issues, such as tracking changes over time using git or any other versioning tool.
UE4有Blueprint merge tool但我从未使用过它。
关于c++ - 虚幻引擎 : Can it be done primarily with C++/scripting instead of Blueprints?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43277326/
我正在考虑游戏引擎的选择。我做了 Twin Stick Shooter tutorial .最让我沮丧的是大部分编程都是在蓝图中完成的,这是一种丑陋的(这里是主观的,但时间不长)图形编程。游戏的整个逻
我是 Java 新手,正在努力理解它的一些概念。我在 Java Tutorial Oracle 中看到这样的说法:“线程主要通过共享对字段和字段引用的对象引用的访问来进行通信。”有人可以向我解释一下“
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improv
我是一名优秀的程序员,十分优秀!