【问题标题】:What is the correct procedure to create images/sprite for iPhone/iPad apps/games?为 iPhone/iPad 应用程序/游戏创建图像/精灵的正确程序是什么?
【发布时间】:2017-01-20 16:47:26
【问题描述】:

我是使用 Xcode for iPhone/iPad 开发游戏的新手。因此,我需要一些帮助来正确地为游戏创建图像/精灵。

现在我已经用 Illustrator 创建了我的精灵,并将它们导出为 PDF 文件。在 Xcode 中,我创建了这个单一比例资产并将 PDF 放入其中。

如果我对文档的理解正确,Xcode 会自动从 PDF 生成位于 @1x@2x@3x 的图像文件。它会生成PNG文件吗?

然后我创建一个SKSpriteNode 并像这样设置大小:abc.size = CGSize(width: 123, height: 123)。我没有填写123,而是填写了与我在 Illustrator 中设置的框架/图像大小相对应的宽度和高度。它是否正确?我想是的,因为这是@1x版本?!

但是,如果我需要不同尺寸的 iPhone 和 iPad 相同的图像,我不能简单地调整它的大小,因为 @1x 图像版本不再是矢量并且限制在我在 Illustrator 中选择的帧大小?那该怎么办?我是否必须在 Illustrator 中调整图像大小并将其导出为不同大小?

正确的程序是什么?我必须在一开始用铅笔在纸上画草图,然后用尺子测量吗?然后我会去 illustrator 并将框架宽度高度设置为我手动测量的值?

很多问题。我对这些图像大小、分辨率和@1x@2x@3x 版本感到非常困惑。我不确定为什么要使用矢量文件,如果我仍然无法在开发过程中调整图像大小,因为它们仍然绑定到我在 Illustrator 中选择的帧大小。

有没有可能在我的所有图像之间设置比例,然后只使用矢量 PDF 文件? 我应该如何设置我的 Illustrator?

我希望有人能给黑暗带来一些光明。谢谢。

【问题讨论】:

  • +1000000 x 一百万。关于这点的 Apple 文档令人眼花缭乱,而且似乎没有任何艺术家或程序员曾经相互忍受足够长的时间来解决这个问题。

标签: ios iphone sprite-kit


【解决方案1】:

您的 pdf 的大小应以点 @1x(不是像素)为单位。这些点在手机和 ipad 上的物理尺寸应该相同,但如果您希望手机上的点更小,则需要第二组图像;资产目录可让您交换基于 iphone/ipad 的图像。 Xcode 将您的 pdf 渲染为 png 的 @1x、@2x 和 @3x,您的应用程序将根据设备的分辨率选择正确的 png。你是对的,这些不再是矢量资产,放大它们可能会给你留下模糊/像素化的图像。您有两种选择:

1) 在应用程序中以最大比例包含放大版本的图像,并且仅在需要放大时使用此版本(否则,如果您总是渲染小得多的图像,则会浪费内存和处理)。这可能是最简单的解决方案。

2) 将资产保留为矢量并将它们作为矢量加载,您仍然可以将它们渲染为图像以在恒定比例或比例范围内实现性能,但如果需要,您始终可以以任何比例重新渲染它们。您很可能希望为此使用SVG library

3) 您可以使用paint code 等程序直接将资产作为代码导入。 Illustrator 曾经有类似的插件,但我还没有看到 Swift 3/Illustrator CC 的插件。这显然比#2 快,因为不需要解码矢量文件。如果您的文件有很多过度绘制,您可能仍希望光栅化为图像以​​提高性能。

【讨论】:

  • 恕我直言,我想你可能已经用一个通用的答案回答了你认为的通用问题。这个问题并不像最初看起来那样笼统。
  • 当然具有讽刺意味的是,应该有一套通用的步骤来回答这些生产工作流程的问题,但似乎没有,而且这些肯定不是。跨度>
【解决方案2】:

这是我从我的经验中发现的:

1) Xcode 不会从 .png 文件生成 @2x 和 @3x。确实不行 - 您需要手动提供 @1x、@2x 和 @3x 尺寸。

2) 无论您为 CGSize(...) 使用什么大小,它都应该是您的 @1x 图像,然后生成 @2x 和 @3x。我首先在场景编辑器中设计关卡的大小,然后制作一个通用的 SKSpriteNode 形状以获得我想要的大小,然后我开始根据我认为看起来不错的大小制作图像。

3) Xcode 支持基于矢量的图形(svg、pdf),但您不能将它们用作纹理图集的一部分,这在我看来使它们的用处大大降低。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    相关资源
    最近更新 更多