导航:首页 > 操作系统 > unity3d和android

unity3d和android

发布时间:2022-11-07 17:42:55

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的相互调用及消息传递主要采取中间件的方式。

帮你归类一下,大致如下:

  1. 创建Java项目

  2. 在Java项目中引入Unity提供的classes.jar包

  3. 编写你自己的Java文件,同时引入com.unity3d.player.UnityPlayerActivity包

  4. 修改Manisest.xml文件

  5. 将项目导出Jar文件

  6. 在Unity中创建Plugins/Android目录,将导出的Jar文件和Manisest.xml复制到Android目录下

  7. 修改Unity中导出项目的包名

  8. 在项目中创建并实例化AndroidJavaClass对象,并实例化参数com.unity3d.player.UnityPlayer包

  9. 同时创建并实例化AndroidJavaObject对象,实例化参数为currentActivity

  10. 最后可以使用实例化的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对配置没有太高要求,所以可以多下载几个版本试验下。

阅读全文

与unity3d和android相关的资料

热点内容
dvd光盘存储汉子算法 浏览:758
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:383
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163