Red de conocimiento informático - Problemas con los teléfonos móviles - Dibujar un gráfico de radar de propiedad en Unity The One

Dibujar un gráfico de radar de propiedad en Unity The One

Hoy en día, la mayoría de los juegos utilizan gráficos de radar de atributos de héroes o personajes para mostrar información intuitiva, como la posición del héroe. A continuación se muestra una tabla de radar de atributos para un jugador y una tabla de radar comparativa de atributos para dos jugadores en nuestro juego.

El primero es el efecto final del gráfico de radar:

En esta demostración, configuro cuatro teclas de método abreviado A, B, C y D para probar el efecto de visualización del gráfico de radar. , lo cual es conveniente Probémoslo y veamos el efecto del artista. A es el valor del atributo del gráfico de radar generado aleatoriamente, B es el gráfico de radar generado de pequeño a grande, C es el gráfico de radar de atributos completo y D es la visualización de datos. gráfico de radar de datos personalizado escrito por usted mismo

Este gráfico de radar muestra los atributos de un jugador o personaje y muestra información intuitiva, como la posición de un héroe. Gráfico de radar de datos

2. Desmontaje de las funciones del gráfico de radar

Como se puede ver en el vídeo de demostración anterior, el gráfico de radar tiene principalmente 6 anillos, 11 líneas dimensionales y 11 atributos máximos. puntos y el método de llenado de los valores de los atributos.

1. Cálculo de las coordenadas de los vértices

Primero, para dibujar las líneas anteriores y completar los datos, necesitamos calcular las coordenadas de los vértices. El cálculo de las coordenadas de los vértices se puede realizar de la siguiente manera. como se muestra en la siguiente figura:

De esta manera, los que estamos familiarizados con las funciones trigonométricas podemos calcular las coordenadas de los vértices

Vector2[] polygonVertex=newVector2[m_polygonCount + 1. ];

floatrad =2*Mathf.PI/m_polygonCount[m_polygonCount + 1];

También podemos calcular las coordenadas de los vértices mediante el siguiente método. PI/m_polygonCount;

for(inti=0;i

{

floatata=rad*i;

if(m_align==EAlign.Y_FORWARD){

a+=Mathf.PI/2.0f;

}

polígonoVértice[i].x=m_center .x +m_radius*Mathf.Cos(a);

polygonVertex[i].y=m_center.y+m_radius*Mathf.Sin(a);

if (m_align= =EAlign.Y_FRWARD)

if (m_align==EAlign.Y_FRWARD)

a+=Mathf.PI/2.Y_FORWARD)

{

if(m_drawDirection==EDirion.CLOCKWISE)

polygonVertex[i].x*=-1.0f;

}

else

{

if(m_drawDirection= =EDirion.

}

}

Explicación: 2 * Mathf.PI = Divide 360 ​​grados por la dimensión 11 para calcular el ángulo que ocupa cada dimensión, y luego usa funciones trigonométricas y el radio del círculo para calcular cada punto de coordenadas.

2. Calcula el ángulo de cada anillo en. 11. Las coordenadas sobre los vértices de cada dimensión

Al utilizar las 11 coordenadas de vértice calculadas en el primer paso y luego dividir los puntos de coordenadas en una dimensión en 6 partes iguales, las coordenadas de los puntos sobre cada La dimensión se puede calcular y luego, al recorrer 6 partes iguales de las 11 dimensiones, puede encontrar los 6 puntos en cada dimensión sobre las 11 dimensiones y las coordenadas de los puntos en cada dimensión, y luego presionar las 11 dimensiones a través de la. Para bucle. Al dividir de esta manera, se pueden obtener los valores de coordenadas de 6 puntos en cada dimensión.

for(intindex=0;index

{

intvertexOffset=index*roundCount;

for(inti =0;i<.m_polygonCount;i++)

{

polygonVertex[i]=bounds_[i]/m_polygonOuterCount*(index+1);

}

polygonVertex[bounds_.Length - 1]=polygonVertex[0];

}

Ejemplo: index=0, que es el círculo más interno de la estructura alámbrica Luego calcule las coordenadas de cada punto dividiendo las coordenadas del vértice por 6. De esta forma, cada bucle calcula las coordenadas de cada punto en una capa de estructura alámbrica circular. polygonVertex[bounds_.Length - 1] = polygonVertex[0]; Esta oración es para asignar nuevamente el primer vértice al último vértice en la matriz de vértices para facilitar el dibujo posterior del triángulo atravesado.

3. Dibuje el área rellena del atributo del gráfico de radar

A través de datos de un solo vértice, puede dibujar el área rellena del atributo del gráfico de radar. Por ejemplo, los 11 valores de atributos de un héroe se pueden asignar a una dimensión del gráfico de radar utilizando los valores de estas 11 dimensiones, y luego a través de la interfaz de dibujo de la interfaz de usuario de Unity, el punto central y los dos Los puntos de atributo se forman en un triángulo. Los datos del triángulo le indican a la interfaz de dibujo de Unity que dibuje un triángulo.

Nota: Al dibujar un triángulo, al pasar los datos de la matriz de vértices del triángulo y el índice a Unity, preste atención al orden de los índices. Por ejemplo, en la Figura 3, agregue índices en el orden de 0,1. 2 en el sentido de las agujas del reloj, y Unity seguirá Nuestro orden dibuja triángulos.

Esta publicación de blog también se publicó en "Conocimiento": Dibujo del gráfico de radar de atributos "Uno" en Unity - Puntos de conocimiento