问题标签 [unity-ui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unity3d - 在 Unity UIElements 中,UGUI Canvas Scaler 的 'Scale with ScreenSize' 等价于什么?
当我在 Unity3D 中使用 UGUI 时,如果我想让我的 UI 游戏对象在所有设备上保持相同的大小和位置,我只需在 Canvas Scaler 中将 UI Scale Mode 设置为 Scale with Screen Size。但是现在 Unity3D 切换到 UIElements 系统,不仅是编辑器,还有运行时的游戏内 UI,我怎么能做同样的事情呢?
此外,我们如何才能像 Auto Letterbox(黑条)插件为我们所做的那样,以牺牲屏幕空间为代价来简单地保持游戏屏幕的纵横比?
(全部用于运行时游戏内 UI)
如果现在确切知道所有这些还为时过早,谁能告诉我这些方法是否仍然可行?或者由于 UIElements 系统将基于的“网络风格”开发机制的性质,这些解决方案根本不可能?
非常感谢您,对于我可能在这里提出的任何不安全的表达感到抱歉。
unity3d - 在 Start() 中设置后 Unity3D 文本未更改
我有一个画布(世界空间渲染模式),其中一个文本和一个按钮组件显示在三维空间(它是一个 VR 应用程序)中。画布在运行时使用预制件实例化。我使用以下方法获得对 Text 对象的引用:
我想在运行时使用以下方法更新文本:
where_codeText
只是我根据特定事件更新的变量。问题是 Text 仅在第一次更新,但如果我尝试更改变量,则没有任何反应。我尝试了几种组合以及方法_codeTextLabel.SetAllDirty()
,但它不起作用。
更新文本的唯一方法是重新实例化预制件。
unity3d - 屏幕空间 - Unity 中用于 VR 的叠加画布
如何在 VR 上获得 Screen Space - Overlay Canvas 的效果?
我希望两个眼睛相机的菜单都在完全相同的位置。我不想将它与世界空间混合,所以我能想到的唯一选择是每个 UI 元素都有一个副本,每个相机一个。
我错过了一个更简单的解决方案吗?
c# - 如何统一更改文本不透明度?
当光标在文本上时如何更改不透明度?
就像在那些图片中:
我正在使用 TextMeshPro
unity3d - Oculus Unity VR - 单独的 UI 摄像头不工作
我有一个 VR 项目,我正在尝试使用单独的 UI 摄像头将画布渲染为“始终位于一切之上”,如此处所述。
我使我的UICamera
对象成为主摄像机的子对象 - 这是centerEyeAnchor
OVRCameraRig 中的对象。
我将剔除蒙版设置为UICamera
仅显示其图层并从主相机(CenterEyeAnchor
)中删除该图层。
但事实上,视角很奇怪,看起来UICamera
有点偏移,但它的变换在检查器中被归零,所以我不明白为什么它显示得如此奇怪。
如果我为两个相机都设置了剔除遮罩,"Everything"
它仍然会有一点偏移。
c# - 无法在 Unity 中实例化 UI 对象
每当调用函数时,我都会尝试在 Unity 中实例化一个对象。
这是我的UiHandler脚本中的启动方法
这是我的“OnPlayer”方法,也在UiHandler脚本中,每次“玩家”进入游戏时都会调用它。(他们不是真正的玩家,只是通过 WebSocket 服务器发送到 Unity 的名称)
当调用 start 方法时,Object 将按其应有的方式实例化。但是,每当调用“OnPlayer”方法时,什么都不会发生,并且实例化函数下面的代码甚至都不会运行。控制台中不显示任何错误或信息。它什么也不做。
带有调试消息的控制台输出是
在播放器上
加入时
“分配用户面板”日志也永远不会显示在控制台中。
对于 WebSocket 集成,我使用的是Socket Sharp,后端套接字服务器在 NodeJs 上运行。
这是我的WebsocketManager脚本中的 WebSocket 代码
任何帮助表示赞赏!
unity3d - Unity Rect Mask 2d 溢出
我在滚动条区域上使用 Rect Mask 2d 来隐藏滚动视口之外的元素。
在某种程度上,这是可行的。在用户向下滚动到它之前,以红色显示的 UI 元素不会出现。
但是,当 UI 元素部分位于视口内时。整个元素被渲染。这不是我想要的。
如果 UI 元素不能完全显示在视口中。id 喜欢让元素完全消失或最好消失,我希望它可以呈现视口内的 UI 元素部分,而不会呈现视口外的部分。
我已经尝试过使用 Mask(不是 Rect Mask 2d),但似乎他们不喜欢使用 UI 元素。
如果有人对我如何解决这个问题有任何提示或想法。我很高兴听到你的声音。
提前致谢