根据e社官方人员的回复帖子,x4的npc生成仅取决于一个随机生成的种子npcseed及npc的物种。在存档文件中该种子、npc的物种和技能数据是oss状态下npc被储存的仅有的数据。包括但不限于npc外观、姓名等实际展现在玩家面前的形态将在每次玩家实际“见”到该npc时通过算法生成,而当npc离开玩家“视线”范围后其将坍缩回npcseed等基本数据。这一生成模式也解释了通过存档修改npc姓名后姓名会被重置。
引用原文(原帖链接放楼中楼):
As I alluded to earlier, the naming is procedural. Each NPC has a "seed" value, which is used to feed an algorithm that selects a name combination using rules that depend on the race of the NPC. It's also used, with a different algorithm, to determine their appearance. For NPCs such as crew members, that seed value and a tightly compressed set of flags and skill data is pretty much all we store. This format is highly efficient both in terms of performance and memory overhead, meaning that having thousands of them actually costs very little. Only when you can actually see or interact with a particular NPC are they expanded to a much more "expensive" character definition with a body, animations and so on.
引用原文(原帖链接放楼中楼):
As I alluded to earlier, the naming is procedural. Each NPC has a "seed" value, which is used to feed an algorithm that selects a name combination using rules that depend on the race of the NPC. It's also used, with a different algorithm, to determine their appearance. For NPCs such as crew members, that seed value and a tightly compressed set of flags and skill data is pretty much all we store. This format is highly efficient both in terms of performance and memory overhead, meaning that having thousands of them actually costs very little. Only when you can actually see or interact with a particular NPC are they expanded to a much more "expensive" character definition with a body, animations and so on.