Le moteur de jeux vidéo WebGL open source PlayCanvas atteint la version 1.0
Avec tous les outils nécessaires pour créer une application graphique 3D
Le 2018-04-27 07:38:23, par LittleWhite, Responsable 2D/3D/Jeux
Ce projet de moteur de jeux vidéo reposant sur WebGL a démarré seulement quelques mois après la disponibilité de la spécification de la bibliothèque graphique pour le Web, en 2011. En 2014, PlayCanvas passe open source et adopte la licence MIT.
Aujourd'hui, l'équipe décide d'estampiller le moteur avec la version 1.0.0. De par leur grande cadence de publication, la version 1.0.0 n'est jamais réellement arrivée, car :
Toutefois, maintenant, PlayCanvas est très stable et mature. Le moteur est déjà utilisé dans plusieurs projets en production et il est donc normal de voir une 1.0.0. Le site semver.org détaille quand passer à la version 1.0.0 :
Bref, le moteur de jeux vidéo PlayCanvas fournit tous les outils nécessaires pour faire une application graphique 3D dans le navigateur :
En plus du moteur open source, vous pouvez avoir accès à un éditeur complet permettant la collaboration en équipe. Le modèle économique autour de PlayCanvas s'établit comme suit :
Pour finir, voici une démonstration technique réalisée avec PlayCanvas :
Votre opinion
Avez-vous eu l'occasion d'utiliser ou de tester PlayCanvas ? Quelles en sont vos impressions ?
Source
Annonce de la version 1.0.0
Aujourd'hui, l'équipe décide d'estampiller le moteur avec la version 1.0.0. De par leur grande cadence de publication, la version 1.0.0 n'est jamais réellement arrivée, car :
- une version 1.0.0 est synonyme d'une version énorme ;
- la compatibilité n'a jamais été cassée, et ce, même avec des projets datant de 2011, soit le début du projet.
Toutefois, maintenant, PlayCanvas est très stable et mature. Le moteur est déjà utilisé dans plusieurs projets en production et il est donc normal de voir une 1.0.0. Le site semver.org détaille quand passer à la version 1.0.0 :
Comment savoir quand publier la version 1.0.0 ?
Si votre logiciel est utilisé en environnement de production ou que vous avez une API stable de laquelle des utilisateurs ont commencé à dépendre, vous devriez probablement déjà être en version 1.0.0. Et si vous vous faites déjà du souci pour la rétrocompatibilité, vous devriez également avoir dépassé la 1.0.0.
Si votre logiciel est utilisé en environnement de production ou que vous avez une API stable de laquelle des utilisateurs ont commencé à dépendre, vous devriez probablement déjà être en version 1.0.0. Et si vous vous faites déjà du souci pour la rétrocompatibilité, vous devriez également avoir dépassé la 1.0.0.
Bref, le moteur de jeux vidéo PlayCanvas fournit tous les outils nécessaires pour faire une application graphique 3D dans le navigateur :
- graphismes : PBR, réalité virtuelle, chargement de modèle, illumination par pixel, ombrage (shadow mapping), effets ;
- physique : simulation des corps rigides, lancer de rayon, joints, volumes déclencheurs, véhicules ;
- animation : images clés, fondu de squelette, skinning ;
- moteur audio : sources audio 2D et 3D ;
- périphériques d'entrées : support du clavier, souris, touché et manette de jeux ;
- système entité composant : gestion haut niveau des éléments du jeu.
En plus du moteur open source, vous pouvez avoir accès à un éditeur complet permettant la collaboration en équipe. Le modèle économique autour de PlayCanvas s'établit comme suit :
Pour finir, voici une démonstration technique réalisée avec PlayCanvas :
Votre opinion
Source
Annonce de la version 1.0.0
-
hotcryxMembre extrêmement actif"On a mieux comme moteur (libre et open source)"le 27/04/2018 à 13:21
-
Dabou MasterMembre expertJe ne connais pas Panda3D mais vu le rendu d'Armory3D m'est avis que si on fout ça sur un web browser, il va falloir sacrément sacrifier le visuel pour avoir un truc qui tourne.
Ce ne sont pas les moteurs qui sont particulièrement limités, c'est le support final qui ne peut actuellement pas atteindre les standards d'un rendu classique (et puis armory3D il est peut-être joli mais il est absolument pas prêt pour passer en prod hein donc bon ...).le 27/04/2018 à 21:24 -
tltMembre avertiMais comment se passer de l’éditeur en ligne?le 27/04/2018 à 13:45
-
Dabou MasterMembre expertHum, t'es peut-être sympa de filer le code mais comme je ne suis pas franchement doué pour ça voire franchement pas doué (oui je suis graphiste, pas dev) et comme je n'ai trouvé aucune ligne dans le lien initial qui ressemblait à ce que tu m'as passé j'ai juste galéré pour obtenir des réponses d'un moteur pas content qui comprend pas ce que je lui demande. Jusque-là c'est ma faute, je ne le nierai pas.
Par contre, le rendu du lien initial ET le rendu de l'exemple soit-disant plus complet c'est clairement un retard graphique absolument aberrant.
Du coup fluide, probablement, mais quand c'est aussi beau que Quake 2 je suppose qu'on pourrait difficilement justifier que ça lag non ?
Ni normal map ni rien du tout qui puisse un tant soit peu améliorer le visuel et une géométrie aussi minimale que possible, comparé aux vidéos de PlayCanvas on est extrêmement loin d'obtenir le même résultat.
Si tu ne vois pas la différence je pourrais commencer à me poser des questions ... Je sais bien que tout le monde n'est pas forcément très sensible à tout ce qui est visuel mais tout de même ...le 28/04/2018 à 23:15 -
datalandiaBot Troll en alpha-testben passe a panda3D, j'ai déja testé, panda3d tourne tres tres bien sur un webbrowser
http://rdb.name/panda3d-webgl/editor.html
evidement, plus tu voudra faire du photo realisme, plus faudra charger des textures lourde donc plus cela prendra du temps a charger le jeu (je ne t'apprend rien en disans cela)
maios on peut faire des scenes tres charge de maniere, fluide.
dans le lien que je t'ai donné, essaye de charger 500 personnage dans une boucle for, tu verra sa tourne bien
comme je suis sympa, je te donne le code :
Code : 1
2
3
4
5
6
7
8
9
10
11
12
13dancer = Actor.Actor("chorus-line-dancer.egg", {"kick":"kick.egg"}) dancer.loop("kick") dancer.setPos(0,0,0) chorusline = NodePath('chorusline') for i in range(50): placeholder = chorusline.attachNewNode("Dancer-Placeholder") placeholder.setPos(i*5,0,0) dancer.instanceTo(placeholder) for i in range(3): placeholder = render.attachNewNode("Line-Placeholder") placeholder.setPos(0,i*10,0) chorusline.instanceTo(placeholder)
un autre exemple un peu plus complet :
http://rdb.name/panda3d-webgl/simple_fps.htmlle 28/04/2018 à 8:55 -
datalandiaBot Troll en alpha-testsi, tu peut regarder du coté de Panda3D ou de Armory3D, les 2 permette de convertir le programme en webgl et donc de le faire tourner dans un web browser.le 27/04/2018 à 21:19
-
datalandiaBot Troll en alpha-testbof, les vidéos de démo n’excite pas la rétine, on faisait aussi bien il y'a 10ans
On a mieux comme moteur (libre et open source)le 27/04/2018 à 12:53