Gizmos
Navegando pela visualização Scene
| Entrada | Ação |
|---|---|
| Arrastar com o botão direito | Olhar ao redor |
| Botão direito + W A S D | Voar; Q/E descem/sobem, Shift é quatro vezes mais rápido |
| Alt + arrastar com o botão esquerdo | Orbitar em torno do ponto de foco |
| Arrastar com o botão do meio | Deslocar |
| Roda do mouse | Avançar e recuar |
| F | Enquadrar o nó selecionado |
Velocidade de voo, sensibilidade do olhar e passo de aproximação ficam em File → Settings… → Scene Viewer.
Selecionando
Clique em um objeto na visualização Scene para selecioná-lo, ou clique nele na Scene Tree. O Inspector mostra a seleção.
O gizmo de transformação
A barra da visualização Scene — ou W, E e R — escolhe a ferramenta:
| Ferramenta | Alças |
|---|---|
| Move (W) | Uma seta por eixo. |
| Rotate (E) | Um anel por eixo. |
| Scale (R) | Uma alça por eixo. |
Global / Local alterna as alças entre os eixos do mundo e os eixos do próprio nó.
Encaixe (snap)
O campo Snap da barra define o passo da ferramenta atual: metros para Move (padrão 1), graus para Rotate (15) e um fator para Scale (0.1). Use 0 para mover livremente.
Gizmos de componentes
As câmeras desenham o frustum de visão e as luzes seu alcance ou direção, para você ver o que os componentes invisíveis fazem.
Desenhando seus próprios gizmos
Escreva um desenhista para o seu componente no próprio projeto — sem referência ao editor:
namespace Usercode;
public class Patrol : Component
{
public float Radius = 5f;
}
[CustomGizmo(typeof(PatrolGizmo), typeof(Patrol))]
public sealed class PatrolGizmo : IGizmoDrawer
{
public void DrawGizmos(Gizmos gizmos, Component component)
{
var patrol = (Patrol)component;
var position = patrol.Node!.GlobalTransform.Position;
gizmos.Color = new Vector4(1f, 0.8f, 0.2f, 1f);
gizmos.DrawWireSphere(position, patrol.Radius);
gizmos.DrawRay(position, patrol.Node.Transform.Forward * 2f);
}
}
O Studio chama DrawGizmos a cada quadro para cada componente correspondente enquanto a visualização Scene está visível; subclasses do tipo do componente também correspondem.
A API de Gizmos
| Membro | Desenha ou define |
|---|---|
DrawLine(de, até) |
Um segmento de reta. |
DrawRay(de, direção) |
Um segmento a partir de um ponto, ao longo de uma direção. |
DrawWireCube(centro, tamanho) / DrawWireCube(matriz) |
Uma caixa em arame. |
DrawWireSphere(centro, raio) |
Três círculos máximos. |
DrawCircle(centro, normal, raio) |
Um círculo voltado para normal. |
DrawArc(…) |
Parte de um círculo. |
Color |
Cor RGBA das próximas formas. |
Thickness |
Espessura da linha em pixels. |
Matrix |
Transformação aplicada às próximas formas. |
DepthTest |
false desenha por cima da cena em vez de ficar escondido atrás dela. |
Os gizmos existem só no editor; não são desenhados nos jogos exportados.