最近项目可能频繁的做导出,比较麻烦,所以做了个小工具,很简单。不废话上文件(文件含源码):
- 首先在unity中打开 File - Build Settings
注意划红线部分的设置
export之前注意先要点开player settings 设置 company name 和 product name, 下面的package name也对应更改
- 导出后,打开工具
- 选择unity导出的路径(注意是assets的父文件夹),选择android工程目录:
- 然后点击开始导入。
- 弹出完成即可
- 注意打开android工程后首先要Add jar包!
- 测试文档:
Xml:
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" android:orientation="horizontal" tools:context=".ui.activity.UnityActivity"> <LinearLayout android:id="@+id/ll_unity_container" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" /> <Button android:id="@+id/btn_rotate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" android:textSize="17sp" android:background="@null" /> </FrameLayout>
Activity:
import android.support.annotation.Nullable;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.LinearLayout;import com.rangeidc.android.alarm.R;import com.unity3d.player.UnityPlayerActivity;import butterknife.BindView;
public class UnityActivity extends UnityPlayerActivity {
@BindView(R.id.ll_unity_container)
LinearLayout mLlUnityContainer;
@BindView(R.id.btn_rotate)
Button mBtnRotate;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_unity);
initView();
}
private void initView() {
mLlUnityContainer = (LinearLayout) findViewById(R.id.ll_unity_container);
mBtnRotate = (Button) findViewById(R.id.btn_rotate);
//将Unity的View添加到布局里
View scene = mUnityPlayer.getView();
mLlUnityContainer.addView(scene);
mBtnRotate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//向Unity的Cube对象上的脚本里的RotateCube方法发送消息
//第三个参数是传递的消息
//通过UnitySendMessage向Unity发送消息,
//三个参数分别是接收消息的GameObject,MethodName,参数;
//UnityPlayer.UnitySendMessage("Cube", "RotateCube", "80");
}
});
}
}
工具地址:https://download.youkuaiyun.com/download/l304847944/11107095
搞定!