Developpez.com - Rubrique 2D-3D-Jeux

Le Club des Développeurs et IT Pro

La bêta de Unity 4 est disponible

Rendu DirectX 11 et ombres pour les mobiles sont à l'honneur dans cette nouvelle version

Le 2012-11-05 14:32:10, par LittleWhite, Responsable 2D/3D/Jeux
Unity 4 est disponible
Rendus DirectX 11 et ombres pour les mobiles sont à l'honneur dans cette nouvelle version

Mise à jour du 15/11/2012

Vous pouvez maintenant vous jeter sur la quatrième version de Unity qui est enfin disponible pour Windows et pour Mac OS.

Cela sera l’occasion de tester les nouvelles fonctionnalités qui intégreront la prochaine version du populaire moteur de jeu. Les ajouts tels que le support de DirectX 11, ou encore du projet pour Linux ou en Flash permet à la firme de rattraper son retard sur les moteurs comme l’Unreal Engine ou le CryEngine.


Rendu de DirectX 11 dans Unity

Voici une courte liste des changements :

  • ajout du rendu DirectX 11 ;
  • système d’animation (possibilité de réutiliser les mêmes animations pour plusieurs personnages de différentes tailles et de lier les os aux muscles en un clic) ;
  • ajout de l’exportation pour Linux ;
  • ajout du support des shaders pour les normales et des shaders personnalisés pour les terrains ;
  • support des textures volumétriques ;
  • support des ombres pour les mobiles ;
  • rendu de police dynamique (identique pour toutes les plates-formes) ;
  • nouveau navigateur de projets ;
  • système d’interface utilisateur réécrit ;
  • nouvelle bibliothèque de curseurs, avec le support matériel pour les plates-formes le permettant ;
  • nouvelles possibilités et options sur les licences ;
  • et bien sûr, des corrections et améliorations en tout genre.


Vous pouvez télécharger Unity pour Windows et Mac OS X ici

[ame="http://www.youtube.com/watch?v=QDBoXwkTZcE"]Unity 4 Engine Tech Demo : The Butterfly Effect[/ame]

Votre opinion sur Unity :

Est-ce que le support de DirectX 11 permettra à Unity de rattraper les moteurs tels que le CryEngine ou l'Unreal Engine ?
Quelles sont les fonctionnalités que vous attendiez ? Cette nouvelle version correspond-elle à vos besoins ?

Source
  Discussion forum
64 commentaires
  • MoDDiB
    Membre expert
    Il y a les codeurs qui font des jeux, et il y à ceux qui font des jeux finis et de qualité.
    C'est si difficile de passer dans la seconde catégorie qu'un énorme coup de pouce comme Unity ne se refuse pas.
    Forcément c'est frustrant pour les "vrais" codeurs tatoués de voir "n'importe qui" réussir à faire en 6 mois ce qu'ils n'ont jamais réussi à faire en 5 ans....

    Concrètement si j'avais choisi Unity il y a 3 ans au lieu de tout recoder mon moteur et mes outils mon jeu serait fini depuis 2 ans et avec une meilleure finition.

    J'ai encore qqs doutes sur la possibilité de travailler avec une "grosse" équipe ( > 15 )
    mais pour tous les titres qui ne sont pas AAA Unity est plus que suffisant et enterre de loin toute la concurrence.
  • JérémieL
    Membre actif
    Bonjour,

    La nouvelle version de Unity est intéressante, même s'il manque une fonctionnalité que j'attendais : un nouveau système de GUI. Certes NGUI fait le job, mais c'est payant, et ce serait tellement mieux d'avoir quelque chose de mieux intégré dans le moteur et dans l'éditeur, et plus simple d'utilisation.

    Par contre, l'export pour Linux : ça c'est génial. En tant qu'utilisateur de GNU/Linux j'attendais ça depuis longtemps.

    Sinon, j'aimerais rebondir sur les "arguments" de Punkcoders, en espérant le faire avec le calme qu'il n'a pas su conserver. Personnellement je suis partisan de l'open source : j'ai participé au développement de jeux ou logiciels libres et je milite souvent pour l'utilisation de bibliothèques ouvertes au boulot. Cela ne m'a pas empêché de m'intéresser à des solutions propriétaires, notamment Unity que j'ai utilisé en milieu professionnel.

    Certes, on peut s'interroger sur la pérennité de ce moteur, comme toute technologie fermée. Il présente néanmoins plusieurs avantages :

    - Il permet de développer rapidement sur plusieurs plateformes. Pour créer un prototype ou même un jeu complet quand on n'a pas un budget énorme, sur PC, mobile, console, etc. c'est vraiment bien !
    - Les performances sont tout à fait respectables, et permettent de créer des jeux de bonne qualité. Si, Punkcoders, tu as vu des jeux ratés créés avec Unity, ce n'est parce que le moteur est mauvais, mais parce qu'effectivement le fait qu'il soit très accessible permet son adoption par des équipes qui n'ont pas le talent, ou le budget pour faire un produit de qualité.
    - On s'y forme rapidement. L'éditeur est simple d'utilisation, le langage de script (Javascript, C#) et le framework (Mono) sont connus d'un grand nombre de développeurs.

    Si un jour j'ai besoin de développer un jeu 3D, Unity sera une option sérieuse pour le faire. Quant au point noir que tu dénonces, à savoir que c'est une technologie "jetable" et que les développeurs qui l'utilisent sont condamnés à terme, allons allons, un peu de sérieux. Unity n'est qu'un moteur de jeu, après tout. Un bon développeur 3D s'y forme rapidement, et il se formera rapidement à d'autres moteurs de jeu s'il change de job. Franchement, j'espère que t'es au courant qu'un développeur passe son temps à se former, à s'adapter à de nouveaux langages, de nouvelles technologies, quitte à le faire sur son temps personnel. Si tu ne t'en crois pas capable, dans ce cas j'espère que tu n'en fais pas ton métier !

    Quant à la promotion du C++ et des bibliothèques open source bas-niveau... Ce ne sont là que des outils pour écrire un moteur perso. J'ai déjà développé un moteur de jeu en C++, mais ça prend du temps et de l'argent, pour au final se retrouver avec une solution technologique moins documentée, moins supportée et moins performante que Unity, par exemple. Donc bon...
  • alex_vino
    Membre émérite
    Pour finir je vais dire que tu ne comprend pas que le domaine des Technologies est en constante évolution et que le salarié a aussi le devoir de se former.
    Maintenant ne nous éloignons tout de meme pas trop du sujet qu'est Unity
  • gbdivers
    Inactif
    Bonsoir à tous

    Merci de rester dans les discussions (pseudo) techniques et de ne pas partir dans des discussions politiques.

    Petite remarque pour tout ceux qui répondent. Pour faire un troll, il faut être au moins deux, celui qui troll et celui qui le nourrit.
  • alex_vino
    Membre émérite
    On se détend

    Si tu as peur d'etre quelqu'un de jetable alors fait comme les autres développeurs, passe tes nuits et week-ends a apprendre de nouvelles choses que tu ne fait pas la journée au travail afin de rester compétitif sur le marché du travail... ou reconverti toi
  • MoDDiB
    Membre expert
    Envoyé par punkcoders
    Blitz-Virtools-Torque-Unity-XNA-etc
    En mettant XNA au même niveau que Unity tu viens de montrer ta méconnaissance totale des 2 domaines.
  • JérémieL
    Membre actif
    Unity est, je le redis, un bon moteur de jeu qui répond à pas mal de besoins, mais effectivement un gros projet peut rapidement devenir très (trop) dépendant de cette solution. Personnellement j'utilise toujours le couplage le plus faible possible, pour changer de technologie si besoin. En l’occurrence il m'est arrivé de créer des bibliothèques métier complètement indépendantes (portables) que j'intégrais dans Unity grâce à son système de plugin. De ce point de vue Unity laisse pas mal de liberté donc c'est pas si mal.

    Sinon, tu parles de ta préférence du "fait maison" à condition de rester modeste. D'accord, admettons que je reste modeste et crée mon petit moteur de jeu modeste dans mon coin, en utilisant des technos bas-niveau open source. Mais si demain, le chef d'entreprise plein d'idées te dit : "tiens ce serait bien que ça tourne aussi sur Android, Iphone, Xbox... Et que ça fasse ci, et que ça fasse ça. Ha et vite si possible." Bah là je peux te dire que t'es content d'avoir du bon middleware comme Unity qui fait le boulot, et t'abandonnes l'idée de faire évoluer ton moteur maison parce que tu n'en as pas les moyens.

    Quant à ton premier paragraphe, concernant des "codeurs" spécialisés dans Unity : bah c'est pas Unity le problème. Ces développeurs n'ont pas l'esprit assez ouvert, ne savent pas vendre leurs compétences, ne savent pas s'adapter ou que sais-je.

    Unity est un (bon) outil, rien d'autre.
  • Envoyé par punkcoders
    L'implémentation sur la couche matériel ça n'est que la toute dernière phase de la pipeline graphique et audio. Si tu t'amuses à compter dans un programme le nombre de lignes qui envoient réellement des instructions à la carte vidéo et à la carte son, ça représente pas grand chose. Ben il suffit de les ranger proprement dans un coin au lieu de les éparpiller n'importe où dans un tas de boue.
    et le systeme de fichier qui est particulier a chaque plate-forme, et le systeme de threading (donc aussi mutex et sections critiques), et l'encodage (utf-8 sous linux et ucs-2 sous windows) pour l'internationalisation, et l'input qui depend de la plate-forme mais aussi du systeme de fenetrage, sans compter que le compilateur peut etre different entre windows et linux et creer des problemes de compatibilite, et en general l'allocation memoire, puis quand on y est, comptons aussi le SSE2/3/4 different du Neon sur ARM et du
    Altivec sur PowerPC, souvent utilises par les moteurs physiques dont tu parles plus haut (pourquoi tant de #define specifiques au plate-formes dans bullet?), et puis ajoutons aussi les differences entre OpenCL et DirectCompute, et si enfin on parle de Unity, on doit aussi prendre en compte le portage de Mono (runtime CIL) sur toute cette tripotee de plates-formes, y compris certaines qui interdisent le JIT

    faire un jeu c'est plus complique que tu le crois apparemment, enfin je veux dire quand on en fait un pour de vrai, pas quand on en parle sur un forum.
  • shenron666
    Expert confirmé
    @punkcoders : ton avis est très démonstrateur d'une ouverture d'esprit proche d'un trou noir
    d'une : ce n'est pas le moteur qui fait le jeu, il y contribue, mais un bon jeu n'a pas besoin d'un moteur à plusieurs centaines de milliers de dollars de budget
    de deux : si tu n'aimes pas, tu n'utilises pas, de là à demander à interdire un moteur parce qu'il ne te plait pas... pathétique

    de plus, tu cites Torque dans ta liste, pour info c'est le moteur de Tribes 2 entre autres
    et comparer Unity (moteur)à sfml (framework) démontre ta méconnaissance du sujet, si besoin en était

    perso je pense que si un studio s'y intéressait, Unity est tout à fait capable de servir un jeu AAA

    le rendu DX11 n'apporte rien visuellement si on n'utilise pas la tesselation
    il permet d'optimiser le traitement du pipeline et donc de fluidifier le framerate
    les jeux optimisés DX11 qui aportent un vrai plus visuel se comptent sur les doigts d'une main, et tout ce qui se fait en DX11 est faisable en DX9

    la vidéo de présentation est plutôt amusante, bien décalée
  • alex_vino
    Membre émérite
    Bah personne ne t'a forcé a faire ton métier, si tu veux faire carriere il ne faut pas rester "rouiller" sur la meme tache pendant des années et laisser passer plein de choses a coté. Ce n'est pas toujours facile mais il faut faire des choix.
    Au début il n'y avait pas beaucoup de développeur Objective-C puis avec la sortie de l'iPhone ils en ont bien profité, pourtant Objective-C n'était pas nouveau et du coup beaucoup de monde a commencé a l'apprendre.
    Et puis quelqu'un de bon a de solide connaissance dans son domaine évidemment mais aussi dans d'autres domaines car il doit etre polyvalent, et non pas savoir voir plus loin que le bout de son nez.