NSDT工具推荐Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割

Metaverse 似乎是一个迷人的未来主义命题,“有一天”我们将拥有数十亿人愿意“生活在其中”的虚拟世界。 显然,我们还没有看到真正的“元宇宙”产品,3-5 年内也不太可能看到这样的产品。 那么,是什么阻碍了元宇宙在短期内成为现实呢? 我认为最大的瓶颈是内容创作生态系统。 元宇宙需要海量的 3D 内容,而 3D 复杂且昂贵。 我们需要简化创作工具,标准化内容创作管道,并利用经过良好测试的设计解决方案来增强用户能力。

在这篇文章中,我想勾勒出我对 3D 设计系统的设想,从高层次到模式理论,再到有用的实用技术,如生成艺术和人工智能应用。

1、什么是设计系统?

设计系统是一组可重复使用的组件,以明确的标准为指导,可以将它们组装在一起以构建任意数量的应用程序。 设计系统提供系统的解决方案来指导和利用不同团队和利益相关者的集体努力。 借助统一的视觉语言和可重复使用的组件,设计人员和开发人员可以更好更快地在所有平台上构建具有凝聚力的体验。

谷歌、Airbnb 和阿里巴巴等公司都开发了自己的设计系统。 创建独特的开源设计系统不仅要做出大胆的品牌声明,还要为社区发展和迭代培养采用者生态系统。

对于 2D 设计系统,我们有很多很好的例子,例如 Google 的 Material Design、阿里巴巴的 Ant Design、Shopify 的 Polaris 等。 在设计系统工具方面,有Figma、Sketch、InVision……

2、为什么我们需要元宇宙的设计系统?

  • 让每个人都能更轻松地创建 3D 内容

互联网已经从基于文本的世界发展到带有图像和视频的 2D 目录,并且可能会走向 3D 时代——元宇宙。 每个数字媒体时代都催生了用户可以轻松制作、编辑和分享内容的工具,例如手机上的照片和视频编辑应用程序,让普通大众可以积极参与内容创作。

Metaverse 需要大量 3D 内容来吸引用户,而 3D 制作、理解和存储的成本很高。 3D 内容的制作是一项艰巨的任务,通常委托给训练有素的专家。 许多创作工具都很昂贵,而且学习曲线陡峭。 你可能还需要学习编程和游戏引擎。 每个工具都庞大而复杂,但是在学会了所有工具之后,用户能否制作出高质量的场景?

  • 使用户能够快速制作 3D 原型

我见过很多新兴的基于网络的 3D 设计软件,它们最初解决了可访问性和实时协作的问题,但它们只是将 Microsoft Office 变成了基于网络的 Google Doc。 不懂3D设计的用户,仍然不知道从何入手,不知道如何构建高质量的场景。

我认为我们可以考虑开发 3D 版本的设计系统,并制作构建块和规则(关系),以便用户可以自己构建。 这种构建块不仅包括空间形式、材质和着色器,还包括生成逻辑、交互方法以及与其他模块的数据接口。 一般用户只需简单的拖拽和点击就可以生成3D内容。 对于有一定技术能力的用户,我们可以为他们提供开发工具,让他们自定义和扩展功能,或者生成新的模块。 独立游戏Townscraper,在我看来,是一个设计系统。 开发商预先设定了中世纪城镇的模块及其规则。 用户点击即可快速生成场景,学习成本基本为零。

  • 3D 设计系统是关于多样性和社区的

由于三维世界的丰富性,设计体系必然会五花八门,大技术标准主导市场的可能性不大。 我们可以有哥特设计系统,赛博朋克设计系统,或者具体的交通规划系统,植被系统,人物系统. ..  无限可能。 如果开发出自己风格的设计系统,就有可能建立一个社区,进而建立一个属于自己的虚拟世界。

3、模式理论和生命世界的产生

  • 模式理论
“掌握模式语言的人,不一定是‘专家’。 专业知识在于语言。 他/她可以为规划和设计做出贡献,因为他们知道相关模式、如何组合它们以及特定部分如何融入更大的整体。” — Christopher Alexandar,模式语言

当谈到如何缩放设计时,我脑海中浮现的第一个灵感来自克里斯托弗·亚历山大。 他是一位建筑师和设计理论家,影响了建筑以外的领域,包括城市设计、软件和社会学。 具有讽刺意味的是,亚历山大在他所在领域的一些主流建筑师和评论家中被认为是有争议的,而他的作品在其他领域获得了更大的认可。 在软件方面,亚历山大被视为模式语言运动之父。 Alexander 的工作也影响了敏捷软件开发的发展。

Alexander 最出名的可能是他 1977 年出版的《模式语言》一书,其目的是为普通人(不仅是专业人士)提供一种设计培育环境和进行任何规模建设的方法。 他的书直接启发了城市建设模拟游戏 SimCity 的创造者 Will Wright,“我对设计的过程和策略很感兴趣。 建筑师克里斯托弗·亚历山大在他的《模式语言》一书中将许多空间关系形式化为设计语法。 我真的很想研究复杂系统的语法,并为人们提供设计复杂事物的工具。”

正如模式语言所解释的那样,“每个模式都描述了一个在我们的环境中反复出现的问题,然后描述了该问题解决方案的核心,以一种你可以使用该解决方案一百万次的方式,而无需做 同样的方式两次。

对于 UX 设计师来说,这个概念听起来非常熟悉——它是每个设计系统的基础。 设计模式是统一最佳实践、描述良好设计元素的通用资源,最重要的是,它提供了一个存储库,以便其他人可以轻松地重用这些解决方案。 一个完美的轮子已经存在,为什么还要发明轮子?

  • 建筑环境中的“生活”

什么是好的设计以及如何评估设计? 我们能客观地研究“感觉”吗? 亚历山大的目标是创造一种科学的世界观,在这种世界观中,这个概念——万物都有其生命的程度——得到了明确的定义。 在他后来的著作《秩序的本质》中,亚历山大试图定义建筑环境中的“生命”,并确定为什么一个建筑环境可能比另一个建筑环境拥有更多的生命。

可悲的是,他认为我们不再有能力在世界上生产“活结构”,尤其是在二战之后。 许多现代建筑是惰性的,让人感觉内心死寂。 维持和培育我们所需要的、在某种程度上确实存在于传统社会、农村社区和早期城市住区的“生活结构”已经消失了。

哪里出了问题,建筑又该如何改正呢? 从他的设计模式开始,他发现那些最能激起人们感情的设计,也就是他所谓的生活结构,都具有某些共同的品质。 这不仅仅是一种预感,而是一种可检验的经验理论,他从 20 世纪 70 年代末到世纪之交一直在验证和完善这一理论。 他确定了 15 种品质,每一种都有技术定义和许多例子。 作为对模式理论的补充,只要建筑物有生命,这 15 种几何特性似乎就会在空间中递归存在。 这 15 个属性似乎定义了一种更基本的东西; 类似于我们之前提到的模式,但更浓缩、更本质——某种所有好的模式都是由这些东西组成的。

这15种品质是:

  • Levels of Scale:规模水平
  • Strong Centers:强大的中心
  • Boundaries:界限
  • Alternating Repeating:交替重复
  • Positive Space:正空间
  • Good Shape:良好的形状
  • Local Symmetries:局部对称性
  • Deep Interlocking and Ambiguity:深层次的环环相扣和歧义
  • Contrast Gradients:对比度渐变
  • Roughness:粗糙度
  • Echoes:回声
  • The Void:虚空
  • Simplicity and Inner Calm:简单和内在的平静
  • Not Seperateness:不分离

这 15 种属性后来成为所有模式的基础,并开始越来越清晰地出现在他的作品中,作为地方、建筑物、事物、空间等生活结构的主要关联。

  • 一个完整的、活生生的世界的产生

在亚历山大看来,事物不是孤立的实体,而是相互联系的整体的一部分。 要了解该事物有多“好”,必须根据该事物的背景对其进行整体评估。 例如,房间是建筑物的下部结构,是街道的下部结构,是城市的下部结构,是国家乃至整个地球或宇宙的下部结构。 另一方面,同一个房间在不同的规模(或等级)水平上包含的小子结构也远多于大子结构。 例如,一面有画的墙可能进一步包含比“大”更多的“小”。 因此,那个房间的好坏取决于它相邻的房间和事物、房间内较小的事物以及包含该房间的较大事物(或建筑物)。 它本质上是空间优点的递归定义。

4、具有世界构建算法的生成式艺术系统

生成式艺术(Generative Art)是指艺术家使用系统(例如一组自然语言规则、计算机程序、机器或其他程序发明)的任何艺术实践,这些系统以某种程度的自主性启动,有助于或导致 一件完成的艺术品。—菲利普·加兰特

有许多成熟的生成技术,每一种技术都可以通过无休止的论文和研究加以完善。 在本章中,我将通过 3D 内容生成中的示例简要介绍这些概念。

4.1 随机性和噪音

使用随机性和噪声可能是最古老、最简单、最常见的生成艺术方法。 艺术家使用各种参数来定义一个变化的空间,可以在一定范围内取值,随机选择的值影响被操纵的元素,从而形成最终的作品。

噪声的基础来自随机数。 随机数的特点是每个点的值都是离散的,相互之间没有任何关系,而噪声使离散的随机数连续。

有不同种类的噪声,如白噪声、红噪声、柏林噪声等。 有关噪声理论的更多详细信息,可以查看这篇文章

  • Perlin噪声

Perlin 噪声是由 Ken Perlin 发明的一种程序生成算法。 它可用于生成各种具有自然品质的效果,例如云彩、火焰、地形、风景和大理石等图案纹理。 该算法可以在不同的维度上实现。

你还可以尝试这个基于噪音的生成生物群落,点击随机化创建新的或自己定制。

4.2 混沌理论和分形

混沌是关于意外、非线性和不可预测的科学。 它教会我们期待意想不到的事情。 大多数传统科学处理的是所谓的可预测现象,如重力、电力或化学反应,而混沌理论处理的是实际上无法预测或控制的非线性事物,如湍流、天气、股票市场、我们的大脑状态等。 这些现象通常用分形数学来描述,它捕捉了自然界的无限复杂性。 许多自然物体表现出分形特性,包括景观、云、树木、器官、河流等,我们生活的许多系统表现出复杂、混乱的行为。

分形是一种永无止境的模式。 分形是无限复杂的模式,在不同尺度上自相似。 它们是通过在持续的反馈循环中一遍又一遍地重复一个简单的过程而创建的。 在递归的驱动下,分形是动态系统的图像——混沌的图像。 在几何上,它们存在于我们熟悉的维度之间。 分形图案非常熟悉,因为大自然充满了分形。 例如:树木、河流、海岸线、山脉、云层、贝壳、飓风等。

在扩展 3D 分形时,有许多很好的示例和工具。 印度教寺庙具有自相似的分形结构。 Mandelbulb 是一个三维分形,由 Jules Ruis 于 1997 年首次构建,并于 2009 年由 Daniel White 和 Paul Nylander 进一步发展。 Mandelbulb 3D 是为 3D 分形成像创建的免费软件应用程序。

4.3 L系统

生物学家 Aristid Lindenmayer 于 1968 年创建了 Lindenmayer 系统或 L 系统,以规范细菌生长模式。 L-systems 是一种递归的字符串重写框架,如今常用于计算机图形学中以可视化和模拟有机生长,并应用于植物发育程序化内容生成和类分形艺术。

L-system常被艺术家用来生成植物形态或模拟植物的生长过程。

这是一个交互式在线工具,用于调整和使用 2d L 系统生成器。

Michael Hansmeyer 是一位建筑师和程序员,他探索使用算法和计算来生成建筑形式。 受到细胞分裂的启发,Michael Hansmeyer 编写了一个具有惊人华丽形状和无数面的设计算法。 没有人可以用手画出它们,但它们可以被制造出来——而且它们可以引发对传统建筑形式的思考狂潮。

这是 Michael Hansmeyer 在 2012 年的 TED 演讲《构建难以想象的形状》:

4.4 形状语法

计算中的形状语法是生成几何形状的特定类生产系统。 通常,形状是 2 维或 3 维的,因此形状语法是研究 2 维和 3 维语言的一种方式。 1971 年,George Stiny 和 James Gips 在一篇开创性的文章中首次介绍了形状语法。

形状语法是在 2D 和 3D 空间中“以逐步方式应用以生成一组设计或设计语言的一组形状规则”(Shape grammars in education and practice, by Terry Knight, 1999) . 它们可以作为复杂设计的简单起点。

这是重建帕拉第奥式别墅的形状语法。 帕拉第奥文法最初是由 Stiny 和 Mitchell 提出的。

在 Unreal 的 The Matrix Awakens 中,建筑生成器使用形状语法语言来设计建筑体积。 每种不同的建筑风格都有一套不同的规则。

你可以观看 The Matrix Awakens:Generate a world 的技术讲座:

CityEngine 是一种允许程序生成形状的工具,即通过编写描述它们的规则而不是直接创建它们的几何图形。 这种策略,也称为基于语法的建模,在需要大量创建遵循某些标准化规则的形状时特别有用,这使得它非常适合城市环境的生成。

CityEngine 提供了自己的编程语言,称为 CGA 形状语法,专门用于编写生成建筑 3D 内容的规则。

4.5 波函数坍缩

Wave function collapse 是 Maxim Gumin 开发的一种算法,作为一种基于简单配置或样本图像的纹理合成方法。 它是一种基于约束的过程算法,其灵感来自于量子物理学中的波函数坍缩概念并为其命名。 在量子物理学中,波函数坍缩是指粒子的未观察状态可以是任何状态。 一旦观察到粒子,可能性就会消失,波函数就会崩溃。 同样的想法是程序算法的支柱。

这篇文章很好地解释了波函数坍缩算法。

开发者 Marian 使用波函数坍缩算法构建了一个无限城市生成器:

Townscrape 是使用波函数坍缩算法开发的最著名的游戏之一。 这是一个小游戏,有大野心。 一个城市建设者,玩家可以在其中简单地从游戏世界中添加或删除一个块。 有了这个有限的工具集,你可以打造从田园诗般的海滨小镇到地平线跨越大都市的一切。

可以点击这里试玩 Townscaper 的网页版。

4.6 马尔可夫算法

在理论计算机科学中,马尔可夫算法是一种字符串重写系统,它使用类似语法的规则对符号字符串进行操作。 马尔可夫算法已被证明是图灵完备的,这意味着它们适合作为通用计算模型,并且可以用简单的符号表示任何数学表达式。 马尔可夫算法以苏联数学家小安德烈·马尔可夫的名字命名。

基于马尔可夫算法,开发人员 Maxim Gumin 提出了 MarkovJunior,一种基于模式匹配和约束传播的概率语言。

MarkovJunior 中的概率推理允许对未来状态施加约束,并仅生成那些导致受限未来的运行。 例如,推箱子规则 {RWB=BRW RB=BR} 中的推理使一组(红色)代理将(白色)板条箱组织成指定的形状。

使用这些想法,我们构建了许多地牢、建筑、谜题和有趣模拟的概率生成器。

这是 MarkovJunior 的源代码

4.7 镶嵌

镶嵌或平铺是表面(通常是平面)的覆盖物,使用一种或多种几何形状(称为瓷砖),没有重叠也没有间隙。 在数学中,镶嵌可以推广到更高的维度和各种几何形状。 镶嵌产生了许多类型的拼贴拼图,从传统的拼图游戏(使用不规则的木块或纸板)和七巧板到通常具有数学基础的更现代的拼图。

在建筑中,镶嵌图案自古以来就被用来制作装饰图案。 马赛克瓷砖通常有几何图案。 镶嵌图案经常出现在 M. C. Escher 的图形艺术中; 1936 年访问西班牙时,他受到摩尔人在阿尔罕布拉宫等地使用对称性的启发。

镶嵌可以扩展到三个维度。 某些多面体可以以规则的晶体图案堆叠以填充(或平铺)三维空间,包括立方体(唯一柏拉图多面体这样做)、菱形十二面体、截角八面体、三角形、四边形和六角棱柱, 除其他外。

4.8 遗传算法

遗传算法 (GA) 是一种受自然选择过程启发的元启发式算法,属于较大的进化算法 (EA) 类别。 遗传算法通常依靠变异、交叉和选择等受生物学启发的算子来生成优化和搜索问题的高质量解决方案。

典型算法的单循环基本上是从初始选择,经过交叉,依次进行变异。 如果结果不符合标准,算法循环将重新开始,使用新的后代作为染色体的初始种群。 下图显示了 GA 的工作逻辑。

GA 特别适用于解决具有大量可能解的优化问题。 我认为候选人的多样性和遗传算法的选择系统有利于架构演化过程。

下面的示例显示 Nathaniel Louis Jones 使用 GA 作为进化工具来创建更适合的房屋,这些房屋按照明、供暖和功能标准进行排名。 “算法运行几次后,建筑师有许多适合的设计选项可供选择……GA 发现的一些解决方案以展示机器创造力而著称,即使没有人类智能,这些适应性似乎也经过深思熟虑。 在他们身后”,N. Jones 说。

4.9 元胞自动机

元胞自动机在 20 世纪 50 年代初作为生物系统的可能模型进行了研究。 元胞自动机是特定形状网格上“彩色”单元的集合,它根据基于相邻单元状态的一组规则通过多个离散时间步演化。 然后根据需要对任意多个时间步重复应用规则。 冯诺依曼是最早考虑这种模型的人之一,并将细胞模型纳入他的“通用构造函数”。

在二维中,最著名的元胞自动机是 J. H. Conway 于 1970 年的生命游戏

在将元胞自动机扩展到 3d 的同时,下面的项目演示了使用神经元胞自动机生成类似 Minecraft 的 3d 工件。

4.10 涌现和群体智能

群体智能系统通常由一群简单的代理或类群组成,它们在本地彼此交互并与环境交互。 灵感往往来自大自然,尤其是生物系统。 代理人遵循非常简单的规则,虽然没有集中控制结构来规定单个代理人应该如何表现,局部的,并且在一定程度上是随机的,但这些代理人之间的交互导致出现个体不知道的“智能”全局行为 代理商。 自然系统中群体智能的例子包括蚁群、蜂群、鸟群、老鹰狩猎、动物放牧、细菌生长、鱼群和微生物智能。

与大多数人工生命模拟一样,Boids 是紧急行为的一个例子; 也就是说,Boid 的复杂性源于遵守一组简单规则的各个代理(在本例中为 boid)的交互。 在最简单的 Boids 世界中应用的规则如下:

  • 分离:转向以避免拥挤当地的flockmates
  • 对齐方式:转向当地 flockmates 的平均航向
  • 凝聚力:引导向当地 flockmates 的平均位置(质心)移动

可以添加更复杂的规则,例如避障和寻找目标。

在现代娱乐产业中,电影和游戏中的人群、战争、动物集群等大场景越来越多地借助于群体计算产生。

4.11 3D 内容生成中的人工智能

人工智能是一个快速发展的领域。 我现在写的内容可能在 6 个月后就完全过时了。 听起来很可怕,但我相信 AI 支持的 3d 内容创建工具将会起飞,使用户能够填充元宇宙,这只是时间问题。

对于文本->2d 图像生成,DALL·E、Midjourney 等 AI 工具已经可以完成令人惊叹的工作。 用户只需键入文本提示即可生成令人惊叹的图像。

NVIDIA GET3D 仅使用 2D 图像进行训练,可生成具有高保真纹理和复杂几何细节的 3D 形状。

谷歌研究院推出了 DreamFusion,这是一种根据文本提示生成 3D 模型的新方法。 该方法将文本到 2D 图像的扩散模型与神经辐射场 (NeRF) 相结合,生成质量适合用于 AR 项目或用作雕刻基础网格的纹理 3D 模型。

至关重要的是,它不需要一组真实的 3D 模型来用作训练数据——这可能为开发实用的、面向大众市场的基于 AI 的文本到 3D 工具铺平道路。

你还可以使用 AI 工具为 3D 资产制作动画、进行运动跟踪和自动绑定。

我们可以在 3D 上下文中分离内容和形式吗? 在二维互联网上,我们可以将内容和形式分开。 例如,HTML 是内容,CSS 是形式。 如何在三维空间中分离体积和风格,如何定义三维空间中的体积和风格? 在2D绘画中,我们可以通过机器学习(风格迁移)将一幅画变成莫奈和毕加索的风格,那么在3D空间中,我可以将一个普通的立方体变成高迪的风格吗?

或许在不久的将来,用户可以结合一套AI工具,通过文本提示描述场景,轻松生成高质量的3D资产,这将从根本上改变内容创作格局,让3D沉浸式虚拟宇宙成为现实。

5、产品愿景、可用性和可扩展性

  • 易于使用和访问

3D 设计系统的产品需要对没有设计经验的用户直观,以最小化复杂性,同时具有灵活性,以便用户可以根据他们需要了解的内容充分利用它。

可视化编程语言可以方便用户应用和执行内容创建任务。 基于节点的界面在设计/开发工具中非常常见,例如 Scratch、Houdini、Unreal Blueprint、Grasshopper、Blender 几何节点等。 用户可以组合和调整预定义的设计包来构建场景并应用交互和视觉效果。

它应该很容易访问并与您的团队协作,因此这些工具需要基于网络。 我们需要制作基于浏览器的几何引擎。

以下是一些我认为很有前途的基于 Web 的 3D 设计产品:SplineShapeDriver

  • 易于集成、扩展和互操作性

3d 设计系统需要利用现有工具构建的设计解决方案,并为高级用户提供扩展功能的选项。 3D 资产互操作性是确保每个人都在同一基础上构建的关键。

Metaverse 标准论坛是标准组织和行业之间协调的独特场所,其使命是促进务实和及时的标准化,这对于开放和包容的 Metaverse 至关重要。” “技术和标准是元宇宙的砖头和水泥。”

  • 设计驱动、系统思考和社区维护

3d 设计系统是关于探索可以扩展的设计过程和策略。 系统思考是一种理解世界复杂性的方式,它通过从整体和关系的角度来看待世界,而不是将世界分解成各个部分。 我们可以利用和集成大量的设计解决方案,无需从头开始发明轮子。 我们只需要让系统超级易于使用和发展。

没有社区的支持,设计系统就不会蓬勃发展。 我们需要各种设计解决方案、样式、动作和交互来填充“系统库”以增强最终用户的能力。


原文链接:Envisioning 3D design systems for the Metaverse

BimAnt翻译整理,转载请标明出处