L'apprentissage et WebGL three.js
Je suis nouveau et commencer à apprendre sur images de synthèse 3D dans les navigateurs web. Je suis intéressé à faire des jeux en 3D dans un navigateur. Pour quelqu'un qui a appris à la fois WebGL et three.js...
-
Est la connaissance de WebGL nécessaires à l'utilisation de three.js?
-
Quels sont les avantages de l'utilisation de three.js vs WebGL?
- Utilisation Three.js. Période. C'est exactement ce que West a dit ci-dessous, bien que simple en théorie, l'écriture WebGL à partir de zéro est une douleur. Il y a tellement de choses que presque tous les WebGL application a besoin / envie de faire. Ces choses peuvent être abstrait, loin de vous. Aussi, Three.js a mûri dans une bibliothèque incroyable. Si vous cochez la case Google trends ou le nombre de Questions ici, vous verrez qu'il a tiré en avant de la concurrence.
- En fait, la réponse à cette question n'ont pas été principalement basé sur des opinions, mais sur des faits, des références, et des compétences spécifiques. Cela a été un précieux du post there.js de la communauté, et une partie (2) de la question est tout à fait acceptable. Comment voulez-vous recommander de reformulation de sorte qu'il est acceptable pour vous -- qui est, sans changer le sens/but de la question?
- Je n'ai pas entendu quoi que ce soit mais les opinions dans les réponses données, sans parler des "avantages et les inconvénients à l'utilisation de [bibliothèque]" est un peu trop large pour le Débordement de la Pile.
- Votre réponse est elle-même une opinion, et je suis en total désaccord avec elle. Comment voulez-vous recommander de modifier le texte du post, donc il est acceptable pour vous?
- Je ne suis pas celui que vous devez convaincre. Vraiment, vous avez besoin de la communauté d'accord avec vous. Votre meilleur pari est d'aller sur Meta et d'écrire une question à poser quelques choses 1) Pourquoi cette question n'est pas un bon ajustement pour un Débordement de Pile 2) Ce qui peut être fait pour en faire un bon ajustement pour un Débordement de Pile ou 3) Si vous croyez que c'est un bon ajustement pour un Débordement de Pile, faites votre cas pourquoi c'est un bon ajustement.
- Vous unilatéralement fermé. Je vous le demande. En tant que modérateur, vous avez la responsabilité de répondre à ma question. Je vais donc suivre tes conseils et faire les changements que vous proposez.
- La raison pour laquelle je ne suis pas celui que vous avez besoin de les convaincre, c'est que sans se débarrasser des deux questions posées ("Qui me recommandez-vous de commencer votre apprentissage?", et "quels Sont les avantages ou des inconvénients soit"?) cette question n'est pas et ne sera pas un bon ajustement pour un Débordement de Pile. C'est pourquoi je vous suggère de le prendre à la communauté via Meta; peut-être qu'ils verront un moyen de faire un bon ajustement, ou peut-être qu'ils vont tout à fait en désaccord avec la fermeture entièrement et de ré-ouvrir en tant que est.
- Peut-être que la question pourrait être reformulée pour demander comment l'apprentissage de WebGL est bénéfique pour l'aide Three.js. La réponse pouvait être étayée par des faits, des références, et de l'expertise.
Vous devez vous connecter pour publier un commentaire.
Puisque vous avez de grandes ambitions, vous devez investir du temps pour apprendre les bases. Il ne s'agit pas de ce que vous apprenez d'abord, vous pouvez en apprendre en même temps, si vous le souhaitez. (C'est ce que j'ai fait.)
Cela signifie que vous devez comprendre:
Three.js. Three.js fait un excellent travail d'abstraction de nombreux détails de WebGL, donc personnellement, je vous suggère de l'aide Three.js pour votre projet. Mais rappelez-vous, Three.js est dans alpha, et il est en train de changer fréquemment, de sorte que vous devez être prêt pour cela. La plupart des gens apprennent Three.js en étudiant les exemples. Éviter des livres obsolètes et des tutoriels, et d'éviter des exemples sur le net que lien vers les anciennes versions de la bibliothèque.
WebGL. Si vous utilisez Three.js vous n'avez pas besoin de savoir programmer en WebGL, vous avez juste besoin de comprendre le WebGL concepts. Cela signifie, que vous devez simplement être en mesure de lire à quelqu'un d'autre WebGL code et de comprendre ce que vous lisez. C'est beaucoup plus facile que prévu pour écrire un WebGL programme vous-même à partir de zéro. Vous pouvez apprendre le WebGL concepts suffisamment bien à l'aide de l'un quelconque des tutoriels sur le net, comme le débutant tutoriel WebGLFundamentals.org et L'Apprentissage De WebGL.
Mathématiques. Encore une fois, vous devez au moins comprendre les concepts. Trois bons livres:
3D Mathématiques Apprêt pour le Graphisme et le Développement de jeux par Fletcher Dunn et Ian Parberry
Essentiel de Mathématiques pour les Jeux et les Applications Interactives: Un Guide du Programmeur par James M. Van Verth et Lars M. l'Évêque
Mathématiques pour le Jeu en 3D de la Programmation et de l'Informatique Graphique par Eric Lengyel
J'espère que cela est utile pour vous. Bonne chance.
Il y a un très bon cours en ligne Interactif en 3D les Graphismes à https://www.udacity.com/course/cs291 sur THREE.js. Ce cours comprend des affectations également d'obtenir les mains sur l'expérience.
Il couvre tous les concepts de base de Three.js l'infographie et de la
Mes pensées personnelles sont les suivantes:
Quelle que soit la direction que vous choisissez d'aller, je vous suggère d'apprendre le polonais, sur votre algèbre linéaire compétences. Puis aller de l'avant et d'apprendre ou de parfaire votre compréhension MVP dimensions (Vue du Modèle de Projection). Three.JS possible de faire abstraction de beaucoup de cette suite, mais je pense que c'est la clé que l'on comprend ces concepts bien avant d'obtenir sérieux au sujet de tout développement 3D.
J'ai écrit un article d'introduction sur MVP, lorsque j'ai commencé l'apprentissage de la programmation 3D avec OpenGL. J'ai réalisé que jusqu'à ce que j'ai été en mesure d'expliquer ce que ces matrices de transformation sont, et comment ils se rapportent aux différentes dimensions/espaces, je n'ai vraiment pas savoir 3D, la programmation à tous, même si j'ai pu rendre les objets à l'écran.
Depuis votre but est de créer des jeux, je pense que vous allez tirer profit de l'apprentissage de la crue de WebGL tout d'abord, même si vous vous retrouvez à l'aide d'un framework comme Three.js pour vous aider à écrire votre code plus tard.
http://webglfundamentals.org/webgl/lessons/webgl-2d-vs-3d-library.html
Cet article décrit les différences fondamentales entre les WebGL & 3d des bibliothèques comme three.js.
Qui fait mon choix entre WebGL ou Three.js un no-brainer.
Je suis venu à partir d'un Unity3D arrière-plan ainsi que Papervision3D retour dans la journée, j'ai donc eu une bonne compréhension de la façon de traiter avec l'espace 3D. Three.js est le chemin à parcourir pour votre premier saut dans l'apprentissage de la façon de traiter avec WebGL projets. L'api est très bon, il est très puissant et si vous veniez d'une autre technologie 3D, vous serez opérationnel en très peu de temps.
J'ai passé beaucoup de temps avec Threejs.org's exemples - il y a une tonne d'eux et ils sont très bons pour vous obtenir hors et en cours d'exécution dans la bonne direction. Les docs sont assez décent, surtout si vous êtes en les comparant à d'autres webGL 3D api est là-bas.
Vous pourriez également envisager d'obtenir la version gratuite de Unity3D et la libre collada (était libre quand je l'ai eu) exportateur de leur app store (Window>App store). Je l'ai trouvé assez facile à l'installation de ma scène dans l'Unité et de l'exporter en Collada pour une utilisation avec Three.js.
Aussi, j'ai posté cette classe que j'utilise avec Three.js appelle le néo ( http://rockonflash.com/webGL/three/neo.js ). Il suffit de l'ajouter à votre projet, puis d'appeler le Néo.JackIntoThree() et il va ajouter les méthodes/propriétés de Object3D pour les utiliser dans votre projet. Des choses comme DrawAllAxis() sont d'une aide inestimable lors du débogage de votre scène etc.
Mains vers le bas, Three.js est un excellent moyen d'aller - il est assez flexible pour vous permettre d'écrire vos propres shaders/objets etc, et il est assez puissant, tout droit sorti de la boîte pour vous aider à atteindre vos objectifs.
J'ai ramassé three.js mais aussi sauté dans GLSL et beaucoup expérimenté avec three.js shaderMaterial. Une façon d'aller à ce sujet - three.js encore résumés beaucoup de choses pour vous, mais il vous donne aussi une très propres, le faible niveau d'accès à toutes les prestations (projection, animation) capacités.
De cette façon, vous pouvez suivre même quelque chose comme ce génial open-gl tutoriel. Vous n'avez pas à configurer les matrices, tableaux typés, parce que déjà trois sets pour vous, la mise à jour lorsque nécessaire. Le shader, vous pouvez écrire à partir de zéro - un simple rendu de couleur serait de deux lignes de GLSL. Il y a aussi un post-traitement plug-in pour three.js qui met en place tous les tampons, plein écran, les quads et les choses que vous devez faire les effets, mais le shader peut être très simple, pour commencer.
Depuis shaders programmables sont l'essence même de graphismes 3d, j'espère que ma réponse n'est pas à côté de l'essentiel 🙂 Tôt ou tard, quelqu'un qui fait cela doit au moins comprendre ce qui se passe sous le capot, c'est la nature de la bête. Aussi, la compréhension de la 4ème dimension dans l'espace homogène est probablement un rôle important en tant que bien.
Ce livre est bon pour WebGL.
Je viens d'apprendre un peu les deux et j'ai l'impression que comprendre les bases de webgl, je pense qu'une introduction sur webgl est suffisant et puis sauter dans trois js. Il sera assez facile une fois que vous comprenez les concepts sous-jacents de WebGL.
Liens utiles:
http://dev.opera.com/articles/view/an-introduction-to-webgl/
http://www.johannes-raida.de/tutorials.htm