1 Archivos adjunto(s)
Unigine motor de render en tiempo real
Nueva versión de Unigine, un motor de render en tiempo real que enfatiza las características para las industrias de ingeniería y el entretenimiento, con varias mejoras significativas. Las nuevas características en la versión 2.7.3 incluyen:
- Actualización del sistema de propiedades: soporte para arreglos y estructuras de datos complejas.
- Evolución del sistema de componentes: rendimiento mejorado, subprocesos múltiples, integración de SDK Browser.
- Refracción mejorada para vidrio.
- Efectos de suciedad del espacio de pantalla.
- Representación del cielo mejorada.
- Plantilla de aplicación IG extendida.
- Importación de texturas mejorada.
- Herramienta de carretera experimental (sistema WorldSplineGraph).
Además de las mencionadas, hay otras muchas funciones que están incluidas en esta nueva versión, puedes leer más sobre ellas y descargar una versión de pruebas en su sitio web.
1 Archivos adjunto(s)
Unigine versión de Unreal Engine gratuita
Unigine versión de Unreal Engine gratuita se actualiza, no sé si tiene mucho sentido una versión con menos opciones aunque sea gratuita, hay que recordar que se puede descargar Unreal Engine sin previo pago, y pagar según nuestras ganancias obtenidas con el programa.
Pero supongo que cuando lo hacen, será por algo, la iniciativa está dirigida a creativos solitarios o en pequeños grupos de trabajo, en definitiva para proyectos pequeños, científicos, estudiantes y organizaciones sin ánimo de lucro, hay que tener en cuenta que un proyecto que genere 100.000 dólares o más al año, sí tendrán que pasar por caja, en cual caso sería un pago mensual de 150 dólares.
Mirando las características de Unigine, hay que decir, que prácticamente tiene de todo, y acepta casi todas las opciones al igual que su hermano mayor.
No intentar usar este programa en casa si tienes algo menor a una Nvidia GeForce GTX 1080. Peligran tus neuronas.
https://youtu.be/WmgxOSuxyWw
1 Archivos adjunto(s)
Control avanzado de detalles del terreno del paisaje
Control avanzado de detalles del terreno y del paisaje, los usuarios del programa han realizado muchas solicitudes para que el programa recibiera mejoras en la administración de detalles y optimización del rendimiento dependiente de la distancia. Bueno, pues parece que ya han llegado.
La visibilidad de los detalles del terreno paisajístico ahora se puede configurar en función de la densidad, tamaño de texel, esta opción es un análogo de la visibilidad dependiente de la distancia aplicada a la implementación de Landscape Terrain y se debe utilizar para la optimización del rendimiento.
Ahora está disponible con más flexibilidad en la configuración de los detalles del terreno paisajístico, donde se puede controlar la rotación y el desplazamiento de los detalles a través de los parámetros correspondientes del material landscape_terrain_detail_base. Estos parámetros también se pueden utilizar para reducir el mosaico.
Archivo adjunto 235270
2 Archivos adjunto(s)
Máscaras de detalle dithering
Ahora puede controlar el tramado de máscaras de detalle del terreno de paisaje para eliminar artefactos en degradados suaves de máscaras de detalle debido a la mordedura de máscara insuficiente. Este parámetro añade algo de fluctuación a las máscaras que puede resultar en algún ruido adicional, pero el aspecto final se pone mucho mejor.
La intensidad de la fluctuación se controla, por máscara a través de los controles deslizantes correspondientes y globalmente a través de Ajustes -> Renderizar-> Paisaje o a través de la variable de consola render_landscape_terrain_mask_dithering.
Archivo adjunto 235332
Se ha corregido un problema con un pincel de mapa de alturas aditivas del terreno de paisaje que se comportaba como en el modo de fusión alfa.
El pincel Borrar del terreno de paisaje ahora funciona correctamente con mapas de altura en lugar de afectar solo a la opacidad de los datos del mapa de alturas.
El selector de datos para el pincel Mapa de altura ahora tiene en cuenta Escala de altura.
Se ha corregido un problema que provocaba que la carga de LandscapeLayerMap resultara en que el método LandscapeFetch::fetchForce() no funcionaba correctamente.
La detección de colisiones fijas para el terreno paisajístico a veces daba lugar a jugadores que caían bajo la superficie del terreno.
Se ha corregido la generación de terrenos de paisaje a partir de fuentes de datos EXR de 32 bits.
Se ha añadido la capacidad de visualizar los datos de albedo de depuración del terreno paisajístico a través de Helpers->Landscape Data -> Albedo (o a través del comando render_show_landscape_albedo console).
Se han corregido los artefactos de relleno en la superficie del terreno paisajístico al editarlos con pinceles.
Se han corregido errores de sombreador asociados con la representación de Landscape Terrain en el hardware de AMD mediante la API de OpenGL.
Archivo adjunto 235333
3 Archivos adjunto(s)
Mejoras en las nubes y la atmósfera
Mejoras en las nubes y la atmósfera. La atmósfera en el mundo virtual de Unigine ahora se ve aún más realista, con mejoras en el sistema de nubes y neblina físicamente correcta, por ejemplo, ahora es posible imitar la curvatura de la atmósfera del planeta, con la capacidad de establecer un radio específico para el planeta eliminando la brecha antinatural entre las nubes y el suelo en el horizonte.
Esta característica es compatible con el rendimiento, solo afecta a las nubes, funciona en relación con la posición de la cámara y no se tiene en cuenta en la detección de intersecciones. Puede controlar la función en Unigine Editor a través de la sección Configuración -> Renderizar -> Nubes (parámetros de Radio redondeado y planeta) de la ventana Configuración, o a través de los comandos de la consola render_clouds_rounded_*.
Haz de luz basado en la física, algo realmente importante si queremos crear trabajos realistas, ahora está disponible gracias a un nuevo modo de cálculo de degradado para el renderizado de neblina atmosférica.
La nueva neblina ahora funciona correctamente con las nubes incluso con la configuración predeterminada proporcionando un aspecto realista. Un conjunto de parámetros claros y simples, incluido el control de densidad dependiente de la altura, le permite ajustar el resultado para que se ajuste a sus necesidades, además de ajustar un poco el color y otros parámetros.
Ahora puedes hacer nubes sin que se vea el mosaico o repetición de textura, el mosaico de la textura de cobertura de las nubes a veces puede ser perceptible en mundos a gran escala, pero ahora hay una solución para eso, simplemente habilitas la opción Fix Coverage Tiling a través de la sección Settings -> Render -> Clouds y habilitas el estado Fix Coverage Tiling en el material clouds_base.
Para que esas nubes queden realistas también se ha añadido un nuevo parámetro coeficiente de atenuación al material clouds_base que te permite controlar la tasa de crecimiento de opacidad mediante el canal alfa con la distancia dentro de la nube, imitando el volumen de la nube y arreglando una rotura a una cierta altura que aparece en el proceso de renderización de capas de nube curva cuando se ve desde el interior de la capa.
1 Archivos adjunto(s)
Mejoras en la animación con Unigine
Mejoras en la animación con Unigine, ahora está disponible un control más avanzado y conveniente para las animaciones de malla y piel. Cada hueso de una malla de piel ahora se puede enlazar a un nodo independiente para controlar su transformación, lo que le da mucha flexibilidad.
Por ejemplo, puede animar estos nodos a través de la herramienta Rastreador o habilitar el control basado en la física sobre los huesos de malla de piel que los unen a nodos controlados por la física. Puedes ajustar las animaciones de tu malla de piel a través de la sección huesos de la ventana parámetros directamente en Unigine Editor, utilizando un visualizador de huesos mejorado para la supervisión.
Para su comodidad, la sección huesos también muestra la jerarquía de huesos de la malla de piel seleccionada. Esta funcionalidad también está disponible a través de la API.
Los huesos que no están unidos al esqueleto ahora se importarán de forma predeterminada en la opción importar huesos sin piel.
También se añade la capacidad de suavizar la reproducción de animaciones en bucle para animaciones importadas, simplemente marcas la opción Bucle forzado en los parámetros de importación de animación para tu malla o FBX-Asset y establecer el número de fotogramas que se utilizarán para suavizar.
Archivo adjunto 235471
1 Archivos adjunto(s)
Cambios en la forma de cargar materiales
Cambios en la forma de cargar materiales, de forma predeterminada, la carga de materiales en Unigine está optimizada para reducir los picos moderados, el consumo medio de memoria y el tiempo de carga en el inicio del motor y del editor.
En caso de capacidad de memoria insuficiente o cuando es necesario realizar una gran cantidad de iteraciones rápidamente, por ejemplo, etapa de desarrollo es posible que desee sacrificar la reducción de picos para ahorrar memoria y aumentar la velocidad de carga.
O, por el contrario, es posible que desee reducir los picos durante el tiempo de ejecución tanto como sea posible por ejemplo, para simuladores u otras aplicaciones. Ahora puedes elegir entre tres modos de carga de materiales para adaptarse a tus necesidades.
Sin almacenamiento en caché: consumo mínimo de memoria y velocidad máxima de carga del motor. Recomendado para iteraciones rápidas durante la fase de desarrollo de aplicaciones.
Almacenamiento en caché de materiales: carga ligeramente más lenta al inicio del motor y más memoria utilizada que para el primer modo, pero menos picos. Se puede utilizar para un pequeño proyecto que tiene un pequeño número de materiales en caso de rendimiento satisfactorio y cantidad de memoria suficiente.
Este modo está habilitado de forma predeterminada. Modo de conmutación para una carga más rápida o una mejor reducción de picos cuando sea necesario.
Almacenamiento en caché de materiales y sombreadores: este modo garantiza un trabajo estable y una reducción significativa de los picos, pero requiere mucha memoria y aumenta el tiempo de carga al inicio. Recomendado para la fase de producción cuando se entrega la aplicación al usuario final.
Puedes configurar este modo mediante el nuevo comando materials_loading_mode console, así como mediante la opción correspondiente en el archivo de configuración.
2 Archivos adjunto(s)
Nuevas pantallas de arranque en Unigine
Nuevas pantallas de arranque en Unigine, totalmente rediseñadas tanto para la carga del programa como para la carga de herramientas, las pantallas de arranque y carga son personalizables, ofreciendo mucha flexibilidad en la personalización. Puedes agregar cualquier mensaje personalizado con formato de texto enriquecido compatible o modificar los existentes para mostrar el progreso o cualquier otra información al usuario.
Las devoluciones de llamada le permiten conectarse al render de pantalla de arranque y/o carga para agregar algo, como representar algún modelo 3D personalizado, agregar widgets, etc. Esto puede dar mucha presencia y seriedad en cualquier presentación a terceros.
A partir de ahora la personalización de las pantallas de carga y la pantalla de arranque del motor está disponible para todas las ediciones del software Community Pro, Ingeniería, y Sim.
Las pantallas de arranque predeterminadas de las ediciones del SDK de Unigine.
La pantalla de arranque es la primera vez que se inicializa el motor. Pasa por varios pasos de inicialización, mostrando el progreso de carga. Esta te ofrece mucha flexibilidad en la personalización mediante la edición de la sección de pantalla del archivo de configuración default.boot:
Archivo adjunto 235776
Pudiendo modificar el código que necesites, para ello tienes disponibles los siguientes parámetros:
width: Ancho de la ventana de la pantalla de arranque, en píxeles.
height: Altura de la ventana de la pantalla de arranque, en píxeles.
Background_color: Color de fondo definido por un vector de cuatro números en el rango [0; 1].
texture: Ruta de acceso a la textura de la pantalla de arranque.
transform: Transformación de la textura de la pantalla de arranque definida por un vector de cuatro números en el rango [0; 1]:
Multiplicador de tamaño de textura.
Multiplicador de tamaño de ventana.
Posición horizontal en el rango [0.0, 1.0].
Posición vertical en el rango [0.0, 1.0].
threshold: Umbral para la mezcla basada en el canal alfa.
font: Ruta de acceso a la fuente para la representación de texto.
text: Texto de la pantalla de arranque. Puede ser un texto simple o enriquecido. Se proporciona una serie de alias:
UNIGINE_COPYRIGHT — el texto sobre el derecho de autor de la Unigine.
UNIGINE_VERSION — la versión actual de Unigine.
LOADING_PROGRESS — el progreso de carga va de 0 a 100.
messages: Nombres personalizados para las etapas de inicialización correspondientes. Puede ser un texto simple o enriquecido, por ejemplo:
Archivo adjunto 235777
engine_init: inicialización del motor.
file_system_init: inicialización del sistema de archivos.
materials_init: inicialización de materiales.
properties_init: inicialización de propiedades.
plugins_init: inicialización de plugins del motor.
shaders_compilation: compilación de sombreadores.
Debes tener en cuenta que si la ventana de la aplicación está fuera de foco, el ejecutor posterior se detendrá, a menos que la característica de background_update en el archivo de configuración default.boot esté habilitada para activar el motor ejecutar siempre independientemente de si la ventana de la aplicación está primer o en segundo plano.
La pantalla Splash se puede omitir en las ediciones Community Pro, Engineering y Sim SDK. Para ello, simplemente estableces el parámetro splash_screen del archivo de configuración default.boot en 0.
1 Archivos adjunto(s)
Rangos para sombras de espacio de pantalla
Screen Space Shadows, una gran característica para proporcionar una imagen coherente con sombras renderizadas para objetos a cualquier distancia de la cámara a un bajo coste. Ahora puedes establecer diferentes valores de tamaño, paso y umbral para los objetos situados cerca de la cámara y lejos de ella.
Por lo tanto, las sombras a escala completa se representarán para objetos grandes situados lejos, mientras que dentro del rango de distancia cercana solo se representarán las sombras proyectadas por objetos pequeños. Esta característica es especialmente útil para ubicaciones donde se requieren detalles para rangos de distancia corta y larga.
Archivo adjunto 236029
Detalles de trabajar con motores en tiempo real
El principio de casi cualquier motor en tiempo real es que se obtiene lo que ves. Puedes ver todos los efectos más o menos a la vez. Lo más interesante es que siempre se puede cambiar la configuración de alta calidad a baja y sólo ligeramente perder la calidad de la imagen, pero ganar FPS (fotograma por segundo). Normalmente esto lo haces cuando trabajas en una escena compleja, para hacer el proceso más fácil.
Para cualquier artista 3D, cuando se pasa de gráficos de alta gama a bajo nivel de poligonaje, es importante realizar un seguimiento de las FPS! Si, al cargar un objeto pesado, FPS disminuye drásticamente, primero debes optimizarlo y, a continuación, empezar a importar.
Como regla general, muchos objetos de las escenas tienen entre 3 y 10 millones de polígonos al principio, y después de la optimización se quedan en 15.000 a 500.000.
Otro momento es clonar un objeto. Si la escena en segundo plano tiene objetos repetidos, es mejor clonarlos en lugar de crear otros nuevos, ahorra mucho tiempo. Y, por supuesto, utilice LOD (nivel de detalles) e Impotors para simplificar escenas muy pesadas.
Y el tercer parámetro pesado es la iluminación y las sombras. Incluso con algoritmos simplificados, la iluminación requiere una gran cantidad de recursos, es por eso que trato de usar un relleno sólido en lugar de fuentes de luz puntual para ahorrar un poco. Además, debe evitar el uso de iluminación dinámica, es el tipo de iluminación que consume más recursos porque se representa en tiempo real.
Además de eso, una de las principales características del tiempo real son los artefactos. Por supuesto, todo el mundo quiere obtener la imagen más suave posible con menos artefactos SS (espacio de pantalla), especialmente con reflejos.
La era de los Denoiser resolvió algunos de los problemas con el ruido, pero por desgracia, a veces, con los ajustes complejos de material e iluminación, el ruido sigue ahí. Tú también tienes que estar preparado para esto.
Un consejo para todos los nuevos especialistas en tiempo real, especialmente aquellos que han utilizado Octane, Redshift, Vray, etc. durante mucho tiempo, es estar preparado para el hecho de que tendrá que sumergirse en todos los aspectos anteriores y aprender cómo llevarse bien y hacer frente a ellos.
En general, el segmento en tiempo real es bastante genial y llevará a cualquier artista a un nuevo nivel, aprenderás a optimizar escenas, ajustar escenas más rápido incluso en renderizados sin conexión, ahorrar en recursos y tiempo, y cambiar de offline a tiempo real. Muchos clientes no exigen un realismo completo, pero quieren resultados rápidos y el tiempo real es definitivamente el ganador aquí.
También puedes realizar cambios delante del cliente y mostrar inmediatamente el resultado, resolviendo rápidamente los problemas y moviendo el proyecto hacia la finalización.
Desventajas de LA CG y Unigine en tiempo real, la transición de 3D de alta poli a bajo-poli! Se necesita tiempo para aprender este proceso, optimizar la geometría, especialmente cuando se trabaja con 10-20 millones de polígonos, bakear texturas y normales, y poner todo esto juntos en el motor. Pero en general, vale la pena por no tener una gran cantidad de pruebas de iluminación y ajustes de material.
Las desventajas de Unigine en sí son la falta de algunas capacidades de animación, Alembic, USD y VDB, y también un editor de material de nodo y programación visual. Todo esto es sólo cuestión de tiempo ya que, con la nueva versión, los desarrolladores están agregando más y más nuevas funciones al programa.
Unigine actualiza el controlador de caracteres
Unigine actualiza el controlador de caracteres para simplificar la gestión de personajes en proyectos de C- construidos sobre la base del sistema de componentes y facilitar el ajuste y la depuración. El nuevo componente FirstPersonController está disponible en todas las plantillas de proyecto relevantes de C- con las siguientes actualizaciones:
El eje Y ahora apunta hacia adelante para el jugador.
Añadido soporte simplificado para Gamepad.
Ahora están disponibles indicadores adicionales para el uso opcional de salto, agacharse y correr, así como para el modo siempre ejecutado predeterminado. Así como un conjunto de parámetros para controlar el comportamiento de vuelo del jugador, por ejemplo, ángulo para deslizarse contra las paredes.
Opciones de depuración extendidas con la compatibilidad con Profiler. Personalización de color para la salida de información de depuración para su comodidad.
Cámara de depuración adicional para ver al jugador desde una perspectiva en tercera persona. Esta cámara sigue al jugador con la misma orientación, o se puede girar libremente, así como desplazarse más cerca del jugador y alejarse de él.
La transformación del nodo, al que se asigna el componente, ahora afecta correctamente a la transformación del jugador.
Cambios en el sistema de componentes de C++
El sistema de componentes C++, implementado inicialmente como una característica personalizable por el usuario adjunta al núcleo de Unigine, se ha convertido ahora en una parte del motor. Esto significa que ya no es necesario comprobar opciones adicionales para habilitar el sistema de componentes al crear un nuevo proyecto de C++ y, además, no tendrás que migrar manualmente el sistema de componentes en los proyectos. El siguiente paso es la refactorización para mejorar la usabilidad del sistema de componentes de C++ y hacerlo tan conveniente como el que se usa para C.
Otras mejoras en el motor son las siguientes:
Se ha corregido un problema con la representación de ObjectWaterGlobal.
Se han corregido artefactos de representación que a veces se producía en caso de miles de mallas estáticas renderizadas en la escena.
Se corrigen los problemas relacionados con el procesado por lotes que provocan la desaparición de objetos.
Las sombras se comportarán de nuevo correctamente en caso de configurar máscaras de ventana gráfica para superficies de objetos.
Se ha corregido un problema que provocaba que los desórdenes de malla desaparecieran cuando se orientaba en determinados ángulos en relación con la dirección de visualización de la cámara.
Se ha corregido un problema con objetos transparentes (Alpha Blend, Aditivo, Preajuste multiplicativo) ignorando la opción renderizar transparente cuando se representa dentro de sondas de entorno en caso de que el modo Múltiples sondas de ENV esté desactivado.
Se ha corregido un problema con el método World::getNodeByName() que se product era al cargar un nodo e intentar encontrarlo por su nombre.
Se ha corregido el modo de ventana completa cuando una ventana de la aplicación se representa sin bordes, sin decoraciones.
Se ha corregido un problema que provocaba que PlayerPersecutor perdiera su objetivo después de ser exportado a una referencia de nodo.
Las formas de colisión se mostrarán incluso cuando las superficies de los objetos estén desactivadas.
Se ha corregido un problema con la conversión incorrecta de StringStack->char que provocaba valores devueltos incorrectos de las funciones FileSystem::getModifier() y Material::getPath().
El método loadWorld() en caso de no poder cargar un archivo de mundo ahora mostrará su nombre en lugar del GUID.
Se han corregido problemas relacionados con alfa para calcomanías de malla con la opción Proyección de pantalla activada y el ajuste preestablecido de transparencia Mezcla alfa / Prueba alfa seleccionado.
Se han corregido los artefactos de representación de la sonda Voxel en caso de activar la opción Filtrado cúbico.
Se ha corregido un problema que provocaba que la sonda de entorno se representara como dinámica incluso cuando las reflexiones dinámicas estaban deshabilitadas globalmente.
Las máscaras Grass y Clutter ahora se recargan correctamente después de ser modificadas usando un software de terceros.
Se ha añadido la capacidad de cambiar la transformación del nodo sin afectar a sus elementos secundarios, ya que a veces podría ser útil transformar solo el elemento primario en relación con ellos. La funcionalidad está disponible a través de la API (setTransformWithoutChildren() y setWorldTransformWithoutChildren() métodos).
Añadido soporte para archivos WAV de 24 bits.
Ahora puede crear widgets a través de la API sin especificar una gui de usuario simplificando el código, en este caso se agregará un nuevo widget a la GUI del motor. Se agregaron nuevos constructores para todos los widgets.
WidgetMenu ahora se representa encima de todos los demás widgets eliminando problemas con el orden z.
Se han cambiado los colores del generador de perfiles para que sean más distintivos mejorando el aspecto visual de los gráficos y valores de Profiler mostrados.
Se ha corregido un problema con el primer cálculo de rebote al hornear la iluminación para las sondas Voxel superpuestas.
Se han añadido devoluciones de llamada antes y después de las etapas de representación de sombras para fuentes de luz World, Projectedy Omni.
Ahora puedes obtener la versión del motor, la configuración de compilación y la precisión a través de la API. Consulte los métodos Engine::getVersion(), Engine::isDouble()y Engine::getBuildConfig() respectivamente.
Solucionados problemas con la configuración de los parámetros de control de ondas del objeto Water Mesh.
Reemplazados los captadores y establecedores por las propiedades de la API de C- de la clase Mesh en aras de la coherencia.
Se han corregido mensajes de error en la consola relacionados con la configuración de materiales detallados del terreno horizontal en los materiales de recarga.
Se han corregido los botones del controlador XPad que dejaba de responder en algunos casos. El orden correcto de los botones se estableció para Linux.
El archivo de registro de Unigine ha cambiado su formato de html a txt, reduciendo el tamaño del archivo debido a la eliminación de formato excesivo y haciendo que sea más fácil y rápido de cargar. Para su comodidad, en el SDK se incluyen los siguientes dos esquemas de color personalizados que resaltan la sintaxis de registro para Notepad++:
<SDK>/utils/log_styles/notepad_light.xml
<SDK>/utils/log_styles/notepad_dark.xml
Actualizaciones del visualizador, donde lo primero que podemos ver es que se ha mejorado el aspecto del visualizador para las formas de colisión.
Ahora puede controlar las pruebas de profundidad para cada elemento del visualizador (punto, línea, triángulo, círculo, etc.), así como el período de tiempo durante el cual se mostrará cada elemento. Los argumentos correspondientes se actualizaron para todos los métodos relacionados de la clase Visualizer.
Los vectores dibujados por el visualizador ahora se escalan correctamente.
Se ha cambiado el tamaño de fuente del mensaje predeterminado cero para el visualizador, por lo que el mensaje se mostrará incluso en caso de que no se especifique el tamaño de fuente al llamar al método renderMessage().