如何在 Unity 中使用 C# 对 Minecraft 等体素世界进行编程
针对 Unity 2020+ 更新的程序生成世界的块状网格构建综合指南。
讲师:Penny de Byl
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 构建一个基于立方体的几何世界,就像 Minecraft 中生成的那样。
- 在 3d 空间中导航和操作离散值。
- 使用 C# 从头开始构建网格物体并为其蒙皮。
- 保存和检索序列化数据。
- 构建和管理体素数据结构。
要求
- 您应该熟悉 C# 和 Unity 游戏开发引擎。
- 如果你玩过《我的世界》,这会很有用,但不是必需的。
描述
为 Unity 2020+ 添加的所有新内容
您是否知道《我的世界》中没有使用任何一个立方体?您是否曾经看过《我的世界》并想知道“他们是如何构建它的?” – 这是一件值得深思的好事情。如果您还没有,并且认为对一大堆立方体进行编程是小菜一碟,那么请再想一想。从表面上看,《我的世界》似乎是一个可以在 Unity 中重新创建的简单世界。开始在场景周围放置立方体,看看在帧速率达到令人麻木的停止之前你能走多远。因此,不必再感到好奇和烦恼,因为本课程揭示了在 Unity 中使用 C# 编程和渲染程序生成的体素世界(例如 Minecraft)的秘密。
在本课程中,Penny 运用她享誉国际的教学风格以及 30 多年游戏和图形工作经验中的知识,教授您从头开始构建块状世界所需的所有宝贵技能。但请坚持住,因为您将踏上跨越计算机图形领域的旅程,因为它是向研究生教授的。通过详细的描述和实践研讨会,检查您需要了解的所有 3D 数据结构、从头开始构建网格、使用噪声算法生成地形特征和洞穴以及纹理块,您将立即编写自己的世界。
了解如何编程和使用:
- 体素
- 定制的多边形和网格
- 顶点和法线
- 紫外映射
- 纹理图集
- 并行处理和Unity 作业系统
- Unity 的MeshAPI用于并行网格创建
- 柏林噪声
- 无限地形生成
- 加载和保存数据
内容和概述
在获得了一些关于为什么使用立方体构建 Minecraft 类型的世界是一个坏主意的经验后,您将开始跟随 Penny 进行一次又一次的锻炼,最终构建您自己的独特的块状地形。
您将首先剖析一个立方体并检查其基本部分,从顶点到法线,再到纹理映射。掌握了这些知识后,您将开始编写代码来重新定义立方体,并使其更有效地绘制为地形组件。然后,您将把这些伪立方体组合在一起形成块,以优化渲染性能。一旦您致力于创建一个由块组成的实体世界,您将了解平滑噪声,并且将介绍一些分形几何学,以帮助您雕刻出包括洞穴在内的真实景观特征。
有了坚实的土地,您接下来将添加一个玩家角色并开始探索新世界。为了防止你摔倒,你还将开始研究实时构建你周围的世界的逻辑,无限的边界。
当您完成探索后,就可以开始挖掘和建造了。在这一部分中,您将学习如何通过单击按钮添加和删除块,以进一步根据您的喜好塑造地形。
最后,您将了解添加流水、落沙的动态,并开始研究创建您自己的生物群落的逻辑。
学生对本课程的评价:
- 你好!我想感谢您并赞扬您的 Minecraft Unity 课程。我担任(网络)程序员已有 20 年了。经过这么长时间的创作有些无聊的工作后,我很高兴能够制作游戏。我的兴趣在于创建程序生成的复杂世界。因此,了解《我的世界》似乎是个好主意。
- 喜欢佩妮的细节!不算太少,也不算太多,她成功地达到了最佳点,让你深入了解正在发生的事情,并且能够自信地投入并开始自己做事。我对购买的课程非常满意,并期待她的更多课程!
- 有效生成 Minecraft 风格世界所需的清晰、简洁的概念介绍和扩展,包括柏林噪声和分形布朗运动。
本课程适合谁:
- 任何对如何构建像《我的世界》这样的块状体素世界感兴趣的人。
- 任何对通过代码在虚拟世界中构建和蒙皮几何体感兴趣的人。
- 任何热爱《我的世界》并对幕后复杂情况感兴趣的人。
- 任何有兴趣扩展 Unity 技术技能、使用代码操作几何体的人。
- 任何对优化大规模数据和多个纹理的渲染过程感兴趣的人。