我有通過應用程序鏈接從另一個Android應用程序調用的Unity應用程序。所以,我創建了Android Plugin for Unity來處理通過url發送給應用程序的參數。根據來自url的數據,我想加載Unity應用程序中定義的三個場景之一。我試圖從場景no2調用gameobject,但是我遇到了錯誤:找不到對象並且加載場景no0。從Android插件Unity的調用場景
這就是呼叫從Android插件來統一:
UnityPlayer.UnitySendMessage("ARCamera", "startScene", "some data");
它看起來像統一在現場NO0尋找ARCamera,它是不存在的,當然。 是否可以在構建設置中調用未定義爲開始(0)的場景?怎麼樣?
編輯:
在機器人:
public void startAppP() {
Log.v(TAG, "starting p");
UnityPlayer.UnitySendMessage("ARCameraP", "loadScene", "sceneP");
}
以及Unity中附着在物體腳本(場景定義爲NO 3)稱爲ARCameraP:
public void loadScene(string sceneName)
{
UnityEngine.Debug.Log("HI");
Application.LoadLevel(sceneName);
}
它使返回的SendMessage :找不到ARCameraP對象!
我使用舊版本的Unity,因爲我在使用Vuforia時遇到了一些問題。直到我將Unity降級到版本5.1.2之前,相機才顯示黑屏。
是的,我正在做這樣的事情......我發送場景的名稱,並根據名稱加載我需要的Application.LoadLevel(「nameofscene」)。但問題是Scene0總是顯示約一秒,然後是Scene2或Scene1(取決於應該開始的內容),我不想那樣做。它看起來像spash屏幕。我想直接從java代碼告訴加載哪個場景。 而且,一切都被添加到生成設置 – midnightcoffee
@midnightcoffee'Application.LoadLevel(「nameofscene」)'已被棄用。 'SceneManager.LoadScene'取代了它。我的答案中的代碼將直接從Java端加載場景。創建一個名爲「NameOfGameObject」的GameObject附加一個腳本。在該腳本中,將loadScene函數放入腳本中。還可以使用我發佈的Java代碼從Java中調用它。這應該工作。如果沒有,請發佈您的Java和C#代碼以獲取進一步幫助。 – Programmer
它不斷返回 SendMessage:找不到ARCameraP! 但對象是在場景中,並被稱爲像那樣 – midnightcoffee