在 Unity 中导入 .ai插画文件并显示它们

问题描述

我想在我的游戏中加载一个插画文件。 Unity 应该识别不同的图层、颜色和形式,以及带有文本的图层,并将它们显示在 2d 画布中。 目标是玩家可以点击不同的表单,并且统一将它们识别为单独的表单。你知道任何统一资产或使这成为可能的方法吗? 例如,当您将这样的图像作为插画文件导入时 -> https://www.mandala-bilder.de/mandala/erwachsenemandalas/mandala-ideen-erwachsene.pdf 我想过一个 SVG 文件,但后来我不能使用不同的层。

解决方法

Illustrator 具有专有文件格式,它没有针对较新版本的公开可用文档。虽然您可以挖掘旧规范(这就是为什么有些程序只支持保存在旧版本中的 AI 文件)http://www.idea2ic.com/File_Formats/Adobe%20Illustrator%20File%20Format.pdf 我认为您不能在不请求(和激励)规范的情况下直接开始支持 2021 变体来自 Adob​​e。他们可能还想向您收费。 另一方面,SVG 是免费的,它的规范是公开的,因此得到了广泛的支持。 SVG 还支持可以满足您对图层需求的组

,

Vector Express 是一个您应该可以使用的免费转换 API。 (不过需要网络连接)

https://github.com/smidyo/vectorexpress-api

您应该能够向此端点发布请求 (https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.Post.html),并将原始 AI 文件作为正文:

POST https://vector.express/api/v2/public/convert/ai/gs/pdf/psd2svg/svg/

这将返回一个带有指向 SVG 文件链接的 JSON 对象,然后您可以下载和显示该文件。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...