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對配置沒有太高要求,所以可以多下載幾個版本試驗下。