找回密码
 注册帐号

扫一扫,访问微社区

抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 

其他 unity3d 载入 c++/cli (托管模式c++) 的动态库(dll) U3D

0
回复
1045
查看
[ 复制链接 ]
5熟悉之中
922/1000
排名
28932
昨日变化

414

主题

477

帖子

922

积分

Rank: 5Rank: 5

UID
55017
好友
0
蛮牛币
1050
威望
0
注册时间
2014-11-12
在线时间
3 小时
最后登录
2015-2-12
2015-11-19 18:17:01 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
unity U3D脚本手册 unity U3D组件手册 unity U3D用户手册 排行榜

由于最近开发游戏寻路a*使用非常频繁.所以是逻辑上的瓶颈. c#又比c++慢一倍.所以决定上c++.这样算一种优化吧.哈哈.

关于vs上的vc++.分托管和非托管模式. 托管模式就是 c++/cli 也就说可以c++使用.net库. 和 clr是一起的. 还有就是 非托管模式就是传统的c++直接调用win32 api.

两种方式都可以创建dll. 但是如果是和c# 连用肯定是 托管模式的更方便一些.下面就讲解下如何 unity3d 使用 clr的c++/cli.网上充斥着 使用非托管模式c++和unity连用的方式,这里本尊就不在阐述了..

书归正传:

环境:

1. vs2012 或者 vs2013.

2. unity4.3.0

首先说一下clr项目的创建.

打开vs.然后新建. 这时候选择. clr库项目.

之后就进入了项目.然后加入如下代码 用来测试 是否dll 被使用. a 和 b 相加返回结果.很简单的程序.

之后就是需要改一些项目的属性. 因为unity使用mono的原因.

1.framework3.5 是 unity的版本. 这里本人的vs是2012/2013 使用fw 4.5了. 所以高了这里需要降下来.由于ide里面没有选项所以需要打开 proj文件来修改版本.

把v4.5 改成 v3.5就ok.

2.clr也是很多版本的. unity支持 safe的clr. 所以这个也需要改.

项目上面 右键属性.

选成 safe的clr.就可以了. 然后编译出来 dll.

最后就是.把dll copy到unity里面去使用.unity需要建一个plugin的文件夹来存放dll.

放到这个文件夹里 之后.unity就可以使用了.

然后我们创建一个unity的c#脚本.来调用tsenginecli.

之后把这个c#脚本拖到随便一个gameobject上面. 运行一下. 会看到console框 里面输出了3. 说明大功告成.哇嘎嘎.

好了.祝大家看的开心.编的愉快. 拜拜~...

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则