Le Web comme nous le savons, change et évolue constamment. Ce que nous pouvons toujours nous rappeler en tant que moyen simple et simple gagna une autre dimension il y a quelques années et il ne semble pas que cela va s'arrêter là-bas non plus. Pour un Générateur de site Web Quelle partie de la science-fiction Les effets visuels de films de science-fiction sont désormais possibles sur une tablette allongée sur votre canapé. Il existe des bâtiments couverts dans des installations interactives à grande échelle qui sont en réalité des fenêtres de Google Chrome Fullscreen.
Suivez les étapes ci-dessous pour savoir comment créer un effet de fusion réaliste avec trois.js.
Allez-y et attrapez la bibliothèque de trois.js et incluez-la sur votre site. Vous aurez besoin d'instancier le Webglrenderer, la scène et la perspectiveCamera. Après ceux-ci sont instanciés, vous devrez rendre la scène sur Demandaimationframe .
Ensuite, des lumières doivent être ajoutées à la scène 3D. Dans cet exemple, deux lumières seront utilisées: une lumière ambiante et une lumière ponctuelle. La lumière ambiante sert de couleur globale globale pour la scène, tandis que le voyant ponctuel émettra la lumière qui diminue avec la distance. Cela donnera à la scène un contraste de la scène.
var amientlight = nouveau trois.Ambienlight (0xcccccccc);
scène.add (Ambientlight);
var poinglight = nouveau trois.PrienGlight (0xFFFFFF, 1);
pointlight.position.set (10, 5, 0);
Maintenant que la scène a été mise en place, le modèle 3D doit être chargé. Le modèle peut être chargé à l'aide de tout format pris en charge (JSON, Obj, DAE, etc.). Vous trouverez ci-dessous un exemple de chargement d'un modèle DAE. Dans cet exemple, il est très important que le modèle ait suffisamment de polygones pour effectuer des modifications de sommet.
Le crâne de cerf qui est utilisé dans cet exemple a 3 500 polys. Si le nombre de poly est trop faible, les animations de sommet seront trop explicites et déformées.
charger = neuf trois.colladaloader ();
loader.load ('dae / Deer_skull / Deer_skull.dae', OnloadCompletHandler);
Les cartes de bump sont parfaites pour ajouter de la profondeur à vos textures à faible coût. Une fois que vous avez créé votre image de carte Bump, vous pouvez la mettre en œuvre en l'appliquant simplement sur le matériau comme ci-dessous. De plus, vous devrez régler l'échelle de votre carte de bump pour adapter l'échelle de votre modèle.
Matériau.bumpmap = 'img / Deer_skull / Deer-Bump.jpg';
matériau.bumpcale = .008;
Tout au long de son site, Johnny utilise une extension de jeu de Jerome Etienne pour trois.js qui facilite la tâche de faire des animations de sommet. Cette extension permet un accès facile à chaque sommet d'un modèle à la fréquence de trame, ce qui le rend simple pour manipuler les sommets en utilisant des formes d'onde.
Le Extension d'animation de sommet est disponible via Github d'Etienne. Nous allons plus loin dans la façon dont il est utilisé dans les prochaines étapes.
La fusion d'un morceau de géométrie implique quelques étapes globales. Tout d'abord, chaque point est continuellement poussé vers le bas. Lorsqu'un point atteint le sol, il est poussé vers l'extérieur en utilisant ce que nous appellerons un «vecteur poussoir».
Ensuite, nous allons donner les points qui se rassemblent sur le fond d'une épaisseur de sorte que la géométrie fondue n'est pas complètement plate. Pour ce faire, Johnny a porté du code de Skeel Lee's VFX Shader à Houdini et la modifie.
Vous trouverez ci-dessous un exemple d'utilisation de l'utilisation de l'animateur de sommet pour pousser en permanence la géométrie d'un modèle vers le sol.
Var vertexanimation = nouveau troisx.vertexanimation (géométrie, fonction (origine, position, delta, maintenant) {position.y - = meltamount * modelheight;}
Cela poussera les points sur le taux défini par le meltamount . N'oubliez pas d'appeler également «mise à jour» sur votre animation Vertex dans le cycle de rendu.
Lorsqu'un point a atteint le sol, il doit être poussé vers l'extérieur pour atteindre un effet de fusion. Le code ci-dessous consiste à déterminer quelle direction dans les axes X et Z à pousser le sommet de manière à ce que vous obteniez un déplacement uniforme. Le conditionnel garantit que seuls les points qui ont atteint les limites les plus bas du modèle (le sol) sont poussés vers l'extérieur.
Si (position.Y & lt; bbox.min.y.y) {
Var Centroid = Bbox.max.clone (). Ajouter (Bbox.min.clone ()). DIVIDECALAR (2.0);
pushvector = position.clone (). Sub (Centroid);
pushvector.y = 0; }
Le code ci-dessous utilise le bruit pour créer du caractère aléatoire dans le mouvement afin que la fusion se sent biologique. Les variables de bruit peuvent être modifiées pour obtenir l'effet souhaité. Le bruit est ensuite appliqué sur le vecteur de poussée avec meltamount et préparateur pour contrôler le taux et la taille de la piscine fondue. Ce vecteur extérieur est finalement calculé puis appliqué au sommet lui-même.
Var N = NOISEAMPLITUDEL * GENERATOR.GETVAL ((POSITION.X) * NUMEROWEFREQUENCE + NOUTOFTOFFSET);
Var OutwardVector = PushVector.Multiphyscalar ((((Meltamount * Spectamount) + N) * Outwardpeed);
position.Ajouter (OutwardVector);
Le code expliqué jusqu'à présent atteindra l'effet de la fusion, mais deux choses ne sont pas fausses avec elle. Premièrement, la piscine se sentira bien plate, car tous les points ont fondu à la même position Y. Deuxièmement, puisqu'ils partagent tous les mêmes y, trop de points seront empilés à la même hauteur, ce qui peut provoquer des vaccinants. Pour éviter cela, une épaisseur est appliquée au taux de fusion:
Position.Y + = Meltamount * Poolthickness;
Avec le code ci-dessus, tout modèle avec suffisamment de polygones peut être fondu. Téléchargez un fichier zip out le code ici et échangez le modèle avec tout ce que vous voulez. S'amuser!
Cet article est apparu à l'origine dans Concepteur web numéro 265. Achetez-le ici .
Articles Liés:
[DIX] [DIX] [DIX] [dix] (Crédit d'image: Brendan McCaffrey (concept original de Clara McCaffrey)) [DIX]..
[DIX] [DIX] [DIX] [dix] (Crédit d'Images: Meg Buick) [DIX] PrintMaking Lino Est un ..
[DIX] [DIX] [DIX] [dix] (Crédit d'image: Elementer / Joseph Ford) [DIX] Les Constru..
[DIX] [DIX] [DIX] [dix] [Image: Enfant Moyen] [DIX] Les Liens de Renversement Sont U..
[dix] [dix] [dix] [dix] Lorsque vous travaillez sur des projets tels que des conceptions d'applicatio..
[dix] [dix] [dix] [dix] J'ai commencé à utiliser le cinéma 4D quelques mois après avoir obtenu mo..
[dix] [dix] [dix] [dix] L'utilisation de lampes à dôme a été l'une des plus grandes avancées dan..
[dix] [dix] [dix] [dix] L'utilisation des lumières de dôme a été l'une des plus grandes avancées..