一、应用场景
有的时候以安卓为主的App项目想使用unity引擎的功能,因为unity能渲染场景,3D模型渲染与交互,实时调用粒子效果等。这是通常就会将unity集成到安卓工程当中使用。集成方式,可以让unity导出安卓工程,然后编译出aar,再把aar给真正的安卓工作作为library来使用。
二、过程方法
1、简单建个unity工程
![](https://img.haomeiwen.com/i13721461/2a17e86747aba873.png)
点击输出窗口的时候改变cube的颜色
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Cube : MonoBehaviour
{
bool changeColor = true;
public Material CubeMaterial;
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButton(0))
{
changeColor = !changeColor;
if (changeColor)
{
CubeMaterial.color = Color.red;
}
else
{
CubeMaterial.color = Color.green;
}
}
}
}
2、切换到安卓平台
![](https://img.haomeiwen.com/i13721461/0dcb54348579a942.png)
3、playersetting里选一下一些配置,这里使用的最低API版本最好是真正使用的安卓工程那边的版本保持一致。
![](https://img.haomeiwen.com/i13721461/6ba8234fa6ca4509.png)
4、导出工程后,用Android Studio直接打开导出的工程。在右边侧边栏,双击运行assemble
![](https://img.haomeiwen.com/i13721461/49e272add28e1c60.png)
5、将aar导出到真正需要使用unity功能的工程
(1)strings文件增加一句
<string name="game_view_content_description"></string>
![](https://img.haomeiwen.com/i13721461/c297e47915f055f3.png)
(2)App下的build.gradle增加依赖
![](https://img.haomeiwen.com/i13721461/72ac8554f7e3e071.png)
6、调用代码
package com.lgy.useaar;
import android.os.Bundle;
import com.lgy.mylibrary.Test;
import com.unity3d.player.UnityPlayerActivity;
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//new Test();
}
}
![](https://img.haomeiwen.com/i13721461/8589de8146620b82.png)
7、调用结果
启动后会启动unity场景,点击屏幕,Cube切换颜色。
网友评论