Aug 10

Voilà un nouveau material ajouté à Sandy 3.0.
Les materials, anciennement nommés Skins dans les versions précédentes de Sandy, sont ceux qui définissent comment la forme 3D va être représentée à l’écran.

Je viens d’en ajouter un autre, le OutlineMaterial.

outline screen

Concrètement ce nouveau material permet d’afficher les contours de tout objet. Le but avoué pour moi n’est pas d’afficher seulement ce contours, mais de donner accès directement dans l’API aux voisins d’un polygone, et de pouvoir détecter la bordure qu’ils partagent. L’effet de outline est ainsi très simple à faire. Mais c’est surtout la base pour d’autres effets fort sympathiques que j’ai en tête (qui parle de cellshading?).

Bon l’affichage n’est pas encore parfait là. Couplé avec d’autre materials, le outline ressort assez mal. Je tâcherai de résoudre cela pour la version officielle.

En espérant que vous apprécierez cette nouvelle petite démo ;)

Jul 30

C’est une superbe nouvelle que je me permet de faire suivre avec ce billet.
Seraf, vient de nous proposer sur son blog le fruit de belles et longues nuits de travail. C’est aussi le résultat d’une brillante idée: faire générer des primitives pour les moteurs 3D Flash directemet depuis 3DS!

En fait, jusqu’à maintenant, il était coutûme d’exporter son modèle dans un format de type : .ASE, .3DS, .DAE etc.
Mais le chargement peut être long… trop long!

Du coup l’idée de Seraf est de directement générer le code source permmettant de créer une primitive, ce qui est propre à tout moteur 3D. On définit le nom de la classe à générer, on execute, on récupère le fichier, et on instancie notre objet comme tout autre ( var lShape:Shape3D = new MonChaton(); pour l’exemple de Seraf ;) )

Sandy bénéficie donc de ce plugin au combien interessant, et nous arrivons donc à une intégration de Sandy directement dans 3D studio max, ce qui simplifie fortement le processus entre modélisation de la scène et son affichage à l’écran.

Voici l’adresse où vous trouverez les expliquations de l’auteur, des captures d’écrans et des exemples : http://www.dreammania.net/showcase/as3-geom-class-exporter-for-3ds-max/

Je précise que Sandy proposait déja une fonctionnalité équivalente, à savoir de générer le code propre à Sandy pour un modèle donné. Ce code était donc à copier dans une classe spécifique, et permettait d’éviter le chargement récurrent du modèle. Seulement cela se faisait post modélisation. Ici le processus est bien plus simple puisque directement intégré à la source.

Merci pour cette belle contribution Jérôme!

Jul 27

MrDoob est un artiste assez intéréssant que je vous recommande d’aller voir.
Dernièrement il a proposé sur son blog un comparatif entre Away3D et Papervision3D, deux moteur 3D issuent de la même souche, à partir d’une petite démo qu’il avait préparé il y a un moment de ça.

Forcement j’ai voulu le porter sur Sandy 3.0 afin de savoir où j’en suis côté perfs. Et voilà le résultat (Peut être un peu long à charger):

sandy_mrdoob

Comme vous pourrez le constater, je ne suis pas tout à fait au niveau de Papervision (pour le moment), mais il faut savoir que l’avantage de Sandy ne se verra pas sur un seul gros objet que l’on fait tourner (ce qui représente 90% des démos faites avec PV3D… Seulement l’utilisation de la 3D n’est pas limitée à ça… enfin c’est une autre histoire :) )

De plus certains apprécieront la perspective que propose Sandy en comparaison à ses deux confrères. Sandy utilise une méthode de projection toute différente, ce qui peut donner un rendu visuel beaucoup agréable (et logique je dirais même). N’avez vous d’ailleurs jamais remarqué des problèmes de perspective avec les démos de Papervision?

Je ferais un billet prochainement sur la façon dont j’ai conçu Sandy, et mettre en avant ses qualités, car j’imagine qu’avec l’arrivée de tous ces moteurs 3D, il y a de quoi se demander: ” mais lequel utiliser pour mon projet ? :S”

Jul 24

Et voilà une première petite démo de ce que Sandy 3.0 (AS3 donc) permet de réaliser en matière d’immerssion dans un environnement 3D.

Dans cette petite démo technique, vous pouvez voir ce que permet de faire un vrai frustum clipping. Entendez par là, de voir ce qui est dans le champ de la camera uniquement. Tout ce qui est en dehors n’est pas calculé, et tout ce qui intersecte les plans du frustum est soigneusement découpé.
Vous comprendrez certainement mieux lorsque vous vous deplacerez vers le cube en rotation. Une fois suffisament proche, le clipping entre en action, et propose une vue très précise de ce que la camera doit voir (en l’occurence l’intérieur du cube, mappé d’une autre texture). Les murs et le sol sont eux aussi clippés, ce qui permet d’obtenir un affichage “parfait”.

En ce qui concerne la déformation des textures lorsqu’on se rapproche des murs, problème classique du à l’algorithme de texture que les moteurs flash utilisent (en tout cas Sandy, PV3D et Away3D), je propose là aussi de tester une petite fonctionnalité en appuyant sur la touche ESPACE de votre clavier (attention, c’est un peu capricieux!). Ce mode permet d’améliorer le mapping grace au clipping. Vous verrez à travers l’affichage du maillage, le travail réalisé en interne.

clipping demo 1

Utilisez votre clavier pour vous déplacer, et n’hésitez pas à me laisser un petit commentaire.

Jul 06

Voilà un très jolie composant que nous propose le jeune mais talentueux Ruben Swieringa : flex book.

flex book component

Lire la suite »