Ferramentas unityUI – MRTK3
O UnityUI pode não ser a primeira ferramenta em que os programadores de realidade mista pensam ao criar interfaces de utilizador 3D. No entanto, com alguns componentes e utilitários auxiliares, é possível criar interfaces de utilizador 3D apelativas e flexíveis no UnityUI.
Dica
É fácil criar estrangulamentos de desempenho ao criar o UnityUI. Antes de criar esquemas complexos do UnityUI, recomenda-se que leia este tutorial.
Sample
Veja o exemplo unityUI para obter demonstrações de vários componentes criados para o UnityUI.
Componentes de comportamento da IU
Os componentes abaixo ajudam na composição da IU, mas não são componentes gráficos visíveis.
ScaleMeshEffect
Nos componentes do UnityUI, a unity_ObjectToWorld
matriz (ou UNITY_MATRIX_M
no URP) não é a matriz de transformação da transformação local em que o componente Gráfico se encontra, mas sim a do respetivo Canvas principal. Muitos efeitos de sombreado nas Ferramentas de Gráficos exigem que a escala de objetos seja conhecida. Para resolver este problema, o ScaleMeshEffect.cs irá armazenar informações de dimensionamento em atributos de canal UV durante a construção da malha de IU.
Dica
Uma Tela ou CanvasRenderer nas Ferramentas Gráficas pedirá a adição de um ScaleMeshEffect.cs quando for necessário.
RectMask2DFast
O UnityUI tem um componente incorporado chamado RectMask2D. Normalmente, este componente é utilizado para mascarar uma pequena secção de uma área maior. Ao mascarar muitos objetos, este processo pode demorar muito tempo a abater objetos na CPU. Para evitar este estrangulamento, as Ferramentas Gráficas incluem um RectMask2DFast
componente.
RectMask2DFast
funciona da mesma forma RectMask2D
que e é uma substituição recomendada. Se encontrar um problema em que o mascaramento não é atualizado depois de adicionar ou remover objetos, RectMask2DFast
poderá ter de invocar manualmente uma atualização, como abaixo:
myRectMask2DFast.ForceClip = true;
Todas as Ferramentas Gráficas/Tela/ sombreados e o sombreado Ferramentas de Gráficos/Tela Padrão suportam RectMask2D
, RectMask2DFast
e RoundedRectMask2D
.
Nota
As Ferramentas de Gráficos/Tela/ sombreados e o sombreado Ferramentas de Gráficos/Tela Padrãonão suportam a propriedade Softness em RectMask2D
ou RectMask2DFast.
RoundedRectMask2D
RoundedRectMask2D
derivar de e age de RectMask2DFast
forma semelhante. A única diferença é que RoundedRectMask2D
contém um valor de raio de canto para cantos arredondados. Este raio pode ser selecionado para todos os cantos ou cada canto individualmente.
Nota
O instancing de material tem de ser controlado pelo utilizador. Ou seja, os materiais partilhados podem ser efetuados por RoundedRectMask2D
.
Componentes gráficos da IU
Os componentes gráficos abaixo ajudam a adicionar dimensionalidade 3D a uma Tela.
CanvasElementRoundedRect
Este componente gera, de forma processual, uma malha de rect arredondada 3D que é, em seguida, atribuída ao fluxo de vértices do Canvas. Normalmente, este componente é utilizado para gerar malhas de backplate com o sombreado Graphics Tools/Canvas/Backplate .
CanvasElementBeveledRect
Tal como CanvasElementRoundedRect
, este componente gera, de forma processual, um rect arredondado 3D, mas com arestas biseladas. Normalmente, este componente é utilizado para gerar malhas de chapas traseiras com o sombreado Ferramentas Gráficas/Tela/Biselado .
CanvasElementMesh
O componente MeshRenderer do Unity pode ser utilizado para apresentar malhas 3D no UnityUI, mas não respeita algumas das funcionalidades de esquema fornecidas pelo UnityUI. Para resolver estes problemas de esquema, existe o CanvasElementMesh
componente .
O CanvasElementMesh
componente utiliza uma malha de entrada e traduz-a num Graphic
componente.
Importante
A malha de entrada tem de ter a respetiva propriedade Leitura/Escrita ativada para que os vértices possam ser lidos dentro do script.
Animação
Para animar as propriedades do material unityUI, pode utilizar as classes CanvasMaterialAnimator... Para obter mais informações, veja a documentação de animação .
Itens de menu
Para ajudar com o esquema de IU, existem vários itens de menu nas Ferramentas de Gráficos.
Ancorar a cantos e cantos a âncoras
Janela > Ferramentas de Gráficos > Ancora Âncoras > de Tela aos Cantos e Ferramentas > de Gráficos da Janela > Os Cantos das Âncoras > para Âncoras permitem-lhe alternar entre expressar o esquema no sistema de afixação e o sistema de âncora (restrição) inerente ao RectTransform. Isto pode ser útil ao mover-se entre esquemas de dimensionamento reativos e fixos.