java - 2D 游戏中可自定义的玩家头像

标签 java 3d 2d

我怎样才能在我的游戏中拥有玩家可以改变他们的发型、外观、衣服风格等的功能,这样每当他们穿上不同的衣服时,他们的头像就会随之更新。

我应该:

  • 让我的设计师将盔甲、发型和面孔的所有可能组合创建为 Sprite (这可能需要大量工作)。

  • 当玩家在介绍游戏时选择他们的外观时,我的代码会自动创建这个 sprite,以及头饰/盔甲与该 sprite 的所有可能组合。然后每次他们选择一些不同的盔甲时,该盔甲/外观组合的 sprite 就会被加载。

  • 是否可以将一个角色的 sprite 分成多个部分,例如脸、衬衫、牛仔裤、鞋子,以及每个部分的像素尺寸。然后每当玩家更换他的 Helm 时,例如,我们使用像素尺寸将 Helm 图像放在其面部图像通常所在的位置。 (我正在使用 Java 构建这个游戏)

  • 这在 2D 中是不可能的,我应该为此使用 3D 吗?

  • 还有其他方法吗?

请指教。

最佳答案

要考虑的一个主要因素是动画。如果一个角色有带垫肩的盔甲,这些垫肩可能需要随着他的躯干移动。同样,如果他穿着 Boot ,则 Boot 必须遵循与隐藏的赤脚相同的循环。

本质上,您的设计师需要的是 Sprite Sheet这让您的艺术家可以看到您的基本角色的所有可能的动画帧。然后,您可以让他们根据这些表格创建自定义发型、 Boot 、盔甲等。是的,这需要很多工作,但在大多数情况下,元素将需要最少的重绘; Boot 是我能看到的唯一真正需要大量工作才能重新制作的东西,因为它们会改变多个动画帧。对你的 Sprite 要冷酷无情,尽量减少所需的数量。

在您积累了元素库之后,您就可以开始作弊了。回收相同的发型并在 Photoshop 中或直接在游戏中使用角色创建器中的 slider 调整其颜色。

为了确保在游戏中获得良好的性能,最后一步是将所有不同元素的 sprite 表展平为单个 sprite 表,然后将其拆分并存储在 sprite 缓冲区中。

关于java - 2D 游戏中可自定义的玩家头像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/402541/

相关文章:

javascript - 使用 Postman 使用 Jira API 时未经授权(401)?

java - Spring Data JPA 中的多个基础存储库

java - Android 4.2 Jelly Bean 无法写入日志文件

javascript - 使用 JavaScript 解析 .obj 3D 图形文件

c# - 如何定位具有最大圆环半径的圆环

c# - PDF云注释背后的算法是什么?

java - 使用 Java DateTimeFormatter 类使用 am/pm 解析一天中的时间

c++ - glDrawElements 绘制多边形

ios - 了解 ARKit 中的坐标空间

algorithm - 在无限平面上没有图形的运动规划