问题标签 [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 - 如何在 UI 中设置相机视图特定区域
我的所有项目都在 UI 中工作。我的一个场景有 videoPlayer,我想将我的 MainCamera 设置为该特定区域。这个场景是我的录制场景,但为了录制,我必须使用画布渲染模式并且必须是“屏幕空间 - 相机”。如何将我的相机视图设置到该特定区域。我尝试了带有剔除蒙版的第二台摄像机,但没有成功,因为当摄像机渲染 UI 显示所有子对象时,videoplayer 已经是我的 UI 的子对象。
是否可以在 UI 中的任何位置显示到相机?
c# - FindObjectsWithTag 在 Unity 中以随机顺序带回对象?
我正在尝试进行一个级别选择,该级别选择需要尽可能少的维护,因为我打算添加更新以统一添加更多级别(Unity 场景)。
考虑到这一点,我试图让关卡选择为 Unity Build 设置中的每个关卡创建按钮,然后从预制件创建一个模板对象,它可以在其中映射它创建的按钮。
我让它大部分工作,但由于某种原因,它以错误的顺序映射按钮,我试图从下到上,Unity 似乎正在抓取 Gameobjects 是随机顺序。
这是我的代码:
该buttonsHolder
变量在编辑器中设置并且是画布。这buttonPrefab
是我在编辑器中设置的 TextMeshPro 按钮预制件,它有level Buttons
标签和一个简单的脚本,点击时会加载指定的场景。这buttonSlotsPrefab
是我在编辑器中设置的一个游戏对象预制件,它有Button Placement Slot
标签,它包含 8 个其他空游戏对象,每个都有level slot
标签,我使用这 8 个对象作为运行时按钮应该放置在哪里的指南。
同样,我的目标是从下到上放置按钮,但是 Unity 在运行时会无缘无故地吐出这个:
对于某些变量的命名约定,我感到很抱歉,我已经连续两天感到疲倦和压力了。一旦我开始工作,我会解决这些问题。
经过进一步测试,我注意到当我第一次创建时buttonSlotPrefab
,一切正常,但是,在重新启动 Unity(不更改任何文件)后,当我在重新启动后再次运行游戏时,顺序会随机化。这可能是 Unity 引擎中的错误吗?
c# - 尝试在按下 UI 按钮时增加协程中的变量
我正在为孩子们制作一个简单的问答游戏。我在其中从 json 文件中提取问题。每个问题都有一个 10 秒的计时器,如果按下按钮,则会显示下一个问题。我面临的问题是我似乎无法找到控制“yield return waitforseconds()”的方法。我尝试了多种方法,但似乎都不起作用,如果我尝试更改 waitforseconds() 中的值,它要么太快地跳过下一个问题,要么如果尝试增加 questionCounter 变量,它会卡在同一个问题上。我一直在寻找一段时间,但我找不到任何东西。我有一个明天的最后期限,我真的可以使用一些帮助。
现在我想你,如果我在按钮中调用协程,协程将再次重新启动,但似乎没有其他工作。如果我的按钮被按下与否,我会怎么做?请我真的需要一些帮助。
unity3d - Sprite 渲染器和 UI 图像缩放
我正在尝试将 Unity UI Canvas 中的网格大小与另一个由精灵渲染器组成的网格相匹配。
我想做的是将 UI Grid 设置在 Sprite Renderer 网格之上。通过将 UI Grid 和 Sprite Renderer 的父位置设置为 Vector3.zero,我能够在 9:16 中实现这一点(我的画布缩放器设置为 1600-900,宽度/高度匹配为 0.5)。
但是,当我更改为不同的纵横比(例如 9:18)时,我将 UI Grid 画布中的 Canvas Scaler 更改为 1800-900,宽度和高度匹配为 0.5,以用于其他 UI 用途。之后 2 个网格不再对齐。(即使它们的位置向量设置为零)。我知道它的渲染位置有所不同,所以无论如何我可以相对于 UI 网格缩放我的 Sprite Renderer 网格吗?
另外,我使用 2 个摄像头分别渲染 UI 画布和精灵渲染器网格。我假设我必须更改渲染精灵渲染器网格的相机的正交大小?但它背后的计算是什么?
unity3d - 物理相机视口应根据 UI 调整以适应不同的分辨率
我在场景中有一个物理相机,可以渲染 3D 场景。3D 场景在顶部 UI 栏和底部 UI 栏之间渲染,并已正确设置为参考分辨率 720 x 1280。
因此,问题是当分辨率发生变化时,UI 会针对该特定分辨率进行正确设置。但是在 2 个 UI 部分之间渲染的 3D 场景并没有正确地位于它们之间。为了便于理解,我附上了 2 张参考图片。
下面给出的图像基于参考分辨率,并且 3D 场景在 2 个 UI 部分之间正确匹配。
下面给出的图像是另一种分辨率,其中 UI 会相应地进行自我调整。但是 3D 场景不会,即相机应该移动以适应 UI 之间的 3D 场景。
那么,有什么方法可以根据分辨率移动相机,以便它在不同宽高比的 UI 之间正确适配。
谢谢你。
unity3d - Unity:在 UI Scroll Rect 中添加不同的滚动速度
在 Unity 中,我创建了一个 UI 滚动矩形对象。该对象有两个子对象,一个具有不同按钮的按钮处理程序和一个背景。
使用它,按钮和背景都以相同的速度滚动。我希望按钮比背景滚动得更快,从而为滚动创建深度效果。
我在 Objects 或 Scroll Rect 中找不到任何选项。有任何想法吗?
unity3d - Unity-Press Button 缓慢增加数字
我正在尝试做一些类似于 GTA 副城或圣安地列斯的旧 GTA 风格的货币系统。因此,当您添加或获得资金时,数字不会直接跳转到结果。它会慢慢增加,直到增加的价值完成。
我想通过点击按钮来做到这一点,所以一个按钮会增加 100 美元,另一个按钮会减去 100 美元,依此类推。
这些按钮似乎与 update 和 Time.deltatime 配合得不好。任何帮助都会很棒。谢谢!
unity3d - How to mask a UI.RawImage in Unity?
In Unity UI, I have an ordinary RawImage
(It's just sitting on a Panel
)
I have a png, mask.png which is just a white shape on transparent.
How do you mask the RawImage ?
I have tried Mask
, SpriteMask
in many ways and it just won't work.
Even RectMask2D
would be fine (to mask to a square shape) but it just doesn't seem to work?
Should I use
Mask
orSpriteMask
If so, do you perhaps have to / have to not set a Material, on the mask? On the RawImage?
I assume the Mask game object should be the parent of the RawImage, but??
What is the secret ?