【问题标题】:UI doesn't show up in #Screen tab in Unity 4.6UI 未显示在 Unity 4.6 的 #Screen 选项卡中
【发布时间】:2014-11-28 22:59:48
【问题描述】:

我刚刚将 Unity 升级到 4.6 版并尝试通过 Create -> UI -> Button 创建一个按钮。
但是,此按钮不会显示在 #Screen 选项卡中,但会显示在 Game 选项卡中。
请看下面的截图:

另外一个问题是:新建按钮时默认宽高为160 x 30。当我用自己的图像按钮更改源图像时,我必须更改宽高参数在矩形变换中。有没有更快的方法来自动根据我插入的图像获得新的宽度和高度?

非常感谢!

【问题讨论】:

    标签: user-interface unity3d


    【解决方案1】:

    首先,双击层次结构中的按钮,看看它确实没有显示在场景视图中,不包括任何类型的缩放问题。 (顺便说一句,我假设您的意思是“场景”而不是“屏幕”,对吗?)不同相机或画布中的事物可能具有非常不同的比例,但在游戏视图中正确显示。我不知道您对 Unity 的使用情况如何,所以如果这听起来很明显,我很抱歉。 :)

    接下来,检查 Unity 编辑器顶部标记为“图层”的下拉菜单,在播放、暂停和步进按钮的右侧。查看按钮的图层(在本例中为“UI”)是否可见。它旁边应该有一个睁眼图标。

    关于您的其他问题,将您的精灵拖到图像组件后,您可以按“设置本机大小”按钮,这会将您的对象的大小设置为您的精灵的尺寸。关于新的 UI,我认为这是自动的。请注意,仅当您的图像类型设置为简单(可能是您想要的)或填充组件时,才会出现“设置本机大小”。

    【讨论】:

      【解决方案2】:

      我之前遇到过同样的问题,这里有一个可能的解决方案。

      默认情况下,编辑器相机(场景选项卡)渲染世界空间, 所以你的画布组件的渲染模式应该设置为“世界空间”。 仅当您尝试(或假定)在屏幕空间 - 覆盖或屏幕空间 - 画布组件中的相机中呈现您的 UI 时,才会出现此问题。

      因此,如果您想在场景选项卡/窗口中正确编辑 UI 对象; 将 Canvas 组件的渲染模式设置为 World Space

      我们之前在 Unity 4.x 中没有这个问题,因为我认为 Unity 会自动从 Canvas 组件渲染任何渲染模式,但是,这在 Unity 5.x 中不会发生。我猜他们这样做要么是故意的,要么是 Unity UI 功能上的错误。

      【讨论】:

      • 我想知道为什么这个答案被选为正确答案!画布中的“屏幕空间-叠加”和“世界空间”模式是两种完全不同的模式,具有不同的功能。即使您将它显示在“场景”选项卡中,它仍然是错误的答案。这就像说我的车的空调不好,然后机械师说把你的窗户打开,从外面吹冷气。
      • 因为它适用于他的案例 :) 您能否详细说明并启发我们更多关于为什么它“仍然是错误的答案”并克服类比,因为您并没有真正提供信息。这就像你让我们拿着手电筒走进一条黑暗的小巷,然后你突然把它关掉了。哎呀。
      • 看看这里:docs.unity3d.com/Manual/UICanvas.html 屏幕空间 - 覆盖:这种渲染模式将 UI 元素放置在场景顶部渲染的屏幕上。如果屏幕调整大小或更改分辨率,画布将自动更改大小以匹配此。世界空间:在这种渲染模式下,画布的行为与场景中的任何其他对象一样。 UI 元素将根据 3D 位置呈现在场景中其他对象的前面或后面。这对于旨在成为世界一部分的 UI 很有用。你真的看不出有什么不同吗?
      • "我们之前在 Unity 4.x 中没有这个问题,因为我认为 Unity 会自动从 Canvas 组件渲染任何渲染模式,但是,这在 Unity 5.x 中不会发生。我我猜他们这样做要么是故意的,要么是 Unity UI 功能的一个错误。”我知道区别,只是 Unity 没有在场景选项卡中显示用于编辑的 UI,此时 UnityUI 还是新的。顺便说一句,他们现在似乎解决了这个问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      相关资源
      最近更新 更多