graphics - 创建 2D 图形资源的最佳实践

标签 graphics 2d assets

作为一个简短的背景,我一直在慢慢地研究我一直想制作的游戏的核心框架。现在我想开始用一些图形资源而不是彩色框来充实它。这让我想到了问题的核心:

创建无论使用何种设备都具有相同质量的图形资源的最佳方法是什么?

我的游戏采用 Pokemon 风格,因此我希望捕捉 16 位的感觉,同时保持清晰,无论设备分辨率如何。这是否意味着我只是创建了大量重复的 Sprite 表?即每个 Assets 的 16x16 32x32 48x48 64x64 版本?或者我应该制作矢量艺术并专门为每个设备渲染它?或者还有其他我没有考虑过的替代方案吗?

谢谢!

最佳答案

如果您所说的 16 位感觉是指经典的老式“像素化”风格(但边缘清晰)。然后,您可以使用 Pixel Art Scaling Algorithm 根据您需要的任何因素以最小尺寸和高档绘制它们。 ,最简单的是最近邻。当然,有许多算法可以产生比 NN 更好的结果,例如 2xSaI 和 hqx 系列算法,如果需要旋转,还可以使用 RotSprite。

如果您想要干净的抗锯齿边缘,您可能需要查看这篇 Microsoft 研究论文:Depixelizing Pixel Art

然后,您可以使用这些算法作为游戏的加载预 channel 。

或者,您可以将它们“提前”转移到您的艺术流程中,以帮助加快生成多个(分辨率/变换)变体,您可以进一步对其进行修改。这种选择很大程度上取决于您的劳动力资源水平和完美主义。另请注意,这会失去解决方案的“纯度”,因为它违反了 DRY,因为更新将需要对 Sprite 的所有变体进行更改。

我建议首先尝试一些升级过滤器,看看您是否对结果感到满意。如果是的话,您可以通过加载预 channel ,这是迄今为止最理想的结果,因为它大大减少了工作和维护。

关于graphics - 创建 2D 图形资源的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10305923/

相关文章:

http - Golang 从内存中提供静态文件

jekyll - 使用 jekyll 链接到 Assets 中的文件在 github 项目页面中不起作用

r - 如何在R中绘制下图?这些类型的图表叫什么?

opengl - SFML::View inverted-y 轴是标准的吗?如何解决它?

javascript - 如何向 Three.js 场景添加 2D 实时动态文本?

ios - iOS 2D 游戏的图形

使用 Java SWING 的 Java 2d 游戏

java - Swing 字体名称不匹配? (制作字体选择器,并尝试在 JComboBox 中显示默认系统字体)

java - Java2D 可以像 LWJGL 和 JOGL 一样快吗?

android - 在 Android Studio 中更改资源路径