创建复杂世界
介绍
你好,我叫 Emrecan Çubukçu,我住在安卡拉。我拥有一家小型数字工作室Kreatin Studios ,该工作室目前制作 AR 和 VR 软件,尤其专注于教育。我的软件职业生涯始于工业工厂的过程控制系统、测量和设备软件。获得博士学位后,在我们的 3D 扫描仪软件上工作时,我与 OpenGL 的关系加深了,我在 3D 网格操作、图像处理和计算几何方面的知识增加了。我对建模作为一种爱好很感兴趣。这需要很多时间,我没有太多耐心。对我来说,处理实时 3D 程序总是最令人愉快的。
10 年来,我一直在大学为工业设计师和建筑师教授 3D 交互式演示技术。我的课程涵盖了照明、色彩、动画、视觉构图、摄影、足够数量的编码知识、演示技巧和舞台表演的基础知识。我在教学中学到了很多东西。
海盗岛、村庄和卫星材料
我的材料在不断发展,但这一切都是从Island Material开始的。在我的SD学习项目Island Material 中,我处理了山、石、水、海岸以及假侵蚀和植物随坡度变化之间的关系。我正在为我们在Unity 3D 中开发的运动模拟器制作动画,并将位于科学中心。我们需要飞行场景的农场纹理。而且我找不到我想要的纹理。用 SD 创建素材几乎不需要时间。当我在统一地形上绘制这些非常不同的纹理时,这正是我想要的。将它们结合起来打造城镇和田野的想法就在那里诞生了。
农场材料在行动!
正如我所说,这些材料正在相互进化和繁殖。该村庄材料包含农场的材料。卫星材料是岛屿和村庄材料的孩子。
说到卫星资料,有一天我在飞机上看着窗外。我只是想知道这个视图是否可以用 SD 来完成。因此,这将是一个不同规模和现实版本的村庄。
尽管我立即对卫星视图的想法感到兴奋,但我还是花了一个月的时间才抽出空闲时间来处理它。我设法每周抽出 2 或 3 个小时,并在 2 个月内完成。它仍然需要一些修改,但我必须回到我真正的工作中,所以我决定分享第一个版本,稍后再升级。所以继续关注?
卫星材料的中东视图。(看看半山腰的小村庄,随意创造的美!)
卫星材质中的假侵蚀,基于面向高度图的瓷砖采样器和流操作
我在所有三种材料的制作过程中使用了几乎相同的法则,即自然法则。首先,我在人类定居之前创造了野外地形。第二,我完成了一个被侵蚀的山、丘、湖和河流的野性景观。我把注意力集中在坡度低的地方和水边的植被上。然后我将标准单元节点用于道路。我根据坡度不大的地方过滤了道路。因此,道路穿过人们真正喜欢的地方。城市在道路上堆积如山。路边加了几间奇形怪状的房子。田地被种植在空旷的平原上。我添加了城市化、农业面积和森林数量的参数。这允许艺术家玩设置并获得瑞士风景,
2 中的1
创建材料的最大问题是它们永远不会完成。我仍然对我目前分享的材料不满意。在某些时候,我总是因为没有时间和/或无聊而决定完成。还有很多事情要做(改善山区的侵蚀,主要和中间道路的分离,城市结构和各种房屋,河流问题,森林感觉)。还有几周的工作?
添加生命的存在
基于高度图的思考是一个非常有趣的过程。制作房屋或船只等具有生命迹象的物体是一个非常有趣的拼图。其实加起来很简单,但是“生命的存在”的效果非常强。那些村民当然需要那些房子、湖泊、农场和船只!
来自村庄材料的特写和地图
房屋和船只的高度图:
2 中的1
村庄材料中包含的房屋生成器图。这些只是最终图像中的几个像素,但如果有机会,它们可以是高分辨率的:
如这里所见,每个对象都只是原始几何形状的组合。基本上就是这样!
在生产中使用物质材料
卫星材质的Unity3D渲染
卫星材质的虚幻渲染
这些材料可用于具有不同 3D 软件的 3D 环境。实际上,它有一个非常简单的工作流程。只需将带有曲面细分的合适着色器上的纹理拖到平面上,让它活跃起来。在只有一架飞机的遥远景观中使用时,它会提供最佳效果。我相信它们可以用于适合玩家不会靠得太近的场景。归根结底,它们只是材料。但是,如果你仔细观察,咒语就会被打破,解析问题就会开始。美术师在 Unity 和Unreal 中使用 Substance 材质真的很舒服。工作流已经允许。
由于为动画游戏找到远距离地形纹理并不容易,因此这些材料非常适合制作原型。它们可用于自上而下的飞行游戏、街机类型的飞行游戏、飞机过场动画和不靠近地面的动画。
学习SD
SD 是我 20 年的 3D 生活中最喜欢的工具之一。凭借高分辨率支持、高级导出选项和嵌入式侵蚀节点,它可以成为具有强大分形和 Voronoi 节点的地形工具的强大替代品。我绝对认为水和热侵蚀节点对于创建自然地形非常重要。如果包含侵蚀节点,我的所有地形看起来都会大不相同。关于 SD 和地形的教程数量有限。Vincent Gault的教程是我的起点。如果我有时间,我会准备地形教程。作为一个建议,SD应该作为一个整体来研究和学习,如果你已经很好地理解了SD节点,那么制作真正的岩石和地形没有区别。
正如我常说的,我的学习算法是这样的:
- 打开软件,进行侦察。尝试创造一些东西,失败。
- 阅读用户手册并做笔记(因为我是工程师,理论背景很重要!)
- 在 Google 上搜索书面教程。(我找不到,因为书面教程是濒临灭绝的物种,请转到下一步。)
- 在 YouTube 上观看教程,快进、跳过、跳过、跳过……
- 什么都不懂;再次观看本教程中遗漏的部分和关键部分。
- 分析实施良好的例子,顿悟!
- 转到第一步,直到你没事。