Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Unity es adecuado para juegos en línea? Parece que a todas las nuevas tecnologías en la industria nacional de juegos se les hará esta pregunta primero. No es de extrañar que el desarrollo de juegos en China sea equivalente al desarrollo de juegos en línea. Esta es nuestra corriente principal actual. El lugar de nacimiento de estas nuevas tecnologías son principalmente los juegos de consola, y todos sirven más o menos para juegos de consola. Esta contradicción siempre ha existido, así como siempre ha existido este problema. Desde una perspectiva amplia, Unity y UE son motores de juegos generales y sus ideas de diseño y arquitectura básicas son similares. Podemos ver qué problemas pueden resolver estos motores generales. Representación de gráficos Al menos en esta etapa, la representación de gráficos sigue siendo la parte más importante y la única que se puede ver, por lo que todos usarán esto para medir la calidad del motor. A los fabricantes de motores también les gusta usar esta pieza para presumir de lo increíbles que son sus motores. Esta ya no es la era de Quake y no hay secretos en la tecnología de representación de gráficos. La mayoría de los elementos teóricos utilizados siguen siendo las teorías anteriores, pero se han realizado algunos ajustes especiales para utilizar la aceleración del hardware de la tarjeta gráfica y la interfaz gráfica actual (D3D, OpenGL). Estos detalles se analizan en las series GPU Gems y Shader X. La gestión de escenas y el juicio de visibilidad siguen siendo octree, bsp/pvs, bsp/portal o sus variantes. Como máximo, se pueden agregar consultas de oclusión respaldadas por hardware (algunas son más profesionales e incorporan soluciones de evaluación de visibilidad de terceros). El sistema de animación básico es la deformación del esqueleto, además de varios métodos de fusión de animación y soporte IK. Cada motor de un sistema de partículas es casi igual (cuál es la diferencia esencial). La optimización de la eficiencia de renderizado no solo está relacionada con el juicio de visibilidad, sino también con métodos de optimización generales: minimizar el cambio de estado de renderizado, renderizar según la clasificación de sombreadores y admitir renderizado de subprocesos múltiples. Ambos admiten posprocesamiento (hdr, ssao...). Los sistemas de iluminación y materiales son probablemente las mayores diferencias de rendimiento. El sistema de materiales de Unity requiere que usted escriba sus propios sombreadores, mientras que UE genera sombreadores automáticamente conectando nodos de expresión de sombreadores de gráficos. Esto parece muy avanzado, pero si estos nodos se pueden conectar, creo que no está lejos de poder escribir sombreadores. ¿Cómo puedes esperar que los camaradas del arte lo utilicen? En términos de eficiencia, no existe una diferencia esencial entre estos motores, incluido Ogre como motor gráfico puro. Es la tarjeta gráfica la que realmente hace la mayor parte del trabajo informático. Lo que hace el motor es evitar en la medida de lo posible que la tarjeta gráfica desperdicie trabajo. No creas que un buen efecto visual tiene mucho que ver con el motor, tal vez sea solo un trabajo de sombreado. Los efectos visuales realmente buenos se crean con buen arte. La simulación de física PhysX primero intentó llevar su propia PPU, es decir, la tarjeta aceleradora de física, a los cálculos de física del hardware, pero luego falló. Después de ser adquirida por NVIDIA, el foco de la aceleración física se trasladó a la GPU. Ahora PhysX está estrechamente integrado con la GPU, lo que realmente permite efectos físicos a gran escala. Esto también lo convierte en la mejor opción para todos los motores comerciales, o incluso para desarrollar su propio motor de juego. Diversos efectos de la simulación física, como el movimiento de las articulaciones de un cuerpo rígido, el funcionamiento de la tela, la cinemática de fluidos, etc. , son todos compatibles con el motor de física, y el motor del juego simplemente integra estas funciones en su propia arquitectura. Por lo tanto, para la simulación física, todos los motores deben admitir lo mismo y no habrá diferencias esenciales. Infraestructura de juegos y extensiones de scripts La forma principal de crear juegos en estos motores es confiar en la arquitectura básica del juego (escenas, objetos de juego, objetos de recursos...) y usar scripts para agregar funciones lógicas de juego personalizadas. La idea de esta infraestructura proviene del primer motor Quake, con funcionalidad similar pero implementaciones diferentes. Usos de la unidad. net, mientras que UE utiliza scripts privados no reales. Comunicaciones de red Presenta comunicaciones de red diseñadas para juegos multijugador en una red de área local. En términos de implementación, se basan básicamente en UDP, estableciendo su propio conjunto de protocolos de red, soportando mensajes garantizados y no garantizados, replicación de estados de objetos de juego y llamadas RPC. Aunque se llama comunicación LAN, no significa que no se pueda conectar a través de Internet. La interconexión a Internet normalmente se puede lograr a través de un servidor externo coincidente o un servidor dedicado. Este modelo de red es muy diferente a los juegos MMO. En primer lugar, aunque este modelo también es conceptualmente una estructura C/S, no distingue claramente entre el cliente y el servidor como un MMO.

¿Unity es adecuado para juegos en línea? Parece que a todas las nuevas tecnologías en la industria nacional de juegos se les hará esta pregunta primero. No es de extrañar que el desarrollo de juegos en China sea equivalente al desarrollo de juegos en línea. Esta es nuestra corriente principal actual. El lugar de nacimiento de estas nuevas tecnologías son principalmente los juegos de consola, y todos sirven más o menos para juegos de consola. Esta contradicción siempre ha existido, así como siempre ha existido este problema. Desde una perspectiva amplia, Unity y UE son motores de juegos generales y sus ideas de diseño y arquitectura básicas son similares. Podemos ver qué problemas pueden resolver estos motores generales. Representación de gráficos Al menos en esta etapa, la representación de gráficos sigue siendo la parte más importante y la única que se puede ver, por lo que todos usarán esto para medir la calidad del motor. A los fabricantes de motores también les gusta usar esta pieza para presumir de lo increíbles que son sus motores. Esta ya no es la era de Quake y no hay secretos en la tecnología de representación de gráficos. La mayoría de los elementos teóricos utilizados siguen siendo las teorías anteriores, pero se han realizado algunos ajustes especiales para utilizar la aceleración del hardware de la tarjeta gráfica y la interfaz gráfica actual (D3D, OpenGL). Estos detalles se analizan en las series GPU Gems y Shader X. La gestión de escenas y el juicio de visibilidad siguen siendo octree, bsp/pvs, bsp/portal o sus variantes. Como máximo, se pueden agregar consultas de oclusión respaldadas por hardware (algunas son más profesionales e incorporan soluciones de evaluación de visibilidad de terceros). El sistema de animación básico es la deformación del esqueleto, además de varios métodos de fusión de animación y soporte IK. Cada motor de un sistema de partículas es casi igual (cuál es la diferencia esencial). La optimización de la eficiencia de renderizado no solo está relacionada con el juicio de visibilidad, sino también con métodos de optimización generales: minimizar el cambio de estado de renderizado, renderizar según la clasificación de sombreadores y admitir renderizado de subprocesos múltiples. Ambos admiten posprocesamiento (hdr, ssao...). Los sistemas de iluminación y materiales son probablemente las mayores diferencias de rendimiento. El sistema de materiales de Unity requiere que usted escriba sus propios sombreadores, mientras que UE genera sombreadores automáticamente conectando nodos de expresión de sombreadores de gráficos. Esto parece muy avanzado, pero si estos nodos se pueden conectar, creo que no está lejos de poder escribir sombreadores. ¿Cómo puedes esperar que los camaradas del arte lo utilicen? En términos de eficiencia, no existe una diferencia esencial entre estos motores, incluido Ogre como motor gráfico puro. Es la tarjeta gráfica la que realmente hace la mayor parte del trabajo informático. Lo que hace el motor es evitar en la medida de lo posible que la tarjeta gráfica desperdicie trabajo. No creas que un buen efecto visual tiene mucho que ver con el motor, tal vez sea solo un trabajo de sombreado. Los efectos visuales realmente buenos se crean con buen arte. La simulación de física PhysX primero intentó llevar su propia PPU, es decir, la tarjeta aceleradora de física, a los cálculos de física del hardware, pero luego falló. Después de ser adquirida por NVIDIA, el foco de la aceleración física se trasladó a la GPU. Ahora PhysX está estrechamente integrado con la GPU, lo que realmente permite efectos físicos a gran escala. Esto también lo convierte en la mejor opción para todos los motores comerciales, o incluso para desarrollar su propio motor de juego. Diversos efectos de la simulación física, como el movimiento de las articulaciones de un cuerpo rígido, el funcionamiento de la tela, la cinemática de fluidos, etc. , son todos compatibles con el motor de física, y el motor del juego simplemente integra estas funciones en su propia arquitectura. Por lo tanto, para la simulación física, todos los motores deben admitir lo mismo y no habrá diferencias esenciales. Infraestructura de juegos y extensiones de scripts La forma principal de crear juegos en estos motores es confiar en la arquitectura básica del juego (escenas, objetos de juego, objetos de recursos...) y usar scripts para agregar funciones lógicas de juego personalizadas. La idea de esta infraestructura proviene del primer motor Quake, con funcionalidad similar pero implementaciones diferentes. Usos de la unidad. net, mientras que UE utiliza scripts privados no reales. Comunicaciones de red Presenta comunicaciones de red diseñadas para juegos multijugador en una red de área local. En términos de implementación, se basan básicamente en UDP, estableciendo su propio conjunto de protocolos de red, soportando mensajes garantizados y no garantizados, replicación de estados de objetos de juego y llamadas RPC. Aunque se llama comunicación LAN, no significa que no se pueda conectar a través de Internet. La interconexión a Internet normalmente se puede lograr a través de un servidor externo coincidente o un servidor dedicado. Este modelo de red es muy diferente a los juegos MMO. En primer lugar, aunque este modelo también es conceptualmente una estructura C/S, no distingue claramente entre el cliente y el servidor como un MMO.

En este modelo de red, los juegos en línea generalmente implican que una persona configure el servidor del juego (también es el cliente) y otras personas se unan para iniciar el juego. En segundo lugar, este modelo de red no proporciona ningún soporte especial para operaciones en línea a gran escala y el número de personas admitidas es generalmente inferior a 64 personas. Es muy conveniente utilizar esta función de comunicación de red para jugar juegos en línea independientes. Si desea utilizarlo para jugar juegos MMO, esta función de comunicación de red no será de mucha ayuda y deberá restablecerse por completo. Por lo tanto, estos motores se utilizan a menudo para crear clientes MMO. Esto es lo que yo llamo la parte más relacionada con los juegos de consola. En resumen, si el motor universal se utiliza en juegos de consola, básicamente puede cumplir con todos los requisitos técnicos. Si se usa en un MMO, se puede usar como motor de cliente para cumplir con los requisitos técnicos generales del cliente. No esperes más. MMO es un proyecto enorme, además de los clientes, también hay mucho trabajo técnico que debes realizar tú mismo. Volviendo al tema, ¿qué ventajas tiene Unity sobre otros motores producidos por MMO? Los clientes Dot NetMMO a menudo necesitan agregar algunas funciones adicionales, como comunicación de socket personalizada con el servidor del juego, compilación y desmontaje de mensajes de red, acceso web, análisis xml, etc. Para UE, debido a que todo el entorno de desarrollo se basa en su propio motor y se desarrolla con scripts privados, a menos que el motor en sí admita estas funciones (soporte C), no hay forma de expandirse solo desde la capa de script. Por otro lado, la unidad se basa enteramente en. plataforma net y se puede descargar desde. plataforma neta. Básicamente, las funciones necesarias se pueden utilizar directamente. neto. No importa cuán poderoso sea UnrealScript, no puede competir con uno maduro. plataforma neta. Gestión de recursos La gestión de recursos es probablemente el requisito más específico para los clientes de MMO. La cantidad de recursos utilizados por los clientes de MMO no es del mismo orden de magnitud que los juegos tradicionales y, con las actualizaciones y el mantenimiento, la cantidad de recursos seguirá aumentando. Para evitar que su cliente se cuelgue porque no hay memoria disponible o memoria de video, es necesaria la programación y administración dinámica de recursos. Unity y UE son consistentes en el concepto básico de gestión de recursos, es decir, la gestión de recursos se basa en un escenario. Como nodo raíz de las referencias de recursos, todos los recursos a los que se hace referencia se cargarán cuando se cargue la escena. Cambiar de escenario consiste en utilizar el mecanismo de recolección de basura para liberar recursos no referenciados. Este método es muy adecuado para juegos independientes y los desarrolladores ni siquiera sienten cómo se cargan y descargan los recursos. Para los MMO, esto es poco probable y es posible que sea necesario cargar y descargar recursos de acuerdo con una lógica de juego detallada. Unity proporciona funciones dinámicas de carga y descarga de escenas y AssetBundles, lo que hace posible la gestión manual de recursos de alto nivel. Cuando la extensión del editor entró en contacto por primera vez con Unity, me confundió su extraño modo IMGUI. Más tarde, poco a poco descubrí que, aunque esta GUI no es muy adecuada como marco de interfaz de juego, de hecho es muy conveniente usarla para desarrollar un editor personalizado. Todos los editores de Unity se basan en esta GUI. Se necesitan entre 1 y 2 horas para crear un editor personalizado en Unity. No hace falta decir que el soporte multiplataforma es la principal ventaja de Unity. Las plataformas compatibles son muy amplias y el flujo de trabajo de compilación para cada plataforma es muy sencillo. También puedes personalizar el guión de construcción.