如何在unity 3d中引用kinect的类库

如何在unity 3d中引用kinect的类库,第1张

目前呢在Unity中使用Kinect有3种办法。

第一种使用卡耐基梅隆的插件

第二种只用OpenNi官方的插件

第三种自己写中间件。

向比较来说使用第一种方案的人数较多。第二种因为官方后继支持和官方现在模糊的态度,使用的人也有,但不是很多。第三种其实也不难,也有一定的人数。

这里大概说一下第一种使用方法。

链接Kinect电源

安装驱动

下载Kinect的 SDk   地址:https://www.microsoft.com/en-us/download/details.aspx?id=44561

安装SDK,并打开Kinect Studio v2.0,同时链接设备。

在Kinect官网下载Unity_Pro插件,然后导入到Unity中。

最后嘛就是开始写你的Kinect程序咯。

DLL —— Dynamic Link Library(动态链接库文件),这里以Window平台为例。

Unity支持的两种语言生成的DLL库(C++、C#),这里以C#为例,C++网上可以搜索很详细的资料。

1) 添加引用关系

如果有对UnityEngine、UnityEditor的引用,需要先添加引用关系。

路径通常位于Unity安装目录下的Editor/Data/Managed路径下。

2) 生成DLL文件

建立项目时,选择“类库”。目标框架.Net Framework的版本,只能选择3.5及以下版本。

3) 在项目中引用DLL文件

Unity会自动加载相应的DLL文件,所以DLL文件只要存放于Assets目录下即可,当然为了统一管理,一般放在Plugins目录下。

这里有一个需要注意的点,如果DLL文件放在Editor下,那么只能是Editor目录下的C#文件才可以引用,如果想在项目运行时的C#中进行引用,那DLL文件就不能放在Editor目录下。以上目录只与名字相关,与层级无关,路径可以是Assets/a/b/c/d/e/../XX.DLL

放置好DLL后,注意刷新Visual Studio中的解决方案。

0人赞  添加讨论(0)

暂无评论 :)

请点击输入图片描述

啦啦啦

4楼 · 2021-05-08 14:11

托管代码是一microsoft的中间语言(IL),它不直接运行在机器上而是运行在.net的CLR中。IL被封装在一个叫程序集(assembly)的文件中,一般输出形式为.dll或.exe文件,程序集中包含了描述你所创建的类,方法和属性(例如安全需求)的所有元数据。

当程序集中某些方法被调用的时候,运行库把具体的方法编译成适合本地计算机运行的机械码。(这就是即时编译) 随着程序集的运行,运行库会持续地提供各种服务,例如自动垃圾回收、运行库类型检查和安全支持等。这些服务使得能编译成IL的源代码具有跨平台的特性。我们常用的C#只能编译成托管代码,而C++可以编译成托管代码和非托管代码。非托管代码就是直接编译成目标计算机的机器码。

在c#中一般会封装成dll文件对外提供接口调用,unity的js脚本也是这样的调用方式。

一、创建dll文件

1。打开vs文件->新建->项目->C#->类库,输入项目的名称,创建一个dll项目

2。引入 UnityEngine UnityEditor 这两个文件放在unity安装目录的Unity\Editor\Data\Managed路径下,

具体添加步骤:右键点击解决方案->添加引用->浏览

3。如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine 和 UnityEditor;如果项目中不需要,也可以省略第二步

举例说明:

using System

using System.Collections.Generic

using System.Linq

using System.Text

using UnityEngine

using UnityEditor

using System.Collections

namespace dlltest

{

class Class2 : MonoBehaviour

{

void Start()

{

Debug.Log("this is unity call C# dll test!")

}

}

}

5。F5启动生成解决方案(debug或者release),把生成的dll放到unity工程的asset下;

6。如果继承了Monobehaviour的类在dll的子对象中有显示,这样就可以绑定到GameObject上了,如果是要引用dll的类,需要using 命名空间,名字一般和项目名称一致才能调用。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11534356.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存