Unity3d unity插件和dll文件之间有什么区别?

Unity3d unity插件和dll文件之间有什么区别?,unity3d,sdk,unity5,Unity3d,Sdk,Unity5,我是Unity的新手,我正在尝试理解插件。我知道托管插件和本机插件之间的区别,但我不太清楚的是: 插件和dll之间有什么区别?我希望在sdk中找到什么使其在我的unity项目中可用 非常感谢您扩展@Everts评论,而不是将其复制到答案中,我将在这里详细介绍一下 什么是插件? 这是一个有点模糊的词,指的是一个以某种方式与游戏其余部分集成的第三方库。这意味着它既不是官方支持的统一,也不是你的核心代码的一部分。它可以“插入”或“退出”,而不改变其内部结构,因此它必须提供某种可供游戏代码使用的API

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

插件和dll之间有什么区别?我希望在sdk中找到什么使其在我的unity项目中可用


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

什么是插件? 这是一个有点模糊的词,指的是一个以某种方式与游戏其余部分集成的第三方库。这意味着它既不是官方支持的统一,也不是你的核心代码的一部分。它可以“插入”或“退出”,而不改变其内部结构,因此它必须提供某种可供游戏代码使用的API

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

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

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

  • DLL只是一个预编译的源文件,可以作为插件的一部分
  • 插件是一个完整的库,可以由多个不同格式的文件(.cs、.dll、.jar、.m等)组成
使用sdk需要什么? 首先是文档。就像我之前说的,就像你自己注意到的,不是所有的插件都能让你访问源代码。不幸的是,没有多少sdk具有广泛且对开发人员友好的文档,因此要真正理解如何使用给定的sdk可能是一项艰巨的任务

第二,守则。许多SDK为您提供了某种“拖放”库,一个包含所有必需文件的文件夹,您只需将其添加到Unity项目中即可。我还看到SDK使用Unity软件包,您必须通过资产>导入软件包>自定义软件包导入这些软件包

一旦你有了代码和文档,是时候把它和你的游戏结合起来了。我强烈建议您在游戏中使用抽象lyer,因为根据我的经验,您经常需要出于各种原因更改SDK,并且不希望每次都重写游戏逻辑。因此,我建议将与sdk相关的代码封装在一个类中,以便在从一个广告提供商切换到另一个广告提供商时,只需更改代码中的一个类(并保留旧类,以防需要切换回来)

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

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

  • 你是说DLL而不是ddl吗?是的,我就是这个意思。感谢您让我注意到,Unity用户倾向于调用任何添加到项目中但未随引擎附带的插件。无论是原生安卓、ios还是从商店购买的普通C#资产。尽管Unity中有一个插件文件夹,用于存储jar或dll等预编译代码。所以dll应该是C#预编译代码,它是您添加或购买的插件的一部分。埃弗茨看起来应该是个答案。。。。。