简介
有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如...
有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去编写Java代码,然后打包jar导入到Unity工程,然后通过Unity提供的调用Android接口的函数去调用jar包中的函数即可。
这里我们就介绍一下使用Unity实现手机震动效果
实现内容简要说明:
1. Android提供jar文件,xml文件,res目录,libs目录
2. 通过AndroidJavaClass去调用Android函数
另外,这些功能只能在真机上运行!
具体实现:
Android部分
1.下载AndroidSDK(需要包含ADT编辑器的)
官方下载连接:http://developer.android.com/sdk/index.html
2 创建Android项目
菜单位置:File ->New->Android Application Project
创建过程中,只有一下这个界面的内容需要更改,其他的使用默认的就行
[img]
[/img]
生成后解决方案的目录如图
[img]
[/img]
3. 导入Unity相关jar
Jar目录:unity的安装路径\Editor\Data\PlaybackEngines\androidplayer\bin下的classes.jar
通过AddExternalArchives添加,如图:
[img]
[/img]
4. 导入jar后,就可以开始编辑相关的函数了,打开MainActivity
[img]
[/img]
添加unityActivity,使MainActivity继承UnityPlayerActivity,并把SetContentView函数删掉(不然到手机上启动程序的时候就会只看到一句HelloWorld),这里用一个比较函数Max作为例子,有参数,有返回值
5. 到这里,需要的函数已经写完,再修改一下xml文件
Xml文件在工程文件目录下,叫AndroidManifest.xml
[img]
[/img]
6. 接下来到处jar包
[img]
[/img]
[img]
[/img]
点击Export后选择Java目录下的Jar file,选择好路径之后按默认选项去到处jar文件即可
7. 到这里Android部分结束了
Unity部分
1. 设置PlayerSetting,要与Android的package对应上
[img]
[/img]
2. 在Assets目录下添加Plugins\Android目录,把Android的jar文件,res文件夹,libs文件夹,xml文件放入该目录
[img]
[/img]
3. 调用相关函数
[img]
[/img]
(注:初步了解这里的参数之所以填”com.unity3d.player.UnityPlayer”和”currentActivity”,是因为在生成jar文件的时候,已经指定了MainActivityclass继承UnityPlayerActivity,也在XML指定了MainActivity是Main class)
- 大小: 38.7 KB
- 大小: 43.9 KB
- 大小: 87.9 KB
- 大小: 39.7 KB
- 大小: 140.7 KB
- 大小: 41.1 KB
- 大小: 22.7 KB
- 大小: 43.6 KB
- 大小: 15 KB
- 大小: 42.9 KB
分享到:
相关推荐
Unity3d工程调用Android版新浪微博
unity-调用动态库so-android篇, so示例制作,ndk-build生成so动态库, unity调用so动态库
这是一个android和Unity3d相互调用,互相交互数据的一个demo,其中还包括了我写的中间件,以便于替换unity3d的内容,另外好包括了一份相应的文档说明。
Unity调用Android相册,获取到图片,在Unity中调用Android原生应用。
Unity3D调用系统窗口选择本地文件, 亲测unity5.1、unity5.3、unity5.4以上版本
unity3d调用jar类中的方法和属性的例子。
Unity3d 调用Ios相册,对图片进行剪彩,然后加载图片到Unity3d RawImage上面,为unity3d 2018.3.0工程
前面介绍了在 Unity3d 中通过 Plugin 功能来调用 C++ DLL 中的函数 以及回调的使用方法,但最终目的还是让 Unity3d 中可以调用 Lua 脚本中的函数,现在来实现。 首先关注前面两篇文章: 1、Unity3d 调用C++ DLL ...
Unity3D教程:调用Android语音识别 Posted on 2013年07月04日 by U3d / Unity3D 基础教程/被围观 80 次 语音识
这个程序是unity3d的。本程序是功能主要是给当前场景照相,并调用通用文件夹对话框,自己选择路径和文件名保存图片。
Unity3D调用Native OpenGL,Unity3D支持调用C++工程的OpenGL渲染,使用RenderingPlugin DLL方式。
Unity 调用Android文件资源管理器,可以选择Android手机上的图片,视频等一些列文件,并且获得相关的文件路径。直接导入Unity即可运行。测试已经通过
Unity3D android 拉起android软键盘 最近公司项目有一个手机VR展厅业务,用U3D做VR场景还可以做到,后面要加个2D的线下预定页面,就涉及到3D 2D界面转换,首先考虑u3d作为插件,不考虑升级客户端,更新U3D资源来升级...
unity3d调用高德地图android sdk 定位。包括源码和打包好的apk。 高德key与编译环境相关,所以源码编译后运行会提示key错误。 说明请看http://blog.csdn.net/wuyt2008/article/details/50774017
在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d...
Unity3D如何调用C++的DLL,Unity3D如何调用C++的DLL
unity3d调用高德地图android sdk 搜索附近。包括源码和打包好的apk。 高德key与编译环境相关,所以源码编译后运行会提示key错误。 说明请看http://blog.csdn.net/wuyt2008/article/details/50789423
unity调用Android Api实现短信发送和震动功能
Unity调用Android系统PowerManager类相关的功能(关机、重启、睡眠、唤醒),需要系统签名。
Unity3d的调用web交互,在web页面中,也有代码可参考!