编码艺术:我们如何在设计项目中生成图形和动画

在JetBrains,我们喜欢尝试。 我们的实验结果并不总是公开的,但是我们现在准备与您分享一些东西。

我们的新项目开始于自动化设计过程的愿望。 对于产品的每个版本,设计人员都需要准备大量的营销材料。 同时,仅在不同媒体上简单地复制图形是完全不够的,您需要能够在每个副本中做出合理且在美学上合理的变化。

为此目的生成图形的想法并不是什么新鲜事,对于设计师来说,对图像进行深入而精确的控制很重要,以便快速更改和部署新的视觉配置,而无需大量重写生成结构以及在代码生命周期的不同阶段无休止地捕获错误。
图片

为了解决这个问题,程序员与设计师结合在一起,我们得到了去年展示的图形生成器。 该生成器不仅用于娱乐:我们用它在T恤和其他金属丝上创建了初始屏幕,横幅,印刷品。 初始生成器仅能够生成静态图像; RPD库播放的节点充当控制接口的角色。

今年,我们迫切需要视频,屏保和交互式横幅的动画。 对于网络上的动画,我们上次使用的JavaScript似乎也很容易出错,因此我们选择了Elm,它可以编译成非常快的JS。

Elm是ML系列中最简单,最友好的函数式语言,具有静态类型,这使得编写保证工作的代码和描述复杂性增加的类型结构成为可能。 自成立以来,Elm一直以Web图形为目标,在该语言的第一版中提供的软件包中有精美的elm-collage ,不久之后出现了elm-webgl软件包,不仅为用户提供了围绕WebGL API的简约包装,而且还为用户提供了控制着色器中的“制服/属性/变量”类型。

code2art.jetbrains.com-在这里您可以启动生成器,并在发现设计驱动器后移动设置。 您可以将所需的框架包装为.png或将动画下载为具有必要资源的HTML5页面。

对于您不停地按下“我感到幸运”按钮所花费的时间,我们不承担任何责任。 如果您喜欢视觉上的“旅行”,那么这是一个长时间悬挂的好地方。

除其他事项外,我们再次允许我们尝试使用纯功能语言编写的界面,或者,作为替代,我们为您提供一个TRON界面: code2art.jetbrains.com/#tron
图片

生成器的作者将在1月26日在明斯克举行的f(by)会议的一份报告中描述更深入的技术细节。

生成器的源代码可以在这里找到: github.com/JetBrains/elmsfeuer

您的JetBrains团队
发展动力

Source: https://habr.com/ru/post/zh-CN434796/


All Articles