如何为一款实现自己自定义资产和功能的游戏开发模组?

问题描述

我应该澄清一下,我熟悉改装和编程。但是,如果没有专门的工具包来实现这样的目标,我不确定如何实现我想要的。

假设我有一个游戏,我想在其中对自己的汽车进行编程。游戏没有汽车的概念,但有些东西可能可以重新用于汽车(例如,游戏中存在动物,并且有可能进行修改以充当具有正确更改的车辆)如何我会接近这个吗?游戏引擎为 Unity,目前不支持模组,但目前有一个活跃的社区创建和维护模组。

我只想知道从哪里开始!

解决方法

在 Unity 中,您无法向构建的游戏“添加更多代码”(除非您有一些自定义脚本解释器来定义它可以影响的游戏机制,但这本身就是另一个主题)。您可以以序列化文件(如 JSON)的形式公开“实体”列表,以便模组制作者可以创建一个新文件,在其中定义新实体,然后确保您的游戏会选择它(例如读取文件夹中的所有文件)。

,

我看到的一个解决方案是在 StreamingAssets 中为 mod 脚本使用一个文件夹,然后编译该文件夹中的所有脚本。

,

@twistedstriker1234 的方法是一个不错的选择,虽然我到目前为止只尝试过使用 AssetBundles,我个人认为它简单且易于实现,尤其是在使用可以使用包管理器安装在编辑器中的 Asset Bundle Browser 时.

但是,这种方法可能有其自身的问题,因为您需要为每个平台(一个用于 Android,另一个用于 iOS 等等)创建一个构建的每个 AssetBundle。

我仍然认为它是一个不错的选择,因为 AssetBundles 几乎可以是任何东西(音频/视频文件、3d 模型、预制件、场景......),这使得为游戏修改和创建 DLC 变得可行。

相关问答

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