使用Unity应用程序,并尝试制作基本的菜单屏幕。
我运行Unity 5.0.1p3。
虽然不相关,但这可能很重要:我的应用程序使用Vuforia,其他场景没有问题。
因此,当我尝试使用默认的Unity Camera创建菜单屏幕并添加画布时,它在Unity Editor上完美运行,但在设备上却无法运行。
在设备上,我只获得背景(相机前面的平面),图像/按钮不显示画布上的任何内容。
此外,当应用程序在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?
此问题仅在我导出Menu脚本后显示。 在你开始链接我之前关于序列化问题的问题之前,我已经检查了他们的问题,我不知道这与我的相关。
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 :(得分:1)
您需要更改 ARCamera 的backgroundPlane的着色器 只需选择您的ARCamera,在它下面就可以找到相机及其BackgroundPlane。选择它并将着色器更改为移动/漫反射。希望这会有所帮助。