unity 2018.1

Unity 2018.1 marque le début d'un nouveau cycle qui introduit une mise à niveau majeure de notre technologie de base, qui donne aux artistes, développeurs et ingénieurs le pouvoir d'exprimer leurs talents et de collaborer plus efficacement pour faire de leurs rêves AAA une réalité.

Commençons par quelques-uns des points forts, puis vous pouvez creuser dans les détails de toutes les fonctionnalités. Les deux premiers faits saillants décrits ci-dessous, le Scriptable Render Pipeline et le C# Job System, représentent les premières versions de deux fonctionnalités majeures, qui continueront à évoluer pour vous aider à débloquer de superbes graphismes et à augmenter les performances d'Unity.

Quoi de neuf dans Unity 2018.1 : tous les détails !

Scriptable Render Pipeline (SRP)

Disponible en Preview avec Unity 2018.1, le nouveau Scriptable Render Pipeline (SRP) place la puissance du matériel moderne et des GPU directement entre les mains des développeurs et des artistes techniques, sans avoir à digérer des millions de lignes de code moteur C+++.

SRP facilite la personnalisation du pipeline de rendu via le code C# et les shaders matériels, vous offrant ainsi un contrôle maximal sans la complexité et les difficultés liées à l'écriture ou à la modification d'un pipeline de rendu C++ complet.

Nous introduisons également deux pipelines de rendu prêts à l'emploi pour répondre à vos besoins. Le pipeline de rendu haute définition (HD RP) est destiné aux développeurs ayant des aspirations AAA, et le pipeline de rendu léger (LW RP) est destiné à ceux qui recherchent une combinaison de beauté et de vitesse, et il optimise également la durée de vie de la batterie pour les appareils mobiles et les plates-formes similaires.

The C# Job System & Entity Component System (ECS)

Combiné avec un nouveau modèle de programmation (Entity Component System), le nouveau système d'exécution vous permet de tirer pleinement parti des processeurs multicœurs sans le mal de tête de programmation. Vous pouvez utiliser cette puissance supplémentaire, par exemple, pour ajouter plus d'effets et de complexité à vos jeux ou pour ajouter de l'IA qui rend vos créations plus riches et plus immersives.

Level design et shaders

Unity 2017.x introduit de nouvelles fonctionnalités qui aident les équipes d'artistes, de designers et de développeurs à construire des expériences ensemble. Nous avons ajouté des outils visuels puissants tels que Timeline, Cinemachine et un nouvel exportateur FBX, qui permet un déclenchement en douceur avec des outils de création de contenu numérique tels que 3ds Max et Maya.

Avec Unity 2018.1, nous poursuivons nos efforts pour aider les artistes, les concepteurs et les développeurs à collaborer plus efficacement en permettant de créer des niveaux, du contenu cinématique et des séquences de jeu sans codage. Par exemple, de nouveaux outils comme ProBuilder / Polybrush et le nouveau Shader Graph visuel offrent des moyens intuitifs de concevoir des niveaux et de créer des shaders sans compétences en programmation.

Packages

Unity 2017.2 a présenté le gestionnaire de paquets, un système modulaire de base sous-jacent et une API qui permet le chargement dynamique et la mise à jour de nouvelles fonctionnalités Unity dans vos projets. Unity 2018.1 s'appuie sur l'interface utilisateur du gestionnaire de packages, le Hub et les modèles de projet, qui vous permettent de démarrer de nouveaux projets plus rapidement et plus efficacement.

Plusieurs fonctionnalités sont disponibles dans des packages. L'idée est de rendre Unity plus modulaire afin qu'il soit plus facile pour nous de publier des fonctionnalités sur une base continue.

Nous utilisons l'étiquette "Preview" pour ces nouvelles fonctionnalités pour indiquer qu'elles ne sont pas recommandées pour la production ni totalement supportées pour le moment. Les aperçus vous offrent l'opportunité de mettre à jour, de modifier et d'expérimenter des fonctionnalités à un stade précoce sous la forme d'un package modulaire séparé que vous pouvez utiliser ultérieurement dans les productions.

Graphique

Scriptable Render Pipeline (SRP) (Preview)

Les modes de rendu intégrés d'Unity offrent un pipeline convaincant pour la création d'un large éventail de jeux. Avec l'évolution et la diversité croissante des plates-formes (performance, architecture, facteurs de forme), nous souhaitions toutefois proposer un pipeline de rendu plus puissant et plus flexible.

SRP vous permettra de personnaliser facilement le pipeline de rendu via le code C# et les shaders de matériaux. Cela vous donne un contrôle maximal sans toute la complexité et les défis de l'écriture ou de la modification d'un pipeline de rendu C++ complet.

Unity fournit plusieurs modes de rendu intégrés, qui sont suffisants pour la majorité des petits jeux. Cependant, SRP vous permet d'aller au-delà de ce qui est prêt à l'emploi pour personnaliser le processus de rendu en fonction de vos besoins spécifiques et pour optimiser les performances du matériel spécifique de votre plate-forme cible.

SRP offre une nouvelle façon de rendre dans Unity. Nous passons d'un modèle de boîte noire à un modèle où la plupart des choses sont en C#, un système plus ouvert où les utilisateurs peuvent écrire leurs propres pipelines ou personnaliser des modèles pour leurs besoins. Nous publions deux pipelines initiaux en 18.1 en plus du moteur de rendu intégré

High Definition Render Pipeline (HD RP) (Preview)

Pour des visuels haut de gamme sur PC et consoles. Le HD RP est un moteur de rendu moderne qui prend en charge un nombre limité de plates-formes (PC DX11 +, PS4, Xbox One, Metal, Vulkan - pas encore de support XR).

Le HD RP cible les PC et les consoles haut de gamme et donne la priorité à des visuels superbes et en haute définition. Le compromis ici est que HD RP ne fonctionnera pas sur des plates-formes moins puissantes, et il y aura un peu d'apprentissage et de ré-outillage requis.

Le rendu est un rendu hybride Tile/Cluster Forward/Deferred avec une parité de caractéristiques entre Forward et Deferred. Ses caractéristiques comprennent l'éclairage volumétrique (en cours), l'éclairage unifié (le même éclairage pour opaque/transparent/volumétrique), de nouvelles formes d'éclairage (les lumières ponctuelles ont maintenant des options de ligne et de rectangle, les projecteurs ont maintenant des options de boîte et de pyramide), et des décalcomanies.

The Lightweight Render Pipeline (LW RP) (Preview)

Le LW RP est un moteur de rendu à passage unique qui utilise moins de draw calls. L'utilisation du RP LW diminuera le nombre de draw calls sur votre projet par rapport à l'utilisation du pipeline de rendu intégré. Bien qu'il supporte toutes les plates-formes, c'est une solution idéale pour les applications mobiles et les applications gourmandes en performances comme XR. Le compromis ici est que, comme pour le RP HD, le passage au nouveau workflow SRP nécessitera une courbe d'apprentissage, et il vaut la peine de garder à l'esprit que certains outils tiers ne sont pas encore compatibles avec lui.

le Lightweight Render Pipeline
Le Lightweight Render Pipeline.

L'aperçu technique Magic Leap est destiné à tous ceux qui cherchent à avoir un aperçu de cette nouvelle plate-forme passionnante. En plus des fonctionnalités 2018.1, l'aperçu technique inclut une nouvelle plate-forme sous la fenêtre de construction ciblant le système d'exploitation Lumin de Magic Leap. L'aperçu couplé au Lumin SDK vous donnera également accès à Magic Leap Zero et Magic Leap Remote, ce qui permet de simuler la plate-forme matérielle.

Le LW RP a son propre processus de rendu et nécessite donc des shaders écrits en pensant à cela. Nous avons développé un nouveau jeu de shaders standard situés dans le groupe Lightweight Pipeline dans la liste déroulante shader + selection du matériau. Ceux-ci incluent un shader standard PBR, un shader standard non-PBR avec un modèle d'éclairage simplifié, un shader standard Terrain et un shader standard non éclairé. Il convient de noter que tous les shaders non-stockés de Unity fonctionnent déjà avec le LW RP. Cela inclut les particules héritées, l'interface utilisateur, skybox et le sprite shader.

jeu de shaders standard
Jeu de shaders standard.

Templates : relancez votre processus de création

Les templates fournissent des paramètres présélectionnés basés sur les meilleures pratiques communes aux projets, selon qu'il s'agit de plates-formes haut de gamme 2D, 3D, telles que des PC / consoles ou des plates-formes allégées, telles que les mobiles. De cette façon, vous n'avez pas à vous soucier de configurer les bases, et vous avez une meilleure expérience prête à l'emploi.

Les templates sont livrés avec des paramètres de projet Unity optimisés, ainsi que des assets et des ressources pour vous aider à démarrer. Vous n'avez pas à vous soucier de modifier la plupart des paramètres par défaut dans Unity lorsque vous démarrez un nouveau projet car ils sont déjà prédéfinis pour un type de jeu cible ou un niveau de fidélité visuelle.

Cela vous permet non seulement de démarrer plus rapidement, mais également de découvrir les paramètres que vous n'auriez peut-être pas découverts, ainsi que de nouvelles fonctionnalités, telles que le Scriptable Render Pipeline, le Shader Graph et la Post-Processing Stack.

Voici une liste des différents modèles que vous pouvez choisir.

TemplateDescription
2DPour les projets 2D qui utilisent le pipeline de rendu intégré de Unity. Configure les paramètres du projet pour la 2D, y compris l'importation d'image, l'empaqueteur de sprite, la vue de scène, l'éclairage et la caméra orthographique.
3DPour les projets 3D qui utilisent le pipeline de rendu intégré de Unity. Configure les paramètres du projet pour la 3D, inclut des mises à jour telles que la définition de l'espace colorimétrique par défaut sur Linear et le paramètre Lightmapper par défaut sur Progressif.
3D with Extras (Preview)Similaire au modèle 3D mais avec les avantages supplémentaires du post-traitement, des presets et du contenu d'exemple.
High End (Preview)Pour les graphiques haut de gamme sur les plates-formes prenant en charge Shader Model 5.0 (DX11 et versions ultérieures). Ce modèle utilise le HD RP. Ce modèle utilise HD RP, un pipeline de rendu moderne, qui inclut des types de matériaux avancés et une architecture hybride Tile / Cluster différée / Forward-lighting configurable.
Lightweight (Preview)Pour se concentrer sur la performance et les projets qui utilisent principalement une solution d'éclairage baked. Ce template utilise le LW RP, un moteur de rendu à passe unique avec sélection de lumière par objet. L'utilisation de LW RP réduira le nombre d'appels draw sur votre projet, ce qui en fait une solution idéale pour le matériel bas de gamme. Toutes les lumières sont ombrées en un seul passage plutôt que des passes supplémentaires par pixel de lumière.
Lightweight VR (Preview)Se concentre sur la performance lors du développement de projets VR utilisant principalement une solution d'éclairage baked. Ce modèle utilise le LW RP et nécessite un périphérique VR pour s'exécuter.
Template High End
Template High End.

Shader Graph : création de shader facile pour tout le monde

Les auteurs de shaders dans Unity ont traditionnellement été le domaine des personnes ayant une certaine capacité de programmation. Dans la version 2018.1 d'unity, nous sommes en train de changer cela !

Shader Graph vous permet de créer visuellement vos shaders à l'aide d'un outil de conception - sans écrire une seule ligne de code. Au lieu de cela, vous créez et connectez des nœuds dans un réseau de graphes avec une facilité d'utilisation du glisser-déposer. Vous pouvez voir les résultats immédiatement, puis les parcourir, ce qui permet aux nouveaux utilisateurs de s'impliquer dans la création de shaders.

Le système Shader Graph :

  • Est conçu pour fonctionner avec le pipeline de rendu LW (pipeline de rendu HD à venir bientôt)
  • Peut être étendu pour fonctionner avec n'importe quel pipeline de rendu personnalisé
  • Possède une architecture ouverte qui permet d'écrire des nœuds personnalisés

Progressive Lightmapper

Le Progressive Lightmapper offre d'excellents résultats pour les lumières baked et améliore le flux de travail des artistes de l'éclairage, leur permettant d'itérer rapidement et de manière prévisible en fournissant des mises à jour progressives dans l'éditeur Unity. Initialement publié en tant que fonctionnalité "d'aperçu" dans la version 5.6, il a été amélioré avec plus de fonctionnalités dans chaque version suivante. En 2018.1, il sort du mode aperçu et inclut des optimisations de mémoire pour le baking de grandes scènes.

À partir de 2018.1, le Progressive Lightmapper aide également les utilisateurs avancés via l'API Custom Bakes. Cela permet l'accès aux données dans la solution de baking pour le développement de nouveaux outils d'éclairage, tels que le système Occlusion Probes utilisé pour créer l'expérience interactive à la première personne dans Book of the Dead.

Post-Processing Stack v2

Le Post-Processing Stack vous permet d'appliquer des filtres réalistes aux scènes à l'aide de contrôles de qualité professionnelle. L'interface conviviale permet de créer et d'affiner des visuels de haute qualité pour un effet spectaculaire et réaliste.

À la sortie de la version bêta 2018.1, nous avons ajouté les fonctionnalités les plus demandées et corrigé autant de bogues que possible. Nous améliorons également notre support XR en ajoutant des chemins spécifiques aux mobiles, un mélange de volumes et un framework complet pour les effets utilisateur personnalisés.

Cette version du Post-Processing Stack sera livrée en tant que premier de nombreux paquets à venir, ce qui donnera aux utilisateurs la flexibilité du plug-in d'un pack Asset Store, mais avec la mise à jour d'une fonctionnalité Unity.

En 2018.1, le Post-Processing Stack a été améliorée pour offrir des effets de meilleure qualité, un mélange automatique des volumes avec une puissante pile de remplacement et un cadre flexible pour écrire et distribuer vos propres effets personnalisés. Il est compatible avec les pipelines LW RP, HD RP et de rendu intégrés.

Dynamic Resolution pour la PS4

La résolution dynamique a été introduite pour la première fois dans Unity pour Xbox One en 2017.3. Maintenant, nous apportons la même fonctionnalité à la PS4. La fonctionnalité aide les utilisateurs à gérer dynamiquement leur budget GPU. Par exemple, il peut être souhaitable qu'un jeu atteigne des résolutions élevées (telles que 4K) dans certains scénarios. À d'autres moments, cependant, il est préférable que la résolution baisse afin de permettre aux performances du GPU d'augmenter.

Les utilisateurs peuvent sélectionner les textures de rendu et les caméras qui participeront à la résolution dynamique à partir de l'éditeur Unity, puis redimensionner la résolution de ces éléments au moment de l'exécution à partir d'un seul appel de script. Ceci, combiné aux informations fournies par FrameTimingManager, permet aux utilisateurs de produire des scripts qui peuvent automatiquement équilibrer leur charge GPU en changeant la résolution de leurs cibles de rendu choisies. En interne, le système n'utilise plus de mémoire pour les cibles de rendu que celles qui seraient allouées si la résolution dynamique n'était pas utilisée, et aucun surcoût significatif lié aux performances du processeur n'est généré lors du changement de la résolution.

Remarque : Les utilisateurs doivent s'assurer de vérifier que leurs titres peuvent être liés au GPU avant d'adopter la résolution dynamique car cela ne sera d'aucune utilité dans les scénarios liés au processeur.

Instanciation GPU : Prise en charge de GI

L'instanciation GPU prend désormais en charge l'extraction des données d'illumination globale pour chaque instance. Cela peut être réalisé en autorisant les boucles de rendu Unity à traiter automatiquement les objets LightProbe ou Lightmap, ou en appelant manuellement les nouvelles API pour extraire les données LightProbe baked avec la scène dans un objet MaterialPropertyBlock utilisé ultérieurement pour le rendu instancié.

Lightmap UV overlap visualization

Cette fonction traite d'un problème lié aux artefacts non désirés. Cela se produit lorsqu'une carte optique est divisée en un certain nombre de graphiques et échantillonnée, et que les valeurs textuelles d'un graphique saignent dans un autre (si elles sont trop proches), ce qui conduit à des artefacts indésirables. La nouvelle fonction UV Overlap Visualization vous permet de voir immédiatement quels graphiques / texels sont affectés par ce problème. Il identifie automatiquement les chevauchements et vous permet de prendre des décisions plus éclairées lors de la résolution de ces problèmes (par exemple, en augmentant les marges des graphiques).

Lightmap UV overlap visualization
Lightmap UV overlap visualization.

Tessellation pour Metal

Tessellation pour Metal est un moyen d'augmenter la fidélité visuelle tout en utilisant des maillages de qualité inférieure. Il suit la convention de tessellation matérielle de DX11 d'employer des étapes de shader de coque / domaine. Les shaders HLSL existants utilisant cette fonctionnalité sont compilés de manière croisée et transformés de manière transparente en shaders de calcul de métal, afin d'en faire une transition transparente entre les plates-formes. (Les API Target-Graphic ont une approche native sous-jacente différente pour l'implémentation de la tessellation.)

Autres améliorations graphiques et nouvelles fonctionnalités

Sky Occlusion est expédiée en tant qu'élément expérimental en 2018.1. Il améliore la fidélité graphique et le réalisme en incluant la contribution de l'éclairage de la skybox dans le cadre des calculs d'occlusion ambiante.

Nous avons également ajouté une nouvelle interface C# expérimentale pour transmettre des informations de lumière aux backends GI-Baking.

2D

Physique : 2D

Nous fournissons maintenant la possibilité d'utiliser tous les cœurs du processeur sur un appareil pour effectuer la simulation d'un rigibody. Cela inclut la possibilité d'exécuter la découverte de nouveaux contacts, en effectuant des solveurs d'îlot discrets et continus et une synchronisation en phase large, tout en utilisant le Job System natif. Pour commencer, allez simplement dans les paramètres 2D Physics et sous "Job Options (Experimental)", cochez "Use Multithreading".

2D SpriteShape Preview (package)

SpriteShape est un outil de mise en page et de construction de sprites qui permet de placer des sprites le long du chemin d'une forme basée sur des plages d'angles données. De plus, la forme peut être remplie avec une texture tiling.

Le principal avantage de la fonctionnalité SpriteShape est la combinaison puissante d'un chemin spline Bézier avec la possibilité de mosaïquer les sprites de façon adaptative ou continue. En mosaïque en continu, les sprites affectés à des angles donnés sont automatiquement activés.

2D SpriteShape
2D SpriteShape.

2D Animation System Preview (package)

Nous travaillons sur un nouveau système d'animation 2D, qui sera publié sur plusieurs phases et est maintenant disponible en tant que package d'aperçu. Dans sa première version, nous nous sommes concentrés sur le développement d'outils pour truquer un sprite pour l'animation squelettique (bien que similaire, ce n'est pas une intégration d'Anima2D dans Unity).

Système d'animation 2D
Système d'animation 2D.

Les outils comprennent: l'édition de liens, la maillage manuel et la peinture de masse. Un composant d'exécution lie tout ensemble pour générer la déformation des sprites. Notre but est de permettre aux utilisateurs de créer des personnages animés simples composés d'un seul sprite.

Un projet en cours

Nous continuerons à créer de nouvelles fonctionnalités et workflows en plus de cela. Cela peut inclure des outils pour rendre la création de caractères multi-sprites plus efficace et prendre en charge les workflows pour les productions plus importantes. Cela vous permettra de créer des personnages multi-sprites complexes et potentiellement partager des images et des clips d'animation sur plusieurs caractères.

Améliorations du système de particules

GPU Mesh Instancing

Le système de particules prend désormais en charge l'instanciation GPU, ce qui permet de rendre beaucoup plus de meshes de particules avec un coût de performance CPU beaucoup plus faible. Le système de particules utilise l'instanciation procédurale.

Le support d'instanciation a été ajouté à Particle Standard Shaders et sera activé par défaut sur tous les nouveaux contenus. Dans Unity 2018.1, vous pouvez activer manuellement le contenu des anciennes versions Unity en cliquant simplement sur la case à cocher du module Renderer. Il est également possible d'ajouter un support d'instanciation de particules à vos propres shaders.

Ci-dessous, vous pouvez voir 10 000 meshes de sphère en utilisant l'ancienne technique non-instanciée, le rendu à 8,6 fps suivi de 100 000 meshes de sphère en utilisant la nouvelle technique instanciée, le rendu à 85fps.

Instanciation GPU
Instanciation GPU.

Vitesse des particules orbitales

Unity 2018.1 ajoute de nouvelles options au module Velocity over Lifetime, vous permettant de faire voyager les particules par rapport à un point central défini. Par défaut, le centre est aligné sur la transformation, mais peut être remplacé dans le module. Les particules peuvent être faites pour contourner le point central, en utilisant les paramètres orbitaux, et s'éloigner / vers le point central, en utilisant les paramètres radiaux.

Textured Shape Module

Tous les types de formes de ce module prennent désormais en charge une texture. La texture peut être utilisée pour :

  • Contrôle des couleurs de particules
  • Contrôle des particules alphas
  • Rejeter les particules en fonction d'un seuil et d'un canal de texture de votre choix

Sub-emitters

Il y a deux nouvelles façons de générer des sub-emitters dans Unity 2018.1. Le premier est via le module de déclenchement, qui fonctionne de la même manière que les sub-emitters issus du module de collision. Choisissez simplement Trigger comme type de sub-emitter dans le module Sub-Emitter, puis, lorsque les conditions sont remplies dans le module de déclenchement (c'est-à-dire que les particules sont entrées dans le volume de collision), les sub-emitters correspondants seront déclenchés.

La deuxième nouvelle façon de déclencher les sub-emitters est via un script. Nous avons ajouté une nouvelle API de script appelée TriggerSubEmitter, qui peut être utilisée pour déclencher un sub-emitter pour une seule particule, une liste de particules ou toutes les particules. Dans le module Sub-Emitter, vous pouvez choisir Manuel comme type de spawn, ce qui indique au système de particules que cet émetteur ne sera déclenché que via un appel dans le script. Il est également possible d'utiliser les types existants (collision ou mort) et d'ajouter des déclencheurs supplémentaires pour ces sub-emitters via un script.

Retraite du système de particules héritées

Le système de particules hérité continue d'être un fardeau de développement pour chaque version d'Unity où il est pris en charge. Les nouvelles fonctions du moteur, telles que la RV et le rendu multithread, nécessitent du temps pour assurer la compatibilité au fil de l'évolution d'Unity, et il y aura bien sûr toujours de nouvelles fonctionnalités nécessitant la maintenance du code Legacy Particle System.

Cela nous a incités à prendre la prochaine étape logique et à retirer le système de particules héritées. Par conséquent, nous avons décidé de supprimer ses liaisons de script dans Unity 2018.1.

Il est complètement obsolète depuis Unity 5.4, et nos analyses montrent une utilisation presque inexistante. Notre objectif est de supprimer complètement le système de particules hérité dans Unity 2018.3.

Animation

Weighted Tangents (Courbes d'animation)

Weight Tangents permet aux animateurs de créer des courbes d'animation avec moins de touches et des courbes plus lisses en leur permettant de contrôler le poids des tangentes. Une fois qu'une tangente est définie sur Weighted, vous pouvez l'étirer pour affecter l'interpolation de courbe sans ajouter de clés supplémentaires, pour un résultat plus lisse et plus précis.

L'équipe Animation a ajouté la prise en charge des tangentes pondérées à l'édition de toutes les courbes dans Unity. Cela signifie que vous pouvez utiliser cette nouvelle fonctionnalité avec le système de particules.

Weighted Tangents
Weighted Tangents.

ProBuilder (package)

Comme annoncé en février, ProBuilder et ses créateurs ont rejoint Unity. Avec les outils ProBuilder, PolyGrid et Polybrush, nous offrons maintenant un design de niveau avancé intégré dans l'éditeur Unity sans frais supplémentaires. Le package, qui comprend ProBuilder, ProGrid et Polybrush, est inclus avec tous les plans d'abonnement Unity (Personal, Plus, Pro et Enterprise).

ProBuilder est un hybride unique d'outils de modélisation 3D et de conception de niveau optimisés pour la construction d'une géométrie simple, mais capable d'édition détaillée et de d'unwrapping UV au besoin.

Vous pouvez utiliser ProBuilder pour rapidement prototyper des structures, des niveaux, des entités de terrain complexes, des véhicules et des armes, ou pour créer une géométrie de collision personnalisée, des zones de déclenchement ou des nav meshes. ProBuilder inclut également des outils pour l'exportation de vos modèles, la modification de meshes importés et une API prête à l'exécution pour accéder à l'ensemble d'outils ProBuilder à partir de votre propre code.

Également disponible, ProGrid vous donne à la fois une grille visuelle et fonctionnelle, qui s'emboîte sur les 3 axes. Travailler sur une grille facilite la vitesse et la qualité, rendant la construction de niveau incroyablement rapide, facile et précise. Il est particulièrement utile pour les environnements modulaires ou à base de mosaïques, mais lorsqu'il est combiné avec ProBuilder, il permet une construction de géométrie plus rapide et plus précise pour tous les types de travaux.

Polybrush vous permet de mélanger des textures et des couleurs, de sculpter des meshes et de disperser des objets directement dans l'éditeur Unity. Combiné avec ProBuilder, vous obtenez une solution complète de conception de niveau dans l'éditeur.

Voici quelques exemples de la façon dont ProBuilder vous permet de prototyper rapidement des structures, des entités de terrain complexes, des véhicules et des armes, ou de créer une géométrie de collision, des zones de déclenchement ou des nav meshes.

Extruder et encart
Extruder et encart.
Formes procédurales
Formes procédurales.
Contrôles UV dans la scène
Contrôles UV dans la scène.
Formes éditables indéfiniment
Formes éditables indéfiniment.

Polybrush

Polybrush vous permet de mélanger les textures et les couleurs, et de sculpter des meshes directement dans l'éditeur Unity. Polybrush est en version bêta, et vient d'avoir une nouvelle fonctionnalité dans sa dernière itération; il vous permet maintenant de disperser des objets en utilisant des pinceaux hautement personnalisables.

Mélanger les textures
Mélanger les textures.
Peindre les couleurs des vertex
Peindre les couleurs des vertex.
Scatter detail meshes
Scatter detail meshes.
Sculpter la géométrie
Sculpter la géométrie.

En tant que package, ProBuilder, Polybrush et ProGrid vous offrent une solution complète de conception de niveau in-editor qui vous permet de construire une géométrie précise plus rapidement. ProBuilder est disponible via le nouveau gestionnaire de paquets Unity. Nous prévoyons d'intégrer les deux autres parties du package directement dans Unity à un moment donné en 2018, mais pour l'instant, vous pouvez télécharger Polybrush (Beta) et ProGrids gratuitement sur l'Asset Store.

Comment commencer

Dans l'Editeur Unity, allez dans le menu Window > Package Manager, cliquez sur All, sélectionnez ProBuilder et cliquez sur Installer.

Installer ProBuilder
Installer ProBuilder.

Core engine

C# Job System, Entity Component System et Burst Compiler

Avec notre nouveau système multithread haute performance, nous reconstruisons la base même de Unity. Le nouveau système permettra à vos jeux de tirer pleinement parti des processeurs multicœurs actuellement disponibles - sans le mal de tête de la programmation. Ceci est possible grâce au nouveau système C# Job System, qui vous offre un bac à sable sûr et facile dans lequel écrire du code parallèle. Nous introduisons également un nouveau modèle pour écrire du code performant par défaut avec Entity Component System, et le compilateur Burst pour produire du code natif hautement optimisé.

Avec les performances par défaut, non seulement vous serez en mesure d'exécuter vos jeux sur une plus grande variété de matériel, mais vous pourrez également créer des mondes de jeu plus riches avec plus d'unités et des simulations plus complexes.

C# Job System

Ecrivez du code très rapide et parallélisé en C# pour profiter pleinement des processeurs multicœurs

La tendance de l'architecture matérielle moderne se dirige vers des cœurs multiples pour augmenter la puissance de traitement par rapport à la solution plus traditionnelle d'augmentation de la vitesse de base. L'introduction du système C# Job System vous aidera à tirer pleinement parti de cette augmentation de la puissance de traitement.

Il vous permet d'écrire du code rapide dans les scripts C#. Il est également sûr car il fournit une protection contre les pièges de multi-threading, tels que les conditions de course et les deadlocks.

Meilleure performance à tous les niveaux

Le système C# Job System permet de meilleures performances globales, en particulier lorsque de nouvelles fonctionnalités Unity telles que Entity Component System (aperçu 18.1) et notre nouveau compilateur Burst (aperçu 18.1) deviennent disponibles. L'objectif de tous ces systèmes est d'augmenter ce qui est fondamentalement possible dans Unity en termes de performances, tout en prenant en charge les workflows existants et en permettant une transition technique en douceur.

Ce que vous devrez faire

Pour atteindre ces gains de performance, vous devez apporter quelques modifications importantes à la façon dont vous écrivez du code dans Unity. Tout d'abord, fournir à la CPU des tableaux de données propres et linéaires à lire, plutôt que de tirer de plusieurs emplacements en mémoire pendant le calcul, permet des performances beaucoup plus rapides. En prenant un rôle actif dans la gestion de la mémoire, nous nous assurons que la mémoire est gérée de manière à optimiser les performances. Un nouvel ensemble d'outils ajoutés à l'API d'Unity vous permet de gérer la disposition de vos données et la façon dont la mémoire est gérée de manière explicite et détaillée.

Entity Component System (Preview)

Le système Entity Component System est un moyen d'écrire du code qui se concentre sur les problèmes réels que vous résolvez. Les données et le comportement qui composent votre jeu.

En plus d'être une meilleure façon d'aborder la programmation de jeux pour des raisons de conception, l'utilisation d'Entity Component System vous place dans une position idéale pour tirer parti du Job System et du Burst Compiler d'Unity, vous permettant de profiter pleinement des processeurs multicœurs actuels.

Avec Entity Component System, nous passons d'une approche orientée objet à une conception orientée données, ce qui signifie qu'il sera plus facile de réutiliser le code et plus facile à comprendre et à travailler pour d'autres personnes.

Le composant Entity Component System est expédié en tant que paquet d'aperçu en 2018.1, et nous continuerons à développer et à publier de nouvelles versions dans le cycle 2018.x.

Burst Compiler (Preview)

Burst est notre compilateur basé sur LLVM, qui prend .NET IL et produit du code machine en utilisant une nouvelle technologie de compilateur backend compatible avec les maths. Burst prend des jobs C# et produit du code hautement optimisé, qui tire parti des capacités particulières de la plate-forme que vous compilez. Vous bénéficiez ainsi de nombreux avantages du code assembleur configuré manuellement sur plusieurs plates-formes, sans avoir à travailler dur.

Burst Compiler est fourni en tant que paquet de prévisualisation en 2018.1, et nous continuerons à développer et à publier de nouvelles versions dans le cycle 2018.x.

Importation d'assets

Unity et Autodesk ont annoncé l'automne dernier à Unite Austin 2017 un partenariat collaboratif visant à créer davantage de workflows connectés entre les outils 3D d'Autodesk et le moteur Unity.

Depuis lors, nous avons amélioré l'interopérabilité au profit de tout développeur de jeu ou artiste travaillant de part et d'autre d'un flux de travail sur 3dsMax / Maya / Unity.

Notre objectif est de fournir une interface et un flux de travail conviviaux qui vous permettent de fusionner en toute sécurité vos modifications dans ces ressources pour continuer votre travail.

Lors d'aller-retour, les essets sont souvent édités et renommés, ce qui peut changer leur nature même. Désormais, Unity s'assurera que les modifications apportées au FBX par une application externe peuvent être remappées sur l'original sans perte d'informations. Parmi les autres améliorations apportées au flux de travail et à l'intégration, mentionnons l'arrondi des lumières, l'arrondi des animations (y compris les propriétés personnalisées) et les Blendshapes (expérimentales).

Cache Server v6.0

La version 6.0 du Cache Server distant, qui est l'aboutissement d'un effort concentré de six mois visant à améliorer la qualité et la performance, est maintenant disponible. Cache Server rend la création avec Unity plus rapide en optimisant le processus d'importation de ressources, soit sur votre machine locale, soit sur un serveur de réseau local dédié.

Éditeur général

Package Manager UI

Dans la version 2017.2, nous avons introduit le premier pilier du nouveau gestionnaire de packages, une approche plus souple et modulaire pour la gestion des fonctionnalités et des assets développés par Unity qui composent vos projets. Initialement exposé uniquement en tant qu'API dans les versions précédentes, dans Unity 2018.1, nous introduisons une nouvelle interface utilisateur du gestionnaire de packages. La nouvelle interface utilisateur du gestionnaire de packages vous aidera à démarrer les projets plus efficacement, à les rendre plus souples et plus faciles à installer, à mettre à jour et à activer les nouvelles fonctionnalités Unity.

le Package Manager UI améliore les aspects suivants :

  • Accès rapide aux nouvelles fonctionnalités : Parcourez la liste des fonctionnalités disponibles pour votre version de l'éditeur et téléchargez-les depuis le cloud. Les packages sont inclus instantanément et dynamiquement dans votre projet.
  • Obtenez les dernières corrections, instantanément : Vérifiez, téléchargez et mettez à jour rapidement les packages que vous avez activés dans votre projet.
  • Accès aux fonctionnalités de prévisualisation : Beaucoup de nouvelles fonctionnalités d'Unity seront disponibles en téléchargement en tant que "Previews" vous donnant accès aux dernières technologies.
  • Partagez facilement des projets légers : Les packages Unity sont conservés dans un cache global sur votre machine et référencés par votre projet. Vous n'avez pas besoin de transférer des paquets lorsque vous partagez votre projet; l'éditeur récupérera et téléchargera les paquets nécessaires à partir du référentiel cloud.

Vous pouvez trouver le gestionnaire de packages dans la fenêtre et l'utiliser pour installer des fonctionnalités telles que le Shader Graph, Post Processing, ProBuilder et les routines de rendu Lightweight et High Definition.

Assemblages de test définis par Assembly Definition

Unity définit automatiquement la manière dont les scripts sont compilés dans les assemblages gérés. Les temps de compilation dans l'éditeur Unity pour les modifications de script itératives augmentent lorsque vous ajoutez d'autres scripts au projet, ce qui augmente le temps de compilation.

Dans la version 2017.3, nous avons introduit la possibilité de définir vos propres assemblys managés basés sur des scripts dans un dossier. En divisant les scripts de votre projet en plusieurs assemblages, les temps de compilation des scripts dans l'éditeur peuvent être considérablement réduits pour les grands projets. Vous pouvez considérer chaque assembly géré comme une bibliothèque unique dans le projet Unity.

Assembly Definition
Assembly Definition.

En 2018.1, les assemblys Assembly Definition File (asmdef) sont maintenant compilés au démarrage avant tout autre script (Assembly-CSharp.dll et amis), et la compilation ne s'arrête pas à la première erreur de compilation.

Tous les assemblys asmdef qui compilent avec succès avec toutes leurs références sont chargés avant de compiler les scripts restants (Assembly-CSharp.dll et amis). Cela garantit que les packages Unity sont toujours créés et chargés indépendamment des autres erreurs de compilation dans le projet.

Il permet également aux packages d'avoir des assemblys de test Playmode sans modifier les paramètres du projet utilisateur.

Dans le passé, lors de l'ajout de tests en mode lecture, les utilisateurs devaient l'activer dans les paramètres. Cela entraînerait l'enregistrement des assemblages dans la construction, et signifiait également qu'il n'y avait pas de séparation, que les développeurs C# utilisent normalement dans les projets destinés aux tests.

Dans 2018.1, vous pouvez marquer l'assemblage pour référencer les assemblages de test, et aucun autre assemblage ne les référencera sauf si les anciens paramètres sont utilisés (rétrocompatibilité). Toutefois, les assemblages prédéfinis ne référenceront pas automatiquement ces assemblages.

Nous avons également ajouté une nouvelle BuildOption par défaut. La construction normale ne construira pas d'assemblys avec ces paramètres. Seul TestRunner inclura et construira des assemblages de test. Tout cela permet alors d'avoir des tests dans des projets sans que le paramétrage ne soit activé.

Préréglages (Presets)

Les préréglages sont des assets contenant le type d'asset auquel ils s'appliquent et une liste de modifications de propriété (paires nom / valeur). Les préréglages peuvent être facilement appliqués ou créés à partir de n'importe quel objet sérialisable via l'interface utilisateur de l'inspecteur d'objets ou à partir d'une méthode API publique.

Les objets ne conservent pas de lien vers un préréglage appliqué. Ainsi, modifier un préréglage après l'avoir appliqué n'a aucun effet secondaire. Chaque type d'objet peut avoir un seul préréglage enregistré par défaut via le nouveau gestionnaire de préréglages. Chaque fois qu'un objet est créé dans l'éditeur Unity, le préréglage par défaut pour cet objet est automatiquement appliqué. La modification du préréglage par défaut n'affecte pas les objets existants.

Les préréglages n'existent que dans l'éditeur. Il n'y a pas de modifications de l'API d'exécution. Les préréglages exposent les points d'ancrage de l'API, qui permettent de les définir immédiatement avant l'importation, et une nouvelle API de création d'objet, qui permet au code de l'éditeur de créer des objets avec des préréglages par défaut.

La dépréciation du support intégré pour Substance

Comme annoncé en décembre 2017, nous désapprouvons la prise en charge intégrée de l'importation des matériaux Substance dans l'éditeur Unity 2018.1.

Cinemachine & Timeline

Améliorations de Timeline et des modes d'édition

Dans la version 2018.1, nous ajoutons un certain nombre d'améliorations à Timeline. Avec la navigation au clavier de Timeline, vous pouvez désormais utiliser les onglets et les touches fléchées pour accélérer votre flux de travail en basculant facilement entre l'effondrement et l'extension des pistes.

Nous avons également ajouté la nouvelle barre de zoom de la Timeline, qui permet de zoomer en avant et en arrière pour obtenir une vue d'ensemble des pistes de votre Timeline.

Navigation dans Timeline
Navigation dans Timeline.

Lors de la manipulation de clips, les comportements de capture basés sur le zoom maintiennent les clips en même temps que les clips voisins. Pour créer un effet de fusion, vous pouvez relâcher (relâcher) le comportement de l'aimant de bord à l'aide d'une touche d'embrayage (Ctrl). Cela permet aux clips déplacés / coupés de se fondre dans les clips voisins sans être gênés par l'aimant de bord.

Il y a trois modes :

  • Le mode Mix permet à deux clips de se mélanger afin de créer une transition. Ce mode est le mode de fonctionnement de Timeline jusqu'à présent, et c'est le mode d'édition par défaut.
  • Le mode Rippling permet d'insérer des clips sur une piste contenant déjà des clips en faisant de la place pour le nouveau matériau.
  • Le mode Replace permet aux clips d'écraser des clips déjà présents sur une piste afin de mettre à jour le matériel tout en préservant le timing.

Les modes dans Timeline
Les modes dans Timeline.

Améliorations de Cinemachine

Cinemachine est livré avec des améliorations dans la 18.1, y compris Cinemachine Storyboard, qui vous permet de configurer le timing et l'animation de base des storyboards dans Timeline en fonction d'un clip Cinemachine. Ces fonctions vous aideront à amener les personnes à utiliser Unity du début à la fin du processus de narration en les gardant là tout au long du processus de création.

Mettez en pause votre histoire et votre timing, vos photos fonctionnent comme vous le souhaitez. Ajoutez de l'audio pour créer une sensation réaliste et tirez votre histoire. Une fois que vous êtes prêt, vous pouvez utiliser un seul bouton pour basculer entre le storyboard et une caméra Cinemachine, tout en gardant votre montage intact.

Scripting

Déprécation de MonoDevelop

Il est important pour nous que nous vous fournissions une excellente expérience C# IDE pour accompagner les nouvelles fonctionnalités C#. Pour prendre en charge les dernières fonctionnalités C# et le débogage C# sur la nouvelle version de script .NET 4.6 sur macOS, nous remplaçons MonoDevelop-Unity 5.9.6 par Visual Studio pour Mac à partir de Unity 2018.1 (comme annoncé en janvier). Cela rendra la prise en charge de la plupart des nouvelles fonctions C# intéressantes disponibles dans C# 6.0 et au-delà au fur et à mesure que nous passerons à la mise à niveau (actuellement expérimentale) du script .NET 4.6 dans Unity.

Sous Windows, nous continuerons à expédier Visual Studio 2017 Community avec Unity. La communauté Visual Studio prend déjà en charge les dernières fonctionnalités C# et le débogage C# sur la nouvelle version de script .NET 4.6. MonoDevelop-Unity 5.9.6 sera supprimé du programme d'installation de Windows Unity 2018.1, car il ne prend pas en charge ces fonctionnalités.

Ajout du support pour le backend de script IL2CPP pour Windows standalone et macOS standalone

En 2018.1, nous avons ajouté la prise en charge du backend de script IL2CPP pour Windows standalone et macOS standalone. Cela apporte des améliorations de la vitesse du processeur de l'IL2CPP au lecteur standalone Mac / OSX et au lecteur Windows standalone, tout en permettant à la technologie DRM de tiers d'aider à la sécurité du code de l'application.

Scripting Upgrade .NET 4.x

Le nouvel environnement d'exécution de script n'est plus expérimental dans Unity 2018.1. Dans Unity 2017.1, nous avons livré le premier aperçu expérimental de l'environnement d'exécution de script stable. Tout au long du cycle de publication 2017.2 et 2017.3, de nombreux utilisateurs d'Unity ont travaillé avec cette exécution expérimentale de scripts et fourni des commentaires précieux. (Merci, tout le monde!) Nous avons également travaillé en étroite collaboration avec d'excellents développeurs de Microsoft, à la fois sur les équipes Mono et Visual Studio. Comme nous avons résolu les problèmes et corrigé les bogues, le runtime des scripts modernes est devenu de plus en plus stable et est maintenant prêt à être largement utilisé.

Les compilateurs et les runtimes mis à niveau offrent une stabilité améliorée, un débogage plus riche et une meilleure parité avec une architecture .NET moderne sur toutes les plates-formes. Par exemple, C# 6 et les nouvelles API .NET rendent Unity compatible avec les bibliothèques et les outils .NET modernes.

Support standard 2.0 .NET et nouveau profil "Unity"

Deux profils sont disponibles avec le nouveau runtime de script: .NET 4.x et .NET Standard 2.0. Ces deux profils prennent entièrement en charge .NET Standard 2.0 pour permettre l'utilisation des dernières bibliothèques multi-plateformes. Le profil .NET Standard 2.0 est optimisé pour la petite taille de construction, la prise en charge multiplate-forme et la compilation à l'avance. Le profil .NET 4.x expose une plus grande surface API et existe principalement pour la compatibilité descendante.

Resonance Audio : Spatial audio pour mobile et de bureau

Le SDK audio spatial de Google, Resonance Audio, est entièrement intégré dans Unity 2018.1, permettant aux développeurs de créer des expériences VR et AR plus réalistes sur mobile et sur ordinateur de bureau. Avec Resonance Audio dans l'éditeur Unity, vous pouvez désormais rendre des centaines de sources sonores 3D simultanées dans la plus haute fidélité pour vos projets vidéo XR, 3D et 360 sur Android, iOS, Windows, MacOS et Linux.

Spatial audio pour mobile et de bureau
Spatial audio pour mobile et de bureau.

XR

API AR multiplateformes natives (preview)

Une nouvelle API XR multiplateforme native a été ajoutée dans cette version, jetant ainsi les bases d'un framework plus extensible qui cible initialement l'abstraction sur des SDKs AR portables. L'API est conçue pour permettre aux développeurs de créer des applications AR portables une fois et de les déployer sur plusieurs types d'appareils. Au fur et à mesure que la fonctionnalité est ajoutée à cette API, nous finirons par déprécier le plugin ARKit sur Bitbucket ainsi que le projet expérimental ARInterace sur GitHub. La prise en charge des SDK AR de poche sera livrée sous forme de packs d'aperçu dans l'éditeur.

Magic Leap

Pour tous les créateurs souhaitant explorer Magic Leap, nous sommes ravis de vous proposer un aperçu technique Unity for Magic Leap et le kit de développement Lumin sur le portail Magic Leap Creator.

À venir en 2018, Magic Leap One™, Creator Edition est destiné aux concepteurs et aux développeurs qui veulent créer des expériences sur la plate-forme Magic Leap
À venir en 2018, Magic Leap One™, Creator Edition est destiné aux concepteurs et aux développeurs qui veulent créer des expériences sur la plate-forme Magic Leap.

Magic Leap Technical Preview est destiné à tous ceux qui cherchent à avoir un aperçu de cette nouvelle plate-forme passionnante. En plus des fonctionnalités 2018.1, l'aperçu technique inclut une nouvelle plate-forme sous la fenêtre de construction ciblant le système d'exploitation Lumin de Magic Leap. L'aperçu couplé au Lumin SDK vous donnera également accès à Magic Leap Zero et Magic Leap Remote, ce qui permet de simuler la plate-forme matérielle.

Casque VR Daydream standalone

Unity 2018.1 vous permet de prendre en charge le casque VR autonome Daydream de Google doté de la technologie Worldsense, ce qui permet une prise en charge du suivi à 6 degrés de liberté (6DoF) pour les applications Daydream. Utilisez-le pour obtenir la construction maintenant, et soyez prêt quand le casque sortira plus tard cette année !

Daydream standalone VR
Daydream standalone VR.

ARCore 1.1 pour Unity

Avec ARCore out of developer preview, vous pouvez maintenant créer des applications AR de haute qualité pour plus de 100 millions d'appareils Android sur Google Play. ARCore 1.1 pour Unity améliore également la compréhension environnementale de votre scène avec des points de caractéristiques orientés, une nouvelle fonctionnalité qui vous permet de placer du contenu virtuel sur des surfaces à proximité des points de caractéristiques détectés, comme les canettes, les boîtes et les livres.

Stereo 360 image/video capture

Que vous soyez un développeur VR qui veut faire un trailer 360 pour montrer vos compétences, ou un réalisateur qui veut faire un court-métrage cinématographique engageant, votre flux de travail devient plus facile. La nouvelle technologie d'Unity pour la capture d'images et de vidéos 360 stéréoscopiques dans Unity vous permet de créer et de partager des expériences immersives avec des millions de personnes sur des plateformes telles que YouTube, Within, Jaunt, Facebook 360 ou Steam 360 Video.

Notre technique de capture stéréo-360 indépendante du périphérique est basée sur la technologie ODS (Omni-Directional Stereo) de Google, qui utilise le rendu stéréo cubemap. Nous prenons en charge le rendu des cubes stéréo en mode natif dans le pipeline graphique d'Unity dans l'éditeur Unity et sur les lecteurs autonomes PC. Après la génération de cubes stéréo, les cubes sont convertis en cartes équirectangulaires stéréo, un format de projection utilisé par les lecteurs vidéo 360.

La fonctionnalité expérimentale Stereo 360 ajoute un support pour capturer des images 360 monoscopiques ou stéréoscopiques sous forme d'images cubemap. Fonctionne dans l'éditeur et à l'exécution.
La fonctionnalité expérimentale Stereo 360 ajoute un support pour capturer des images 360 monoscopiques ou stéréoscopiques sous forme d'images cubemap. Fonctionne dans l'éditeur et à l'exécution.

Merci à tous ceux qui ont aidé à tester la version bêta 2018.1

Nous voulons également envoyer un grand merci à tous ceux qui ont contribué à la beta-test, rendant possible la sortie de la 2018.1 aujourd'hui. Merci de vouloir être parmi les premiers à essayer toutes les nouvelles fonctionnalités et pour tous les bons commentaires.

Nous avons trouvé et contacté tous les gagnants du concours bêta 18.1 et enverrons les prix aux heureux gagnants dans les semaines à venir.

tirages au sort de la bêta
Tirages au sort de la bêta.

Faites partie de la version bêta 2018.2

Si vous n'êtes pas déjà bêta-testeur, vous voudrez peut-être en devenir un. Vous aurez un accès rapide aux dernières nouvelles fonctionnalités, et vous pourrez tester si votre projet est compatible avec la nouvelle version bêta.

En devenant bêta-testeur, vous pouvez :

  • Accédez rapidement à toutes les dernières fonctionnalités avant qu'elles ne soient officiellement publiées
  • Testez votre compatibilité pour vous assurer que vos projets sont prêts à être mis à niveau
  • Rejoignez les experts pour partager des idées avec des membres expérimentés de la communauté Unity
  • Gagnez des prix sympas: les bêta-testeurs sont automatiquement inscrits à nos tirages au sort
  • Influencer l'avenir de Unity avec des sondages, des commentaires et la possibilité d'être invité à des tables rondes
  • Faites partie d'un groupe d'élite qui obtient des avantages spéciaux, tels que des rabais et des invitations à des événements spéciaux

Nous avons écouté vos commentaires de notre sondage bêta et, par conséquent, nous prévoyons de lancer un certain nombre de nouvelles initiatives. Nous allons étendre ces initiatives de bêta ouvert à un programme plus formel, ce qui se traduira par un processus d'assurance qualité plus efficace et plus rapide et, finalement, un produit final plus raffiné.

les réactions

Pour laisser un avis, vous devez être inscrit et connecté

Se connecter