微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

我只想知道从哪里开始!

解决方法

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

,

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

,

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?