点击上方蓝字
CG世界
关注CG我们
“ 感知CG · 感触创意 · 感受艺术 · 感悟心灵 ”
中国极具影响力CG领域自媒体
前些天我们刚唠了“AI时代哪些CG工作可能会面临失业?”
(详情请见CG世界菜单“
Pro平台
”---会员精读)。
在里面详细的谈了这几年AI发展过程中对于CG行业的改变与未来的可能性。很多人看了之后觉得是危言耸听。当然,每个人对于AI对于人类工作的冲击理解是不同的。但不管你是否认同,很多技术都在我们身边悄悄诞生。就像今天我们要跟大家讲的程序化系统。这是由来自捷克的CG艺术家Denis Kozlvo开发的CG生物生成器和飞行器概念生成器程序化软件。
Denis Kozlvo这几年一直在开发程序性的系统,主要探索的是在形式化视觉艺术方面到底人类能走多远。这些工具可以使任何人能够以几乎容易思考的想象力方式呈现。下面我们来看看Denis用Houdini制作的一种生物生成软件的效果演示。
这个软件的名字叫
Kozinarium
,它是一款基于Houdini和Fusion的程序化生物生成系统软件。系统的内核是由大概1700个Houdini节点组成,用户只需要输入数字就能够生成随机种子,Kozinariom根据结果输出新生物或者是动画,并且通过新模块轻松实现扩展。
基于CHOP的发生器用于生成生物形状和运动的核心模块;最终的网格化基于VDB体积,大大简化了拓扑过程,还包括生成多边形和UNRBS的中间几何体过程。
该系统利用Houdini的FEM模拟生成真实且柔和的次级运动,实现“灵活的牵线木偶式”的绑定效果,其结果利用程序化置换在Mantra中进行渲染(每帧3-5min)。此外,生物表面颜色也是程序化生成的,在Fusion中进行后期处理。
另一个名为
Project Aero的软件
是Denis为快速设计飞行器概念而专门开发的一款软件。算是计算机辅助设计系统的一个实例吧。艺术家可以完成初期的创意工作,由计算机为其“填补空白”之处。点击视频观看设计demo哦~
它可以根据自定义规则构建大量细节,将艺术家的创意草图填充为完整的模型,还可以交互地设计参数。针对于这款软件的“程序化”指的是每个飞行器的每个单独元素(如铆钉形状或是绘制纹理)都是从设计草图开始,不需要使用任何照片纹理或者资料模型。
那么上面这两款程序化软件实现的原理是什么呢?
这两款程序化软件的本质,就是将艺术家的专业知识转化为计算机理解的形式。其实,这个过程我们每天都在发生。比如你要针对外星生物主题创作一个外星人的形态。这个过程你会去找参考,反复的修改,想法迭代然后到电脑里建模生成,然后在修改细节等等一系列过程。这个过程是单一实例的创作。
而这里用户不用再专注创建关于主题的某个实例,而是在同一时刻对所有类型文件进行绘制、迭代以及不同版本的修改都考虑出来。在明确主题和创作过程的前提下写出明确算法,解释给计算机。这种方法其实是分析性的,而不是深度学习的统计方法。
在明确了任务的全部范围之后,
第一步要做的就是识别模式
。艺术化过程中这两种模式都可以成为未来系统的基石,以及与主题相关的模式:结构上构成主题的是什么? 多样性来自哪里? 对观众影响最大的是什么?等等。
对于Kozinarium软件来说,虽然Hox基因
(是生物体中一类专门调控生物形体的基因,一旦这些基因发生突变,就会使身体的一部分变形)
的概念极具影响力,但在最终工具中没有直接设定;而研发Project Aero的过程,吸收了很多实际飞行器的设计经验。
基于这些模式,设计了系统。也就是大家所理解的“软件架构”。
第二步就是要解决
一些重要的问题
,比如在系统中还有什么遗漏的;还有什么细节问题没有考虑到;在接下来的版本中什么可以进行改变,什么需要保留等等。比如Aero和Kozinarium都利用到了双边对称。在上面两个视频中生物和飞行棋基本都是对称的。不过在Aero中可以进行手动关闭,而在Kozinarium中则保留了一些空间,以增加次级对称平面或者是径向平面。
第三步就是用实际的CG工具来表达最终设计
。这就要求对计算机图形学有一个很全面的了解,如果想要创建一个前所未有的东西,绝对不能只是随意翻看别人的技术,很有可能就被前人用过的技术给限制住了。自己要对所有可能性有一个很好的预估,预测操作结果,或者是以精确的数字术语来设定。Denis Kozlvo认为,如果开发人员能有不同专业领域的经历会更加分,毕竟他也是在从事CG/VFX行业16年以后才敢开始开发自己的程序化软件。
最后就是实施阶段
。选择了用于3D工作的Houdini和用于2D的Fusion。C++也可以说是很通用的解决方案,但是相对来说level还是比较低级的;Java和Processing在程序界比较受欢迎,而CG行业标准则是Python。整个一系列过程简而言之就是“基本分析---综合研究---实践”的一条龙流程,配合着专业知识共同进行。
Flight Immunity,Denis用Project Aero创建的艺术项目,包括50多种原始飞机设计
试想一下,有这么一个系统。不管是文字还是参数模块,也不管是现成的还是需要创建的,仅仅通过描述就可以创建视觉效果和3D对象,更重要的是只要用户想要创建,他根本不需要了解具体的技术细节。这其实就是一种高级别的图形创建,并非直接操作低级别的像素或者多边形。
这种系统可以让每个人很容易地就能获得视觉艺术。从另外一种角度讲,创建和定制这种系统本身就可以定义为一种艺术形式。更何况,它比现在的工具相比更优化,而且还是可以被创建的系统。
CG工具已经走了很长的路,最初提供的是真实度和自动化程度都优于透视投影的效果,后来无偏渲染的出现带来了更加真实的色调。定义数字形式的方式也从繁琐的数字运算过渡到了自然绘图/雕刻上,许多事实都表明艺术创作正朝着越来越高级的方向发展。
Project Tundra
当前DCC系统在许多方面都体现出效率低下的弊端,通常情况下是在软件和用户之间没有缓冲的技术条件下设计出来的。这时多边形、UV、插值和连接等这些语言对于高级别艺术工作来说是不合时宜的。
其实有这么几种方法可以
构建通用的高级别内容创建系统
。第一个就是建立专门的模块网络,每个模块都是为具体任务量身定制的。像景观生成和数字角色这样的任务模块也存在很长一段时间了,比如我们大家都很熟悉的Vue、SpeedTree和MakeHuman;其实Project Aero和Kozinarium也可以算最这一类,就是使这些模块兼容,可以互相进行“交谈”。
另一种解决方案是通用AI的发明。Denis认为,虽然在此之前机器学习的方法已经在CG应用程序中显示出非常令人印象深刻的效果,AI确实是下一代图形软件生成的另一种可行方法。但是也有面临的问题,虽然可以为特定的任务训练模块,但是缺乏将这些模块“组装”起来的“粘合剂”。
想要开发这样一种“粘合剂”,可以连接各个程序模块的通用框架,就是接下来的第三种方法。
视觉艺术是可视化的,而且可以通过算法达到比“想当然”更高的程度。这个过程却是需要大量的知识,需要付出很多的努力和投入,也需要一个可以形式化的愿景。在设计程序系统时,Denis想到的是和“像素”“多边形”“UV”完全不同的术语,他认为应该对这些术语进行概括。
像“点”“曲线”“曲面”这样的基本概念都可以重新定义成主要术语,比如“角”“对比”“节奏”“交汇点”等等。像“NURBS”、多边形、栅格和适量这些特定和CG相关的内容应该成为次级术语,都是派生出来的。多个参数化应该出现在视觉权重、隔离、重音、饱和度等概念的语义空间中。其实并没有什么高深莫测的内容,这些都是用数学术语来表达现有的艺术知识。
这样的系统可以成为全新高级DCC软件的基础,它可以把不同性质的各个模块链接在一起,甚至是成为更多情景感知机器学习系统的指南。
最后给大家po一个Denis最近利用Kozinarium技术制作的生物demo吧。
可以到他的个人网站和Twitter主页上了解更多内容哦~如果你有不同的想法和观点,也可以在下面给我们留言~
https://www.the-working-man.org/
https://twitter.com/kozinarium
特效跟组需要知道的那些知识点
(持续更新中)
长按二维码识别阅读