【问题标题】:What is the difference between a unity plugin and a dll file?unity插件和dll文件有什么区别?
【发布时间】:2018-07-04 16:49:08
【问题描述】:

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

插件和dll有什么区别?我应该在 sdk 中找到什么以使其在我的统一项目中可用?

非常感谢

【问题讨论】:

  • 你的意思是DLL而不是ddl?
  • 是的,这就是我的意思。谢谢你让我注意到
  • Unity 用户倾向于将任何添加到引擎未附带的项目中的东西称为插件。无论是原生 android、ios 还是从商店购买的纯 C# 资产。虽然 Unity 中有一个插件文件夹用于存储预编译代码,如 jar 或 dll。因此,dll 将是 C# 预编译代码,它是您添加或购买的插件的一部分。误导性的?
  • @Everts 看起来应该是一个答案.....

标签: unity3d sdk unity5


【解决方案1】:

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

什么是插件?

对于以某种方式与您游戏的其余部分集成的第三方库,这是一个有点模糊的词。这意味着它既不是 Unity 官方支持的,也不是您的核心代码的一部分。它可以在不改变其内部结构的情况下“插入”或拔出,因此它必须提供某种可供游戏代码使用的 API。

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

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

所以回答你的第一个问题:

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

使用 sdk 需要什么?

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

其次 - 代码。许多 sdk 为您提供某种“拖放”库,一个包含所有必需文件的单个文件夹,您只需将其添加到 Unity 项目中即可。我还看到了使用 Unity 包的 SDK,您必须通过 Assets > Import Package > Custom Package 导入这些包。

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

所以你基本上需要三样东西:

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

【讨论】:

    猜你喜欢
    • 2010-12-19
    • 2010-11-10
    • 1970-01-01
    • 2017-05-19
    • 2023-03-23
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多