2015-05-09 2 views
0

Работа с Unity App и попытка создания основного экрана меню.Unity Canvas не отображается на устройстве

Я управляю Unity 5.0.1p3.

Хотя это не имеет значения, это может быть важно: в моем приложении используется Vuforia, и другие сцены не имеют проблем.

Итак, когда я пытаюсь создать экран меню с помощью камеры Unity по умолчанию и добавить холст, он отлично работает в редакторе Unity, но не на устройстве.

На устройстве я просто получаю фон (который находится на плоскости перед камерой), а Image/Button не показывает ничего, что находится на холсте.

Кроме того, в то время как приложение начинает на Eclipse, LogCat я получаю эту ошибку:

05-09 11:18:14.047: E/Unity(2092): A script behaviour has a different serialization layout when loading. (Read 32 bytes but expected 52 bytes) 
05-09 11:18:14.047: E/Unity(2092): Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts? 
05-09 11:18:14.047: E/Unity(2092): 
05-09 11:18:14.047: E/Unity(2092): (Filename: ./Runtime/Serialize/SerializedFile.cpp Line: 1652) 
05-09 11:18:14.047: E/Unity(2092): A script behaviour has a different serialization layout when loading. (Read 32 bytes but expected 124 bytes) 
05-09 11:18:14.047: E/Unity(2092): Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts? 

И эта проблема проявляется только после того, как экспортировать мой сценарий меню. Прежде чем вы начнете связывать меня с предыдущими вопросами о проблеме сериализации, я уже проверил их проблему, и я не знаю, как это относится к моей.

MenuScreen.cs выглядит следующим образом:

using UnityEngine; 
using System.Collections; 

public class MenuScreen : MonoBehaviour { 

    private Rect b; 
    private Rect o; 
    private Rect f; 


    // Use this for initialization 
    void Start() { 

     int w = Screen.width; 
     int h = Screen.height; 

     //name = new Rect (px ,py ,bh, bw) 
     b = new Rect (w -3*w/4, h - 4*h/5 , 2*w/4, h/10); 
     o = new Rect (w -3*w/4, h - 3*h/5 , 2*w/4, h/10); 
     f = new Rect (w -3*w/4, h - 2*h/5 , 2*w/4, h/10); 

    } 

    // Update is called once per frame 
    void OnGUI(){ 

     if (GUI.Button (b, "Begin")) { 
      Application.LoadLevel("SolidWhite"); 
     } 


     if (GUI.Button (o, "Options")) { 
      //Application.LoadLevel("Options"); 
     } 

     if (GUI.Button (f, "FAQ")) { 
      //Application.LoadLevel("FAQ"); 
     } 

    } 

} 
+0

Что именно вы подразумеваете под «экспортом» сценария? –

+0

Нравится, добавив сцену, в том числе скрипт, в сборку. Извини за это. –

ответ

1

Вы должны изменить шейдер в backgroundPlane в ARCamera Просто выберите ARCamera, под ней вы найдете камеру и ее BackgroundPlane. Выберите его и измените шейдер на Мобильный/Диффузный. Надеюсь это поможет.