Unity 2018.3

Unity 2018.3 introduit des Prefab workflows améliorés, y compris l'imbrication, ainsi que des améliorations à notre Scriptable Render Pipeline, le système de terrain et l'exécution des scripts, ainsi qu'un aperçu du graphique des effets visuels.

Au fil des ans, l'une des fonctionnalités que nous vous avons le plus souvent demandées a été la possibilité d'imbriquer des Prefabs. Après avoir mené de nombreuses interviews, des tests d'utilisabilité et des recherches sur les jams de jeu, nous avons cependant découvert que beaucoup d'entre vous avaient également besoin de plusieurs autres modifications des workflows Prefab. Par conséquent, nous avons amélioré l'ensemble du système en mettant l'accent sur la réutilisabilité, le contrôle et la convivialité.

Les nouveaux workflows Prefab vous permettent de diviser les scènes et Prefabs à un niveau granulaire. Ils vous offrent une plus grande flexibilité, augmentent votre productivité et vous permettent de travailler en toute confiance sans vous soucier des erreurs chronophages.

Continuant à nous concentrer sur les améliorations du workflow, Unity 2018.3 dispose désormais de fenêtres de paramètres unifiés pour les paramètres et les préférences du projet. Les nouvelles fenêtres sont ancrables et consultables, ce qui rend beaucoup plus pratique la recherche et la modification rapides des paramètres.

Le runtime de script par défaut est désormais .NET 4.x. L'ancien runtime .NET 3.5 est obsolète et sa prise en charge sera bientôt supprimée. Les projets qui ciblent le runtime de script .NET 4.x pourront utiliser le compilateur open source Roslyn.

Dans cette version, nous avons également ajouté une mise à niveau PhysX 3.4 qui comprend des améliorations de la stabilité et des performances ainsi que la prise en charge de plusieurs mondes et des requêtes de travail C#.

L'outil 2D Tilemap vous permet désormais de créer des Tilemaps isométriques, ce qui facilite la création de projets 2D tels que la stratégie, les tycoons et les jeux de simulation.

Unity 2018.3 est également livré avec une mise à jour du système Terrain, qui marque le début d'une révision plus large. Dans cette mise à jour, notre objectif a été non seulement de jeter les bases d'améliorations supplémentaires avec quelques ajustements à l'interface utilisateur et aux outils, mais également d'améliorer les performances. Nous avons également ajouté la prise en charge du pipeline de rendu haute définition (HDRP) et du pipeline de rendu léger (LWRP).

Unity 2018.3 comprend un certain nombre d'améliorations du HDRP (préversion). Cette version ajoute un support préliminaire pour l'anti-aliasing VR et multi-échantillons et améliore le support pour PC, Mac, XBox One et PS4. L'interface utilisateur de divers inspecteurs d'éléments HDRP est maintenant mise à jour: caméra, lumières, sonde de réflexion et matériau. Enfin, nous avons ajouté un nouveau modèle d'éclairage, afin que vous puissiez créer des matériaux plus complexes.

Nous introduisons également le GPU Progressive Lightmapper dans Aperçu pour Windows et plusieurs améliorations de l'éclairage.

Notre nouveau Visual Effect Graph, qui est fourni en Preview sous forme de package, vous permet de créer de beaux effets à l'aide d'un système basé sur des nœuds qui est à la fois facile à utiliser et flexible. Inspiré des principaux outils logiciels VFX pour les films, il permet aux artistes de créer des effets visuels remarquables pour les jeux et autres projets avec des millions de particules fonctionnant sur le GPU.

Unity 2018.3 comprend également plusieurs nouvelles fonctionnalités pour le système de particules existant. Par exemple, il existe des maillages de particules qui peuvent désormais être inversés comme avec les panneaux d'affichage, les lumières de particules qui prennent désormais en charge l'illumination globale en temps réel et le nouveau mode Ringbuffer, qui facilite la création d'effets persistants tels que les empreintes de pas ou les trous de balles en conservant les particules. visible après expiration de leur durée de vie et jusqu'à ce qu'ils soient remplacés.

Les améliorations mobiles incluent la prise en charge de l'échelle de résolution dynamique pour Vulkan et Metal, la prise en charge de la génération d'Android AppBundle et les temps de build de packages APK plus rapides sur Android avec APKzlib.

Pour XR, nous avons ajouté la prise en charge native des contrôleurs Daydream, les API Haptics pour les contrôleurs VR et les mises à jour de AR Foundation ainsi que les tests de performances XR.

Et dans nos services de développement, nous avons ajouté plusieurs améliorations à Collaborate et Cloud Build. Les rapports sur les performances, renommés Cloud Diagnostics, suivent désormais également les rapports soumis par les utilisateurs.

Enfin, 2018.3 est livré avec un certain nombre de petites modifications et corrections de bugs. Vous pouvez commencer à télécharger la version complète à partir de notre page de mise à jour ou via votre Hub Unity avant de creuser dans tous les détails.

Éditeur et workflows

Préfabriqués imbriqués et workflows préfabriqués améliorés

L'un des ajouts les plus demandés à Unity est la possibilité d'imbriquer les Prefabs. Mais à partir des nombreuses interviews, de plusieurs tests d'utilisabilité, d'enquêtes auprès de plus de 150 clients et de deux jams de jeux que nous avons réalisés avec un large éventail de studios indépendants et AAA, nous savons que beaucoup d'entre vous ont également eu besoin de plusieurs autres changements dans les workflows Prefab . Par conséquent, nous avons amélioré l'ensemble du système en mettant l'accent sur la réutilisabilité, le contrôle et la sécurité. L'objectif à long terme a été non seulement de mettre en œuvre la prise en charge de l'imbrication, mais de repenser les workflows de base de Prefab afin que différents membres de l'équipe puissent simultanément modifier les Prefabs en toute confiance et efficacement.

Les nouveaux workflows Prefab vous permettent de diviser les scènes et Prefabs à un niveau granulaire. Ils vous offrent une plus grande flexibilité, augmentent votre productivité et vous permettent de travailler en toute confiance sans vous soucier des erreurs chronophages.

Imbrication

Auparavant, vous étiez obligé de choisir entre la création de grands préfabriqués monolithiques, comme des bâtiments, ou plus granulaires, comme des meubles, mais vous ne pouviez pas faire les deux. Maintenant, avec la prise en charge des préfabriqués imbriqués, un grand bâtiment peut comprendre de nombreux préfabriqués plus petits, qui peuvent à leur tour comprendre plusieurs meubles préfabriqués, etc.

Nous avons implémenté un backend Prefab rétrocompatible qui prend désormais en charge l'imbrication et l'héritage.

Cela permet aux équipes de toutes tailles de :

  • Divisez les Prefabs en plusieurs entités pour une plus grande efficacité
  • Réutilisez n'importe quel contenu, de petit à grand
  • Travailler simultanément sur différentes parties du contenu

Les propriétés flexibles augmentent l'efficacité

Par défaut, une variante de préfabriqué hérite des objets et des propriétés de la préfabriquée dont elle est une variante, mais en même temps, vous pouvez à la fois remplacer ces propriétés et ajouter des composants et des GameObjects supplémentaires. Ceci est similaire au concept d'héritage dans la programmation orientée objet.

Par exemple, si vous avez une porte préfabriquée, vous pouvez en créer une variante et lui affecter un maillage et un matériau différents pour lui donner un aspect ancien et cassé. Toute modification apportée à la porte de base préfabriquée affectera la variante, vous permettant de modifier facilement la taille du collisionneur pour les deux portes en changeant la base.

Nous avons également amélioré la visualisation des remplacements de propriétés et d'objets pour les instances Prefab, et ajouté la possibilité d'appliquer des remplacements à plusieurs niveaux de granularité: par propriété, par Component / GameObject ou, comme auparavant, toute l'instance Prefab.

Évitez les erreurs chronophages

Un problème que nous avons constaté est que lorsque vous souhaitez modifier un élément préfabriqué, vous devez le faire glisser vers une scène ouverte dans la hiérarchie pour le modifier, appliquer les modifications, puis n'oubliez pas de le supprimer à nouveau. Un autre gros problème était le bouton Appliquer pour les instances Prefab dans l'inspecteur. Avec ce bouton, vous pourriez accidentellement appliquer des modifications à l'élément préfabriqué, et vous n'aviez aucun moyen facile de voir un aperçu de ce que vous modifiiez. Nous avons résolu ce problème en introduisant le nouveau mode Prefab, qui vous permet de modifier les Prefabs de manière isolée.

La possibilité de modifier un élément préfabriqué complet sans avoir à l'instancier dans la scène ou à modifier une instance existante signifie que vous pouvez éviter les erreurs liées à l'application accidentelle de remplacements dans la scène. En étant en mesure de modifier séparément les instances et les actifs, vous pouvez effectuer vos modifications en toute confiance.

Découvrez comment Nikoline Høgh et Stine Kjærbøll, de l'équipe R&D d'Unity, ont fait un voyage de découverte: en effectuant des tests utilisateurs, en menant des enquêtes et en discutant en face à face avec 150 clients, ils ont acquis de précieuses informations qui ont contribué à améliorer fondamentalement les flux de travail Prefab.

Exemple de projet pour vous aider à démarrer

Nous avons ajouté une collection d'exemples pour apprendre à utiliser les nouveaux workflows Prefab améliorés, qui sont disponibles ici. Faites-nous savoir ce que vous pensez en partageant des informations sur les nouveaux workflows Prefab sur notre forum.

Fenêtres des préférences et des paramètres utilisateur

En 2018.3, nous avons ajouté de nouvelles fenêtres pour vous offrir un moyen cohérent et efficace de rechercher et de gérer toutes les préférences utilisateur et les paramètres de projet. Les fenêtres sont ancrables avec une navigation facile de gauche à droite, et vous pouvez parcourir tous les paramètres pour trouver rapidement ce que vous recherchez.

Améliorations de l'utilisabilité

Il vous est désormais également plus facile de travailler avec les onglets des fenêtres. L'onglet de fenêtre sélectionné est mis en surbrillance avec un contour bleu et la largeur de l'onglet est ajustée en fonction de la longueur du titre de l'onglet. Lorsque le nombre d'onglets ouverts dépasse la largeur de la fenêtre, vous pouvez faire défiler les fenêtres à l'aide des touches fléchées.

Cinématique

Timeline

En 2018, des améliorations significatives ont été apportées à la façon dont les pistes d'animation de la chronologie gèrent les animations lors de la transformation racine d'une hiérarchie.

Nouveaux modes de décalage de piste

Ces modes indiquent avec précision dans la timeline où dans la scène un personnage doit commencer à animer. Dans les versions antérieures à 2018.3 de Timeline, la position de départ dépendait de l'état de l'animateur. La piste vous offre maintenant des options supplémentaires avec le mode Auto pour une compatibilité descendante.

S'adapte à l'échelle

La chronologie applique désormais l'échelle locale aux animations de la transformation racine si le drapeau Appliquer le mouvement racine de l'animateur est défini. Cela rend les ressources de la chronologie encore plus réutilisables entre différents GameObjects et aide à supprimer le glissement du pied et d'autres artefacts indésirables.

Le mouvement de racine n'est plus nécessaire

Avant 2018.3, pour les clips qui animaient la position et la rotation de la transformation racine, le clip d'animation nécessitait la génération de courbes de mouvement racine pour que toute transformation racine s'applique. Cela n'est plus nécessaire, ce qui signifie que tous les clips dont la position et la rotation animées fonctionneront avec la timeline, à l'exception des clips hérités.

Aperçu de l'éditeur amélioré

Nous avons amélioré les aperçus de la chronologie dans l'éditeur. Lorsque vous utilisez des décalages de scène, la position de la scène est utilisée comme décalage. L'application de l'accélération / décélération se fondra dans la pose et la position de la scène.

Cinemachine

Nous avons également ajouté la prise en charge de la caméra physique pour Cinemachine, un mappeur d'événements et un nouvel éditeur de bruit procédural avec un affichage interactif.

Worldbuilding

Les outils de modélisation et de conception de niveaux ProBuilder 3D sont devenus une partie d'Unity au début de cette année, et la version 4.0 apporte désormais une mise à jour majeure. Il se concentre sur la stabilité et les corrections de bugs, mais comprend également plusieurs nouvelles fonctionnalités et modifications importantes.

Plus important encore, ProBuilder 4.0 est désormais distribué en tant que code source et présente une API publique améliorée, offrant aux développeurs de nombreuses options de personnalisation dans l'éditeur et au moment de l'exécution. La mise à jour ajoute également la prise en charge des nouveaux flux de travail Préfabriqués imbriqués, des améliorations de performances et des mises à niveau visuelles, telles que les mises en évidence de présélection pour toutes les sélections d'éléments. Obtenez plus d'informations sur ProBuilder 4.0 dans ce fil de discussion.

Mises à jour du terrain

Unity 2018.3 comprend une mise à jour du système Terrain en mettant l'accent sur les performances et la convivialité.

Il propose des outils et des performances améliorés qui tirent un meilleur parti du GPU. Il ajoute également la prise en charge des pipelines HDRP et LWRP, tout en étant rétrocompatible avec le pipeline de rendu intégré et le système Unity Terrain existant.

Performance

Côté performances, nous avons ajouté un chemin de rendu instancié par GPU pour Terrain. Dans la plupart des cas, l'instanciation entraîne une réduction spectaculaire du nombre d'appels de tirage émis. Beaucoup de nos tests ont permis de constater une réduction de plus de 50% des coûts du processeur (bien que, bien sûr, les chiffres réels dépendent de votre plate-forme et de votre cas d'utilisation).

Outils GPU scriptables

Du côté de l'éditeur, nous avons exposé une API de script pour créer vos propres outils Terrain personnalisés, ainsi qu'une suite de fonctions utilitaires que vous pouvez utiliser pour implémenter facilement des opérations de sculpture et de peinture croisées sur le GPU.

Nous avons également converti tous les outils Terrain existants en opérations GPU. En plus de rendre ces outils beaucoup plus rapides, cela nous a également donné des tailles de pinceau plus grandes, des aperçus de pinceau améliorés et la possibilité de peindre à travers les bordures de carreaux Terrain avec la couture automatique.

Prise en charge de plusieurs terrains

Nous avons facilité le travail avec plusieurs tuiles Terrain. En plus de la peinture transparente entre Terrain, vous pouvez désormais gérer automatiquement les connexions entre Terrain voisin. Auparavant, cela nécessitait l'écriture d'un script pour connecter manuellement les voisins.

Lorsque vous développez votre terrain existant, vous pouvez utiliser notre nouvel outil Créer un terrain voisin pour ajouter rapidement des tuiles Terrain assorties le long de bordures vides.

Nouveaux types d'assets et outils

Les nouveaux outils de terrain et les éléments de pinceau incluent la carte de hauteur, l'estampage du maillage et les pinceaux clones. Ces outils de peinture ne sont actuellement pas en 2018.3, mais vous pouvez les obtenir via notre projet GitHub Terrain Tools.

Il existe également deux nouveaux types d'actifs liés au terrain qui simplifieront votre flux de travail: l'actif TerrainLayer et l'actif Brush. TerrainLayer vous permet de définir des matériaux Terrain indépendamment de l'objet Terrain afin que vous puissiez facilement suivre le même matériau sur plusieurs objets Terrain. Cela vous aide à peindre de manière transparente et facilite la modification des matériaux.

Le pinceau représente les formes de pinceau GPU utilisées par les outils de peinture et de sculpture. Ils sont désormais définis par une texture et une courbe d'atténuation radiale, ce qui facilite la création et le réglage des formes de pinceau.

Nous avons également ajouté la prise en charge du format de texture R16 (un format 16 bits monocanal). Cela nous permet d’éviter une quantification 8 bits sur nos formes de pinceau, ce qui peut provoquer des effets de «terrasses» indésirables s’il est utilisé comme tampon de hauteur.

Mises à jour du gestionnaire de packages

Le gestionnaire de packages vous donne un accès rapide aux nouvelles fonctionnalités d'Unity en chargeant et en mettant à jour dynamiquement les fonctionnalités développées par Unity pour vos différents projets.

À mesure que davantage de fonctionnalités Unity passent au format Package, nous améliorons régulièrement l'expérience utilisateur (UX) pour vous permettre de découvrir plus facilement les packages et les mises à jour disponibles, et de gérer les packages installés dans vos projets.

Nous avons ajouté un grand nombre d'améliorations au gestionnaire de packages, y compris une meilleure interface utilisateur, qui indique l'état des étiquettes de packages, la possibilité d'ancrer la fenêtre et un accès facile à la documentation et à une liste des modifications. Vous pouvez désormais également rechercher des packages par nom, et nous introduisons certains des premiers blocs de construction UX qui vous permettront d'ajouter manuellement vos propres packages personnalisés. Vous pouvez voir plus des derniers développements et participer à la discussion sur notre forum Package Manager.

Mises à jour du hub

En septembre, nous avons lancé Unity Hub 1.0, notre nouvelle application de bureau connectée conçue pour rationaliser les processus d'intégration et de production en offrant un emplacement central pour la gestion de vos projets, licences, installations de l'éditeur et composants complémentaires Unity. La nouvelle version de Hub v1.2 inclut la possibilité de télécharger et d'installer les anciennes versions d'Unity Editor directement dans le Hub via les URL d'archivage de téléchargement d'Unity. Les utilisateurs qui dépendent de versions spécifiques (plus anciennes) de l'éditeur pour leurs projets peuvent désormais y accéder facilement à partir du hub en un seul clic.

Au fur et à mesure que davantage de fonctionnalités et de mises à jour sont distribuées sous forme de packages, le nouveau Package Project Updater contribuera à rationaliser le processus de mise à niveau via le hub. Cela permet de garantir la compatibilité de vos packages de projet, scripts et bibliothèque de projets lors de la migration de projets d'une version Unity antérieure vers une version plus récente.

Un fichier log du Package Update est également fourni pour faciliter le débogage, afin que vous puissiez suivre l'état de la migration à chaque niveau de projet affecté.

Mises à jour du moteur

Débogueur de code Visual Studio pour l'extension Unity

Nous avons mis à jour l'extension du débogueur pour Visual Studio Code, un éditeur open source optimisé pour le code disponible sur macOS, Windows et Linux. L'extension Debugger for Unity fournit une prise en charge du débogage pour les scripts C # dans un environnement léger, et la dernière version 2.x ajoute diverses améliorations, notamment la prise en charge du runtime de script Mono 4.x. Pour commencer, suivez les instructions d'installation sur le site Visual Studio Code.

Si vous recherchez un environnement d'édition et de débogage C # plus intégré et riche en fonctionnalités, il existe également Visual Studio et Visual Studio pour Mac. Consultez cette documentation pour commencer.

Physique

En 2018.3, nous sommes passés de NVIDIA PhysX 3.3 à 3.4. Dans certains cas, la mise à niveau double la vitesse des opérations telles que le lancer de rayons, le balayage de forme et la cuisson à mailles. Il améliore également la prise en charge de la détection des collisions avec des objets en rotation rapide et ajoute un déterminisme amélioré garantissant le même résultat de simulation lorsque toutes les entrées sont exactement les mêmes.

Nous développons également ce qui est disponible à partir de PhysX dans le système de travail C#. Cela vous permet d'utiliser la plupart des types de collisionneurs de manière asynchrone et hors du thread principal, permettant des améliorations significatives des performances sur le matériel multicœur. La mise à niveau PhysX 3.4 s'accompagne également d'améliorations de la stabilité et des performances. Enfin, il existe désormais la prise en charge de plusieurs mondes et requêtes de travail C#.

Vous pouvez maintenant créer plusieurs scènes physiques (par opposition à une seule scène peuplée de tous les corps et collisionneurs). Cette modification vous permet de spécifier si une scène Unity donnée utilise la scène physique par défaut ou a besoin de sa propre scène locale pour la physique 2D et 3D.

Garbage Collection Control

Une nouvelle API de script UnityEngine.Scripting.GarbageCollector a été ajoutée pour activer et désactiver globalement le garbage collection lors de l'exécution sur les backends de script Mono et IL2CP. Si vous gérez soigneusement votre mémoire et que vous avez peu ou pas d'allocations au moment de l'exécution, vous pouvez éviter la surcharge du garbage collector en la désactivant. Vous pouvez ensuite le réactiver lorsque vous pouvez vous permettre la surcharge et appeler System.GC.Collect () pour le forcer à collecter les ordures. Autrement dit, au lieu que la collecte des ordures se fasse à des moments aléatoires, vous pouvez maintenant contrôler quand cela se produit.

Runtime de script équivalent .NET 4.x l'option par défaut

Le runtime de script équivalent .NET 4.x est désormais l'option par défaut pour les nouveaux projets Unity.

L'ancien runtime de script (équivalent .NET 3.5) est obsolète et sera supprimé au cours du cycle de publication 2019.x. Les deux versions d'exécution de script seront toujours prises en charge dans le LTS 2018.

Si vous n'avez pas essayé votre projet avec le nouveau runtime de script équivalent .NET 4.x (introduit en 2018.2), les nouvelles fonctionnalités sont une excellente raison de basculer, telles que la prise en charge complète de TLS 1.2 pour l'ensemble de la classe .NET API de bibliothèque, sur toutes les plateformes Unity avec Mono et IL2CP.

Nous avons beaucoup travaillé sur la réduction de la taille de vos projets. La taille totale de la construction (sur iOS, par exemple) d'un projet 2018.3 utilisant un nouveau runtime de script devrait être très comparable à une build 2018.2 ou précédente avec l'ancien runtime de script.

De plus, les projets qui ciblent le runtime de script .NET 4.x pourront utiliser le compilateur open source Roslyn, en évitant tout bogue présent dans le compilateur Mono C# précédemment utilisé.

Taille du code

Nous avons standardisé la suppression du code géré dans tous les paramètres du lecteur de plateforme. L'option de niveau de décapage a été remplacée par une nouvelle option de niveau de décapage géré. Cette nouvelle option est disponible pour toutes les plates-formes et les backends de script Mono et IL2CPP.

Pour vous aider à rendre vos jeux aussi petits que possible, nous avons introduit deux nouvelles options de niveau de décapage géré: moyen et élevé. Ces nouvelles options ne sont disponibles que lorsque vous ciblez le runtime de script .NET 4.x.

Avec les améliorations de suppression de code gérées et les améliorations de taille apportées à IL2CPP, les générations qui ciblent le runtime .NET 4.x seront comparables en taille à l'ancien runtime .NET 2.0.

C# 7.3 – Roslyn

C # 7.3 est désormais pris en charge dans les projets ciblant le runtime de script .NET 4.x. Cela est possible car nous avons amélioré la compatibilité avec le compilateur open source Roslyn C #, en apportant les dernières fonctionnalités du langage C # 7.3 et en réduisant le temps de compilation.

API d'exécution pour recompresser les ensembles d'actifs téléchargés

Les AssetBundles sont des fichiers d'archives contenant des actifs spécifiques à la plate-forme (par exemple, des modèles, des textures, des Prefabs, des clips audio et même des scènes entières) qui peuvent être chargés au moment de l'exécution. Ils peuvent réduire la taille d'installation initiale du contenu téléchargeable (DLC), garantir que les ressources sont optimisées pour la plate-forme de l'utilisateur final et réduire la pression de la mémoire d'exécution.

En 2018.3, nous fournissons une API qui vous permet de créer et de gérer votre propre système de cache de bundle d'actifs. Vous pourrez toujours fournir des bundles compressés LZMA aux clients, qui pourront ensuite les recompresser dans un format plus convivial (LZ4), tout comme avec notre système de cache de bundle d'actifs natif / intégré.

Mises à jour du système de navigation

Le composant NavMesh Surface représente la zone accessible à pied pour un type d'agent NavMesh spécifique et définit la partie de la scène où un NavMesh doit être construit. À partir de 2018.3, le système de navigation permettra à NavMeshSurfaces dans Prefabs d'être cuit isolément en mode Prefab. Vous pouvez désormais également appeler la méthode NavMeshQuery.Raycast dans les travaux si vous souhaitez tracer un chemin droit ou trouver des obstructions entre deux positions sur le NavMesh. Nous apportons continuellement des améliorations et nous serions ravis d'avoir votre avis sur notre forum.

Asset Upload Pipeline

Avant 2018.3, l'AUP ne gérait que les textures. En 2018.3, l'AUP charge désormais les textures et les maillages, mais il y a quelques exceptions. Les textures activées en lecture / écriture ou les maillages activés en lecture / écriture ou compressés n'utiliseront pas l'AUP. Notez que Texture Mipmap Streaming, qui a été introduit en 2018.2, utilise également AUP.

Profileur de mémoire

La consommation de mémoire est un indicateur de performance critique, ce qui est particulièrement important pour les plateformes avec des ressources de mémoire limitées, telles que les appareils mobiles bas de gamme.

Bien que Unity dispose de bons outils de performance, il a toujours fait défaut dans le domaine du dépannage des problèmes liés à la mémoire. Trouver la fuite de mémoire, vos allocations les plus importantes ou simplement fouiller pour voir ce qui se passait n'était pas simple.

Dans cet esprit, nous voulions vous permettre de comprendre plus facilement ce qui se passe avec la mémoire dans votre projet. Avec le nouveau Memory Profiler, vous pourrez fouiller dans les détails de chaque allocation.

Vous pouvez l'utiliser pour capturer des instantanés, décomposer l'utilisation de la mémoire native et gérée et, finalement, prendre de meilleures décisions concernant l'optimisation de votre utilisation de la mémoire. Cela s'applique à l'étude de la mémoire C # et C ++, de la relation entre les différentes allocations, des allocations internes Unity et au travail avec des périphériques à faible mémoire.

Enfin, vous pouvez également comparer la différence entre les instantanés pour identifier les fuites de mémoire. Le Memory Profiler est disponible dans sa première version en tant qu'aperçu et il sera continuellement mis à jour. Nous aimerions savoir ce que vous en pensez. Si vous êtes intéressé par l'optimisation des performances, nous vous encourageons à rejoindre notre forum profileur.

Fonctionnalités 2D

Tilemaps 2D isométriques

Vous pouvez désormais créer facilement des environnements 2D performants basés sur des dispositions de grille isométrique en 2018.3. Vous pouvez choisir entre deux types de Tilemaps isométriques: Tilemaps isométriques réguliers ou Z comme Y Tilemaps. Sélectionner Z comme Y Tilemaps vous permet de peindre différentes tuiles à différentes hauteurs sur la même tuile. Vous pouvez l'utiliser, par exemple, pour peindre des bâtiments élevés avec différents étages ou des objets hauts comme des arbres ou des tours.

Vous pouvez également choisir de regrouper les tuiles pour le rendu ou de les rendre individuellement. Le regroupement des tuiles pour les rendre simultanément (mode Chunk) vous permet d'optimiser les performances. Si vous vous attendez à ce que GameObjects se déplace devant et derrière les tuiles, cependant, vous pouvez rendre chaque tuile individuellement.

De plus, vous pouvez trouver certains utilitaires comme RuleTiles à utiliser avec Tilemaps sur notre GitHub.

2D Animation v2

La nouvelle version du système d'animation 2D apporte un nouveau flux de travail et un contrôle plus détaillé du processus de gréage.

Multi Sprite: lorsque vous créez votre personnage dans, par exemple, Photoshop, assurez-vous que chaque membre ou partie du personnage se trouve dans un calque différent. Exportez ensuite le fichier en tant que PSB et importez l'actif dans Unity. Vous aurez besoin du nouveau package 2D PSDImporter. Unity générera ensuite automatiquement une feuille de calcul.

Nouvel éditeur d'habillage: utilisez cette nouvelle fenêtre d'éditeur pour définir la tessellation et la déformation du maillage du sprite plus précisément qu'auparavant, et il existe également des améliorations UI / UX.

Les packages pour 2D Animation v2 et 2D PSDImporter seront disponibles très prochainement dans le gestionnaire de packages.

Animation

Nous avons ajouté plusieurs améliorations à l'animateur, notamment aucune allocation dans le code d'exécution et le traitement par lots des travaux, conduisant à des améliorations de performances de 10 à 20%.

Système de particules

Unity 2018.3 est livré avec un certain nombre d'améliorations et de fonctionnalités pour notre système de particules.

Cette API de script a été améliorée pour permettre un nouveau paramètre facultatif appelé décalage. Il vous permet uniquement d'obtenir ou de définir une sous-région de l'ensemble du réseau de particules.

Lors de l'émission de lumières via le module d'éclairage, les lumières peuvent désormais contribuer à l'éclairage global en temps réel de la scène. Configurez simplement le Light Prefab comme vous le feriez pour n'importe quel autre éclairage qui contribue à l'éclairage global.

Flip Particle System mesh

Il est désormais possible d'utiliser les options de retournement pour retourner les maillages de particules, au lieu de seulement les panneaux d'affichage. Nous avons également déplacé les options Flip U / V du module Animation de feuille de texture et vers le module Renderer.

Émission de forme de mesh ordonnée

Semblable à la façon dont les formes procédurales prennent en charge l'émission non aléatoire, les maillages peuvent désormais générer des particules dans un ordre prévisible. Pour les formes procédurales telles que les cercles, les particules apparaissent progressivement autour du bord de la forme. Pour les maillages, le même principe est appliqué, mais l'ordre des sommets (ou faces) dans le maillage dicte l'ordre.

Disable Roll (VR)

Nous avons ajouté une nouvelle case à cocher au module Renderer, qui empêche les particules faisant face à la caméra de rouler avec la caméra. Ceci est particulièrement utile pour les applications VR où, sans cette fonctionnalité, les particules pourraient autrement sembler étranges lorsque l'utilisateur incline la tête.

Burst Probability

Il est désormais possible de définir une possibilité aléatoire de ne pas déclencher une rafale afin de créer des rafales de particules plus imprévisibles.

Particle Standard Shader est la nouvelle valeur par défaut

Lorsque vous créez un nouveau système de particules dans Unity 2018.3, le shader standard de particules non éclairé est défini par défaut. Tous les anciens shaders ont été déplacés vers le menu Legacy.

Mode Ringbuffer

Le nouveau mode Ringbuffer facilite la création d'effets persistants tels que des empreintes de pas ou des trous de balles en gardant les particules visibles après l'expiration de leur durée de vie et jusqu'à ce qu'elles soient remplacées. Dans ce nouveau mode, les particules peuvent être configurées selon les besoins avec deux modes de boucle, qui vous permettent de créer des effets, tels que des braises incandescentes, qui continuent de s'animer pour toujours jusqu'à ce qu'ils soient remplacés, tout en maintenant un budget global pour les performances.

Nouveaux modes d'animation de feuille de texture

Unity 2018.3 apporte deux nouveaux modes au module d'animation de feuille de texture. Le premier mode joue des animations à une fréquence d'images par seconde constante. Le deuxième mode est basé sur la vitesse des particules et sélectionne les images de l'animation en fonction de la vitesse de déplacement de chaque particule.

Mise à niveau du module Forces externes

Nous avons actualisé le module Forces externes dans Unity 2018.3. Il est livré avec un nouveau composant, le ParticleSystemForceField, qui peut interagir avec les systèmes de particules pour appliquer une variété de forces aux particules.

Shadow Bias

Les panneaux d'affichage, les lignes et les traces de particules sont tous susceptibles de souffrir de problèmes d'auto-occultation car ils simulent des objets 3D avec une géométrie 2D orientée vers la caméra. Pour résoudre ce problème, il existe de nouvelles options de biais d'ombre dans chaque composant, qui vous permettent d'éloigner légèrement l'ombre de l'objet pour éviter un ombrage incorrect.

Sub-Emitter Ratio property

Les sous-émetteurs dans Unity ont désormais une nouvelle propriété, appelée Ratio, qui détermine la probabilité de déclenchement de l'événement du sous-émetteur. Une valeur de 1 garantit que le sous-émetteur se déclenche lorsqu'il est déclenché et une valeur de 0 signifie qu'il ne se déclenchera jamais. L'utilisation de valeurs comprises entre 0 et 1 vous permet d'attribuer une probabilité aléatoire à vos événements de sous-émetteur.

Culling

Unity 2018.3 présente un moyen de contrôler ce qui se passe lorsque les systèmes de particules sont hors écran. Dans les versions précédentes, des décisions automatiques étaient prises pour suspendre ou continuer la simulation de vos systèmes de particules, ce qui entraînait parfois des pics de performances ou une perte de performances simulant des effets hors écran. La nouvelle option Culling Mode vous permet de prendre le contrôle et de prendre une meilleure décision.

Échelle non uniforme

Nous avons corrigé quelques bugs qui empêchaient une mise à l'échelle non uniforme de fonctionner comme prévu. Il est désormais possible d'utiliser une mise à l'échelle non uniforme avec des particules alignées sur l'espace local ou mondial et d'obtenir des résultats prévisibles.

Retrait du système de particules hérité

Afin de nous concentrer sur le développement de nouvelles fonctionnalités, nous avons commencé à retirer le Legacy Particle System en 2018.1 en supprimant ses liaisons de script. En 2018.3, nous avons finalement retiré le Legacy Particle System.

Si cela affecte vos anciens projets, vous pouvez utiliser l'outil de mise à jour du système de particules héritées pour convertir les systèmes de particules hérités en composants de système de particules. En savoir plus ici. Comme toujours, vous pouvez nous contacter avec des commentaires ou des questions dans nos forums.

les réactions

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

Se connecter