【发布时间】:2020-11-28 20:40:53
【问题描述】:
我正在开发一个 C# 库,它既可用作某些 Unity3d 项目的插件,也可用于非 Unity3d 项目。
我需要使用一些 Unity3d 类(例如 UnityEngine.Matrix4x4)并标准化一些函数以使用有效类型来与项目是否为 Unity 项目无关。
那么,正如标题所说:在非 Unity3d 库项目中包含 Unity3d 库的正确方法是什么?我应该只在我的项目中包含对本地 Unity3d 二进制文件(如 UnityEngine.dll)的引用吗?如果是这样,哪个是查找这些二进制文件的正确文件夹(它们出现在统一安装文件夹中的一些不同文件夹中)?
【问题讨论】:
-
我不会将它们包含到您的库中,因为如果您随后在 Unity 项目中使用该库,类型将被定义两次并且您会收到错误...您可以自己定义这些类型并使用它们根据您的需要或做类似
#if UNITY_XY UnityTypes #else YourTypes #endif -
@derHugo 重写统一二进制文件似乎不是解决我的问题的正确方法。必须有一个更直接的解决方案来解决这个问题......
-
那么你将不得不重写它,而不是至少将 Unity 的源代码作为起点......
-
反对 Unity dll 的另一点是:您只需要一个数学库...您不想包含所有 Unity 内置类型,如
GameObject、Transform、@987654324 @ etc .. 我认为了解您的实际用例会有所帮助;)
标签: unity3d