Unity插件和dll文件有什么区别?

时间:2018-01-25 12:25:14

标签: unity3d sdk unity5

我是Unity新手,我尝试了解插件。我有一个托管插件和本机插件之间的区别,但对我来说不太清楚的是:

插件和dll有什么区别?我期望在sdk中找到什么才能使它在我的团结项目中可用?

非常感谢

1 个答案:

答案 0 :(得分:3)

要扩展@Everts评论而不是仅仅将其复制到答案中,我将在此处详细介绍

什么是插件?

对于第三方图书馆而言,这是一个有点模糊的词汇,它与游戏的其余部分融为一体。这意味着它既不是Unity的官方支持,也不是核心代码的一部分。它可以被插入"在不改变其内部的情况下进出,因此必须提供某种可供游戏代码使用的API。

例如,您可以找到许多处理广告,通知,分析等外部服务的插件。您还会发现一些开发工具也可以称为插件,例如基于磁贴的插件地图编辑等。

插件有多种形式 - DLL文件是一个例子,但是一些插件实际上提供了完整的源代码以便于使用。当然,其他插件将为不同的平台提供本机代码,例如iOS的Objective-C或Android的.jars。

回答你的第一个问题:

  • DLL只是一个预编译的源文件,可以作为插件的一部分
  • 插件是一个完整的库,可以包含多个不同格式的文件(.cs,.dll,.jar,.m等)

使用sdk需要什么?

首先 - 文档。就像我之前说的那样,就像你注意到自己一样,并非所有的插件都能让你访问源代码。不幸的是,没有多少sdks拥有广泛且开发人员友好的文档,因此实际了解如何使用给定的sdk可能是一项艰巨的任务。

其次 - 代码。许多sdks给你一些"拖动& amp;降"库,一个包含所有必要文件的文件夹,只需添加到Unity项目中即可。我也看到使用Unity包的sdks,你必须通过Assets>导入导入包>自定义套餐。

获得代码和文档后,就有时间将其与游戏集成。我强烈建议在你的游戏中使用抽象的lyer,因为根据我的经验,你经常需要因各种原因改变sdks,而且你不想每次都重写你的游戏逻辑。因此,我建议在单个类中封装与sdk相关的代码,以便在从一个广告提供商切换到另一个广告提供商时,只需更改代码中的一个类(并保留旧类,以防需要切换回来)。

所以你基本上需要三件事:

  1. 文档(自述文件或在线文档)
  2. 代码(预编译或源代码)
  3. 多功能整合