在OnGUI中绘制具有颜色和厚度的矩形

时间:2019-02-06 22:28:29

标签: unity3d

我想在OnGUI中绘制一个框架/矩形,以便显示特定区域以进行调试。

此矩形应显示为具有一定的“厚度” /线宽和颜色。

到目前为止,我只找到了GUI.Label和GUI.Box,这似乎都不够。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果仅用于调试,建议使用Gizmos.DrawWireCube

注意:仅在SceneView的{​​{1}}中绘制,所以实际上用于调试

GameView

仅在选择对象时显示它,或private void OnDrawGizmosSelected() { // Draw a yellow cube at the transform position var color = Gizmos.color; Gizmos.color = Color.yellow; Gizmos.DrawWireCube(transform.position, new Vector3(1, 1, 1)); Gizmos.color = color; } 仅在选择对象时显示

请注意,这是在WorldSpace中完成的,因此,如果您希望大小矢量等与对象一起旋转,则可以在它们之间包裹

OnDrawGizmos

不幸的是,没有选择来改变线的厚度...

... 但是您可以通过简单地绘制例如使用Gizmos.DrawCube形成一个矩形的4个普通立方体。也许像

var matrix = Gizmos.matrix;
Gizmos.matrix = transform.localToWorldMatrix;

//...

Gizmos.matrix = matrix;

我只在智能手机上使用,因此它可能无法复制粘贴,但我想您会明白的;)