.安卓sid
.安卓sid
AndroidJavaClass unityPlayer=new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity=unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass toast=new AndroidJavaClass("android.widget.Toast");
AndroidJavaObject context=currentActivity.Call<AndroidjavaObject>("getApplicationContext");
currentActivity.Call("runOnUiThread",new AndroidJavaRunnable(()=>{
tocsat.CallStatic<AndroidJavaObject>("makeText",context,"send...",tocast.GetStatic<int>("LENGTH_LONG")).Call("show");
}));
坑:
1.相机Projection要是正交模式
2.unity remote5 连接不上 原因不明 重启可以使用 估计是手机其他软件造成(应用宝)
aar包
1.libs文件夹的jar需要替换成外部的
2.Manifest文件包名package不修改,icon、label删除,避免冲突
数字签名无效则不能用,属性,数字签名
视口自适应 - 摄像机
ui自适应 - ugui适应
ui自适应:1.锚点;2.缩放;
Canvas Scaler 一般用Scale With Screen Size
这样更改屏幕分辨率,ui也会同步缩放
实际视口=初始视口*初始高宽比/实际高宽比
每当一个手指触摸屏幕时,unity都会为其生成一个touch对象
input.touchCount可以获取当前touch对象的个数
unity会将当前存在的所有touch对象放在input.touches这个数组中
另一种方式获取指定index的touch对象:input.gettouch(index)
fingerId是用来识别当前手指的唯一表示
deltaPosition当前位置与上次位置之间的差
deltaTime本次记录touch对象状态与上次记录touch状态之间的时间差
tapcount为touch对象所对应的手指点击屏幕的次数
phase表示当前手指所对应的touch对象的阶段(状态)
包签名:\java\jdk\bin > keytool -genkey -alias 名字 -keyalg RSA -validity 有效时长 -keystore 密钥的文件名字(自取)
1.unity导出工程到安卓内修改,由安卓打apk
2.安卓将功能提供成插件给unity用,由unity打包apk
每一个页面/界面都是一个Activity,例如QQ的每一个页面都是Activity
unity将内部所有的内容做成一个Main Activity,将这个Main Activity在安卓机上显示
然后在Unity打包出来的Main Activity里面加入逻辑,则完成了扩展功能
或者由安卓提供插件Plugins,Unity整合发布
逻辑很混乱啊
Jar Aar
调用方式可以是C#调用,也可以是Java做
修改MainActivity,或者给一个非Activity的class
上述三种可以任意组合
官方不再推荐Jar包
File - New - New Module创建新模块,并在新模块中创建一个空的activity
main activity》unity
将unity安装目录下Editor - Data - PlaybackEngines - AndroidPlayer - Variations - mono - Release - Class.jar拷贝到安卓Project目录下的自己创建的库中的libs文件夹下,并且右键add as library到模块中
安卓目录下,AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sikiedu.testlibrary"> <application android:allowBackup="true" android:supportsRtl="true"> <activity android:name=".MainActivity" android:label="UnityAndroidTest" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> </activity> </application> </manifest>
新建一个模块,File - New - New Module,选择Android Library
不加任何防腐剂
Build Settings窗口中下载安卓的支持包
安装java环境,即jdk,下载合适的版本,windows x64,建议用ie下载
下载android studio