在Unity 5.0中使用插件遇到【Plugins colliding with each other.】问题
最近闲着没事,于是体验了一下5.0版本。不过还没用熟,5.1版本又在不就之前发布了,真是操蛋。
进入正题!
插件可以说是每个project必不可少的component,至少我是这么认为的。可是当我把4.6的project升级到5.0后想打包WP8时,结果出现了
我英文不好,不过好像是说插件相互冲突这样。再看第一个错误发现新版的Unity把插件到打包在一个路径下,可能是因为这样冲突吧,不知道,I don't care。于是本着学习的精神我打算fuck it up。
我想用得最多,也是最简单的一个功能就是评价吧,于是打算就做这么个插件。
这两行代码对于WP8开发者再熟悉不过了,WP8.1不好说,哈哈。。。。。哦对了,关于插件怎么做,请参考Petto 的博客 。Petto详细幽默的写明了如何使用VS制作WP8插件和导入Unity,并且在4.6实现了Fucked,NotFucked。强烈推荐初学者学习。
不幸的是,到了5.0那一定了NotFucked没得说。
好了,先新建一个Unity project,我这里取名PluginsDemo,你们随意。
然后新建一只脚本,把他挂在Main Camera上,这些都是废话,不多说。简单起见,这里就加了一个按钮做测试。
回到Unity,然后你就打算build了? 那恭喜你,Plugins colliding with each other. 5.0改变了插件的 嗯 打包方式? 我不知道。总之,他不在按照文件夹比如WP8来打包作为WP8使用,而是使用了,,,,看图
NB吧,这里是Plugins根目录下的dll,5.0可以直接选择这个插件在哪个平台跑。继续,,,,。这里选择Plugins根目录下的插件,也就是.net3.5那只。然后取消勾选Any Platform,选中Editor。
还有,别忘了Apply。当然了,即使没有勾选,U3D也会提醒你Apply的。这里其他平台能不能勾选?这个问题应该也只有我能问出来了。但是WP8Player就不要勾了,否则还要冲突,不信你可以试试。
到了这里你跟我一样兴奋吧?嗯 再次打包。我擦勒,还是冲突。。
是不是开始喷5.0坑多了?反正我是这样的。但既然决定了fuck it up,就没有止步的理由。于是开始摸索。最后还是搞出来了,WTF。
继续,,,,。选择WP8文件夹下的插件。
这里看到,UNITY只勾选了WP8Player。这里Unity把5.0之前的相应文件下的插件对应的自动选择了对应平台,其实这也没什么NB的哦?废话太多。。。这里看到平台设定下有一个Placeholder选项,不认识怎么办?bing翻译欢迎你。查询结果是占位符的意思。不懂?String.Format("{0}")熟悉吧?不熟悉感觉买本C#学学。
到这里我想大家应该知道是啥意思了。当点击这个选项,果真不出所料,于是选中Plugins根目录下的同名插件。
再然后Apply。OK,打包,这次顺溜地通过了。
启动VS,部署到模拟器。
然后启动点击按钮,不出所料地来到了APP评价界面
OK,大功告成。
到这里结束了这篇文章,总的来说还是感觉5.0的可以选择平台的功能挺不错的,以后不用建一堆文件夹,直接放在Plugins下选择平台就好。那么可能有人会问,前面为什么还要有WP8文件夹而不直接放在根目录下选择WP8Player就好?不好意思,Unity是基于.net3.5版本的。
前面如果有不恰当或不正确的地方,欢迎大家指正!