【发布时间】:2014-10-08 00:24:24
【问题描述】:
所以,我一直在寻找这个,我觉得我已经尝试了几乎所有的东西,但我仍然不够。
基本的想法是进行聊天,并且还能够在该聊天窗口前面放置一些东西(比如说一个可拖动的菜单)。
首先,我将聊天设置为 GUI 元素。它工作完美.. 自动换行等等,但它总是在其他一切之上,所以这并不适合我想做的事情。
聊天框也会根据您的屏幕分辨率进行缩放。
我认为主要问题是在不使用 GUI 时将其很好地包装起来,而我完全没有想法。
还想说明聊天中的“菜单”将包含游戏对象,因此它不会是另一个 GUI 元素。
这还能做到吗?
【问题讨论】:
-
这在gamedev.stackexchange.com 上可能更合适,但我已经与 Unity3D 和 IIRC 打过交道,GUI 被绘制为 z 轴上最前面的元素 - 所以我不认为您可以在他们面前获得实际的
gameobjects。另外,我认为 GUI 实际上是按照它们在脚本中定义的顺序呈现的,因此您希望最顶层的 GUI 成为 OnGUI() 调用中的最后一件事。最后,作为一个侧面的想法,您可能想将渲染到纹理视为一种拥有包含gameobjects的 GUI 的方式:docs.unity3d.com/Manual/class-RenderTexture.html -
听起来对您来说最好的选择是使用GUI depth control,只需相应地设置深度以使其前进和后退。如果您还希望能够在其前面获取游戏对象,则必须开始使用对象 GUI 的不错示例,其中 NGUI 资产
-
我之前实际上尝试过渲染纹理,但由于我认为是 alpha,它表现得很奇怪。由于窗口不会透明,因此它实际上可能会起作用。我再试一次!谢谢!
标签: c# user-interface unity3d chat unityscript