UDK 入门

发布于 2024-09-04 10:40:56 字数 319 浏览 7 评论 0 原文

我已经尝试学习 UDK 好几天了,但我似乎一直无法理解一切如何协同工作。我理解语法,这一切都很好,而且我几乎了解类和 .ini 文件如何交互。至于 API,我有完整的参考资料作为相当不错的 Doxygen 风格的 HTML 输出。

我正在寻找一种从头开始创建游戏的中级教程(而不是修改 UT3 本身),比仅仅学习语言语法更高级,但还没有达到逐步完成 API 的水平。我正在寻找一些有关内部结构的指南 - GameInfo 和 PlayerController 如何交互、Pawn 在哪里出现等 - 一种可视化大图景的方法。

是否有人在第一次学习 UDK 时特别喜欢使用中级教程(或一组教程)?

I've been trying for a couple of days now to learn UDK, but I seem to be stuck at making that leap to understanding how everything works together. I understand the syntax, that's all well and good, and I pretty much get how classes and .ini files interact. As for the API, I have the entire reference as pretty decent Doxygen-style HTML output.

What I'm looking for is a sort of intermediate tutorial on game creation from scratch (as opposed to modding UT3 itself), more advanced than just learning language syntax, but not yet to the level of going through the API step by step. I'm looking for some guide to the structure of the internals - how GameInfo and PlayerController interact, where Pawn comes in, etc. - a way to visualize the big picture.

Does anyone have a particular favorite intermediate-level tutorials (or set of tutorials) that they used when first learning UDK?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

草莓酥 2024-09-11 10:40:56

看看这些,当我刚开始时,这些是(也许仍然是?)最好的。由于时间不够,我已经停止使用 UDK,但这些确实很好。

http://forecourse.com/unreal-tutorials/

Check out these these were (maybe still are?) the best when I first started. I have then since stopped using UDK due to lack of time but these are really good.

http://forecourse.com/unreal-tutorials/

我的奇迹 2024-09-11 10:40:56

奇怪的是,我从未找到有关该主题的教程。

从整体上看,修改 UT3 和创建新游戏之间没有太大区别 - 只是在 UT3 代码上玩起来更容易,因为有内容可供使用。

Development/Src 包含未编译的源代码。其中的每个文件夹都会编译成 .u 脚本包,供编辑器和游戏使用。它们最终位于 UDKGame\Script 中。

UDKGame 拥有所有包,包括资源、地图和已编译的脚本。

GameInfo(或从它派生的类)用于游戏中的核心内容。独立游戏将由此衍生。派生类不必很大,在这里放置大量逻辑可能不是一个好主意。您可以而且应该使用此类来存储游戏的中心属性 - 例如,您的游戏使用什么 HUD 类、什么玩家控制器类等。例如,赛车游戏可以在此处跟踪比赛时间,并通知玩家当比赛开始或结束时,还会有一个类似 HUDType=class'Racer.RacerHUD' 的属性。

控制器,例如 PlayerController 和 AIController(UTBot 的派生自),用于向 Pawn 发送指令。 Pawn 本身不会做任何事情,它们更像是控制器可以操纵的空壳。
控制器中处理的事情是人工智能和输入。 pawn 处理的东西是各种移动、受到伤害等动画,任何视觉效果。

抱歉,我没有时间回答更长的问题,但我希望这对您有所帮助。

PS——对我有很大帮助的是获得游戏 Whizzle 并阅读该代码中的每个类。它不是从 UT3 代码派生的,而且非常小。

Strangely, I never found tutorials on that topic.

In the way things come together, there is no big difference between modding UT3 and creating a new game -- it's just easier to play around on top of UT3 code because there's content to work with.

Development/Src contains uncompiled source code. Each of the folders in there gets compiled into a .u script package for use by the editor and the game. They end up in UDKGame\Script

UDKGame has all the packages, including assets, maps, and compiled scripts.

GameInfo (or your class derived from it) is used for things central in your game. A standalone game would derive from this. The derived class does not have to be big, it's probably not a good idea to put a lot of logic here. You can and should use this class to store central properties for your game -- like, what HUD class your game uses, what player controller class, etc. For example, a racing game could track the time of the race here, and notify players when race started or ended, and would also have a property like HUDType=class'Racer.RacerHUD'.

Controllers, such as PlayerController and AIController (which UTBot is derived from), are used to send instructions to Pawns. Pawns don't do anything on their own, they're more like empty shells that the controller can manipulate.
Things handled in the controllers are AI and input. Things handled in pawns are all kinds of animations for movement, taking damage, etc, anything visual.

Sorry, I don't have time for a longer answer, but I hope this helps a little bit.

PS -- What helped me A LOT was getting the game Whizzle and reading each class in that code. It does not derive from UT3 code, and it's very very small.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文