A. 如何进行Unity3D与android消息传递
1.Unity工程导出为Android Studio工程
(我个人用的U3D版本是5.1.1,已经支持直接将Unity工程导出为AS工程了,以前的版本我不敢保证.)
首先你要写好Unity工程里面的脚本,包括你希望Android调用的方法和调用Android方法的方法,这个在下面会有详细叙述;接下来导出AS工程,方法是:
File里面的Build Settings -> 平台选择Android,在Player Setting里面设置API版本和包名(包名很重要) -> 点击Build Setting中的Google Android Project复选框 -> Export
2. AS打开导出的工程
首先随便打开一个AS工程,然后FIle -> New -> Import Project -> 选刚才导出来的工程 -> 等待Gradle -> 以此工程为基础继续开发Android代码
3. Android 调用 Unity 脚本中的方法
这里首先对Unity脚本进行一点说明,以C#为例:
在OnStart()里面要写入
this.name = "A"
某个你要调用的方法设置为public类型,名称为B,参数为C
在一个Extend UnityPlayerActivity的Activity里,直接使用
UnityPlayer.UnitySendMessage("A","B","C");
就可以调用脚本中的方法了.
4.Unity脚本调用Android方法
首先你要知道的是,在Unity脚本里写调用安卓方法的时候,这个方法还不需要存在,你也不需要把安卓的代码压成jar包放进Unity工程.但是,你要调用的方法必须是静态方法.
刚说过的导出工程时候的包名很重要,假设是com.hu.solare;再假设在工程被导入到AS后,你在这个包中编写了MainActivity.class,其中包含静态方法onCall(String str).则你可以在Unity脚本中提前写好:
AndroidJavaClass jc = new AndroidJavaCalss("com.hu.solare.MainActivity");
jc.callStatic("onCall","String")
即可调用onCall方法.
B. unity3d 怎样发布android程序
1、下载安卓的SDK包。
2、打开Unity3d,点击Edit里的Preferences,弹出如图所示数据框,点击第二项External Tools,将下边Android SDK location的路径指向下载的Android SDK。
3、在Unity3d中建好场景后点击File->Building settings,选择Android版本。
4、点击player settings,找到Identification,将其中的 com.compan.ProctName的compan随便做改动,比如去掉一个字母。
5、最后点击Building,将会生成Android。
C. 如何进行Unity3D与Android消息传递
Unity与Android的相互调用及消息传递主要采取中间件的方式。
帮你归类一下,大致如下:
创建Java项目
在Java项目中引入Unity提供的classes.jar包
编写你自己的Java文件,同时引入com.unity3d.player.UnityPlayerActivity包
修改Manisest.xml文件
将项目导出Jar文件
在Unity中创建Plugins/Android目录,将导出的Jar文件和Manisest.xml复制到Android目录下
修改Unity中导出项目的包名
在项目中创建并实例化AndroidJavaClass对象,并实例化参数com.unity3d.player.UnityPlayer包
同时创建并实例化AndroidJavaObject对象,实例化参数为currentActivity
最后可以使用实例化的AndroidJavaObject.Call来调用Java中写好的公有方法。
D. 如何配置unity3d的安卓手机开发环境
1.Android运行环境的搭建
进行安卓系统的软件设计,那么JDK的开发环境搭建必须是首要的。我们选择Windows10 64位操作系统。同时在JDK版本的选择中选用Windows x64版本的Java SE Development Kit 8u5,该版本稳定,应用广泛而且开源免费,获取方便。在安装的过程中要注意不要重复安装,应安装完毕后立即删除安装包,否则如果不小心再次点到安装包,该安装包会立刻删除所安装的程序并询问是否重新安装。在JDK的安装过程中,要注意开发工具,源代码,公共JRE三项都要选中,而且要安装到C盘默认目录下,同时将其附带的JRE同样安装到相同目录下,同时硬盘至少应该留有2G的空间。
选择好JDK的版本并进行安装后,我们的JAVA环境就安装好了,众所周知,安卓系统是由JAVA语言架构的,所以在搭建安卓运行环境之前必须要先安装JAVA环境。安装完JAVA环境之后,我们进行安卓开发环境的搭建。我们就要进行Android SDK版本的选择。我们这里选择android-sdk_r24.4.1-windows版本。这个版本是与安卓8.0同时发布的,同时它的发布时间也在我们的安卓测试机红米NOTE5A型号之后,可以完美兼容我们的安卓测试机所运行的安卓7.1.2版本。
以上就是安卓环境的安装和搭建,更多Unity开发方面的问题可以看下这个视频教程网页链接,希望我的回答能帮到你。
E. unity3d属于android吗
unity3d是一个游戏引擎,不过他支持跨平台而已,支持android ios mac linux windows等等系统。
F. 求助各位大神帮我看下 Unity3d 与 Android 交互的问题
1将Unity3D安装目录下的Unity\Editor\Data\PlaybackEngines\androidplayer\release\bin\classes.jar
拷贝到Android工程的libs文件夹里:
2
右键单击classes.jar选择Build Path里面的Add to Build Path:
3
在MainActivity中继承UnityPlayerActivity。删除多余的方法,仅保留onCreate方法中的super.onCreate语句,如下:
public class MainActivity extends UnityPlayerActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
4
添加要在unity中调用的方法,这里添加一个带一个参数的方法StartActivity来调用Android的Activity从而运行Android的代码。还添加了一个有返回值的方法GetInt,用来测试在Unity中获取android中方法的返回值。(貌似只能有一个UnityPlayerActivity,而且这个Activity不能是调用第三方SDK方法的Activity。UnityPlayerActivity只能作为Unity和Android交互的一个接口,在这里面再去调用其他的Activity)
5
package com.example.unitydemo;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import com.unity3d.player.UnityPlayerActivity;
public class MainActivity extends UnityPlayerActivity {
private Context mContext = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
}
public void StartActivity(String name) {
Intent intent = new Intent(mContext, WelcomeActivity.class);
intent.putExtra("name", name);
this.startActivity(intent);
}
public int GetInt()
{
return 1;
}
}
6
然后Clean一下当前工程,避免一些不必要的问题。
然后在Build Project
右键单击工程,选择Export
选择JAR file
右边全部勾选,输入JAR的路径和名字,然后单击finish:
在Unity项目中创建一个Plugins,如下的目录结构
其中bin文件夹放刚刚导出的JAR包,libs文件夹放需要用的第三方库文件,res文件夹和AndroidManifest直接从Android工程中拷贝过来。
(除了res文件夹不能动,其他的最好都不要放在单独的文件夹里面,貌似除了jar能加载出来,其他格式的文件如果放在其他目录下会加载不出来)
然后在Unity里面创建一个脚本文件,绑定在MainCamera上(当然也可以绑定在其他的对象上),如下:
在脚本文件中写如下代码:
using UnityEngine;
using System.Collections;
public class Demo : MonoBehaviour {
void Start () {
}
void Update()
{
//当用户按下手机的返回键或home键退出游戏
if (Input.GetKeyDown(KeyCode.Escape) || Input.GetKeyDown(KeyCode.Home) )
{
Application.Quit();
}
}
void OnGUI()
{
if (GUI.Button(new Rect(Screen.width * 0.1f, Screen.height * 0.1f, Screen.width * 0.8f, Screen.height * 0.1f), "StartActivity"))
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("StartActivity", "第一个Activity");
}
if (GUI.Button(new Rect(Screen.width * 0.1f, Screen.height * 0.2f, Screen.width * 0.8f, Screen.height * 0.1f), "GetInt"))
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
Debug.Log(jo.Call<int>("GetInt"));
}
}
}
然后生成APK文件,记得先把包名改成与Android工程一样的包名。
要测试,只能在手机上测。
最终效果图:
17
单击StartActivity,启动Android的一个Activity,单击GetInt,Console显示1
G. unity3d与android交互的sdk怎么接
1、打开Android Studio——>configure——Android SDK。
注意事项:
SDK可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的SDK可能与自由软件开发抵触。
H. 如何进行Unity3D与Android消息传递
(我个人用的U3D版本是5.1.1,已经支持直接将Unity工程导出为AS工程了,以前的版本我不敢保证.)
首先你要写好Unity工程里面的脚本,包括你希望Android调用的方法和调用Android方法的方法,这个在下面会有详细叙述;接下来导出AS工程,方法是:
File里面的Build Settings -> 平台选择Android,在Player Setting里面设置API版本和包名(包名很重要) -> 点击Build Setting中的Google Android Project复选框 -> Export
2. AS打开导出的工程
首先随便打开一个AS工程,然后FIle -> New -> Import Project -> 选刚才导出来的工程 -> 等待Gradle -> 以此工程为基础继续开发Android代码
I. 用UNITY3D开发android游戏要学习什么
你可以先去【绘学霸】网站找“游戏特效/unity3D”板块的【免费】视频教程-【点击进入】完整入门到精通视频教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=305,306&zdhhr-11y17r-560576480037136404
想要系统的学习可以考虑报一个网络直播课,推荐CGWANG的网络课。老师讲得细,上完还可以回看,还有同类型录播课可以免费学(赠送终身VIP)。
自制能力相对较弱的话,建议还是去好点的培训机构,实力和规模在国内排名前几的大机构,推荐行业龙头:王氏教育。
王氏教育全国直营校区面授课程试听【复制后面链接在浏览器也可打开】:
www.cgwang.com/course/gecoursemobilecheck/?zdhhr-11y17r-560576480037136404
在“游戏特效/unity3D”领域的培训机构里,【王氏教育】是国内的老大,且没有加盟分校,都是总部直营的连锁校区。跟很多其它同类型大机构不一样的是:王氏教育每个校区都是实体面授,老师是手把手教,而且有专门的班主任从早盯到晚,爆肝式的学习模式,提升会很快,特别适合基础差的学生。
大家可以先把【绘学霸】APP下载到自己手机,方便碎片时间学习——绘学霸APP下载: www.huixueba.com.cn/Scripts/download.html
J. unity3d 好还是android
如果不烘焙东西的话,没有太大影响。
建议还是下载高版本的,因为修复了很多之前的bug,也添加了很多新功能。
现在最新版是4.6,但是测试版,建议下载4.3之上的版本,有了2D模块。4.5是正式版
如果只是学习一些基础内容,可以下载3.5版本的,很经典的版本,但2D模块和新动画系统等没有
Unity对配置没有太高要求,所以可以多下载几个版本试验下。