

Three.js Essentials Review: Learning the Essentials :) - The first few chapters explain the overview of setting up your environment and working on a Scene. Three.js is very powerful and can render output in WebGL, Canvas, or SVG format. Three.js is JavaScript powered you can be up and running in no time once you have included the Three.js library you can get from Github.com Three.js Essentials Screen For those not familiar with 3D a Scene, this is where all the objects you setup will be rendered to and a Camera Object will be used to represent where the viewer is in 3D space. The book goes over many 3D rendering concepts such as lighting,materials,and particle effects. Anyone familiar with these concepts from game development in 3D such as Unreal or Unity should have no trouble picking the concepts outlined in this book. Three.js Screen 3 This eBook is a excellent reference on the Three.js library for anyone wanting to move from flash to html animation or work on browser enabled games. Review: Good book if you're just curious to see some Three.js code, but it doesn't offer much more - Three.js Essentials provides a starting point for anyone curious about how to leverage the WebGL standard using the Three.js JavaScript library. The book consists of seven detailed examples with explanations of how they work. Unfortunately, these explanations are light on detail, making the treatment of this subject somewhat superficial. Itโs not necessarily bad to be superficial, however. Clearly, one advantage is that you quickly get introduced to some of the details so that you can get a taste for the level of difficulty involved in creating a moderately functional Three.js application. The bad news is that too many details get left out, leaving you wondering whatโs hidden behind the curtain. For example, on page 79 the author states, โNote that we set the sortParticles property to true. You should always do this whenever you change the vertices (or the position of the vertices) of the system to make sure that they are rendered correctly and donโt result in weird overlapping artifacts.โ Thereโs no other explanation. The author is essentially saying, โJust do this, or youโll get weird results.โ Unfortunately the book has too many of these kinds of statements, and one has to struggle to remember the rules without understanding the context or the underlying reasons. Despite its terseness, the book manages to present some examples that are nothing less than awesome. For example, the author shows how you can tie graphic attributes to audio sound, allowing you to enjoy listening to Star Wars theme music while watching a fabric of โParticlesโ bounce in sync with the music. Additionally, the final chapter walks you through the steps of exporting graphics from the Blender 3D modeling software package and processing them in Three.js. This is really useful if you are in need of a good 3D graphics development environment for your Three.js models. Overall, the book is a worthwhile read if youโre curious as to what you can do with Three.js and want some good examples to help understand the associated level of difficulty in developing such applications. It is by no means thorough enough to serve as a programmerโs reference, however. It doesnโt even present a tutorial on 3D spatial coordinates, which would serve as a good first step for a serious Three.js programmer. Nor does the book comment on use cases for Three.js, which would help you decide whether or not to use it for your next project. It is because of this lack of sufficient detail and practical context that I cannot give the book five stars.
| Best Sellers Rank | #9,313,570 in Books ( See Top 100 in Books ) #338 in Internet Web Browsers #2,017 in JavaScript Programming (Books) #5,364 in Graphics & Multimedia Programming |
| Customer Reviews | 3.8 out of 5 stars 10 Reviews |
J**.
Learning the Essentials :)
The first few chapters explain the overview of setting up your environment and working on a Scene. Three.js is very powerful and can render output in WebGL, Canvas, or SVG format. Three.js is JavaScript powered you can be up and running in no time once you have included the Three.js library you can get from Github.com Three.js Essentials Screen For those not familiar with 3D a Scene, this is where all the objects you setup will be rendered to and a Camera Object will be used to represent where the viewer is in 3D space. The book goes over many 3D rendering concepts such as lighting,materials,and particle effects. Anyone familiar with these concepts from game development in 3D such as Unreal or Unity should have no trouble picking the concepts outlined in this book. Three.js Screen 3 This eBook is a excellent reference on the Three.js library for anyone wanting to move from flash to html animation or work on browser enabled games.
D**N
Good book if you're just curious to see some Three.js code, but it doesn't offer much more
Three.js Essentials provides a starting point for anyone curious about how to leverage the WebGL standard using the Three.js JavaScript library. The book consists of seven detailed examples with explanations of how they work. Unfortunately, these explanations are light on detail, making the treatment of this subject somewhat superficial. Itโs not necessarily bad to be superficial, however. Clearly, one advantage is that you quickly get introduced to some of the details so that you can get a taste for the level of difficulty involved in creating a moderately functional Three.js application. The bad news is that too many details get left out, leaving you wondering whatโs hidden behind the curtain. For example, on page 79 the author states, โNote that we set the sortParticles property to true. You should always do this whenever you change the vertices (or the position of the vertices) of the system to make sure that they are rendered correctly and donโt result in weird overlapping artifacts.โ Thereโs no other explanation. The author is essentially saying, โJust do this, or youโll get weird results.โ Unfortunately the book has too many of these kinds of statements, and one has to struggle to remember the rules without understanding the context or the underlying reasons. Despite its terseness, the book manages to present some examples that are nothing less than awesome. For example, the author shows how you can tie graphic attributes to audio sound, allowing you to enjoy listening to Star Wars theme music while watching a fabric of โParticlesโ bounce in sync with the music. Additionally, the final chapter walks you through the steps of exporting graphics from the Blender 3D modeling software package and processing them in Three.js. This is really useful if you are in need of a good 3D graphics development environment for your Three.js models. Overall, the book is a worthwhile read if youโre curious as to what you can do with Three.js and want some good examples to help understand the associated level of difficulty in developing such applications. It is by no means thorough enough to serve as a programmerโs reference, however. It doesnโt even present a tutorial on 3D spatial coordinates, which would serve as a good first step for a serious Three.js programmer. Nor does the book comment on use cases for Three.js, which would help you decide whether or not to use it for your next project. It is because of this lack of sufficient detail and practical context that I cannot give the book five stars.
M**J
Great introduction to web 3D graphics with Three.js
Three.js Essentials by Jos Dirksen (published by PacktPub) is a great introduction to using Three.js library that enables you to render interactive 3D graphics in modern web browsers. Rendering 3D in browsers without plugins become available thanks to WebGL API that has been implemented in all major browsers on desktop computers as well as on mobile ones. Using the API is complicated so the best way to get it running is by using library that takes care of browser differences and gives you unified methods for dealing with common tasks. The best choice is the open source library Three.js and book by Jos Dirkson is the best introduction for this. Author walks through all essential steps needed to build a 3D scene in a browser. Every chapter of the book presented in the form of tutorial with accompanying code examples teaches basic techniques and shows direction for further exploration. First chapters shows how to establish basic 3D scenes with lighting and controls, followed by creating models and adding textures, normal maps, specular maps and more. Next you will learn how to create geometries programmaticaly with help of 3rd party tools like trees or noise generators. On top of this author teaches you how to use Three.js to visualize Audio Data with particle system. Book covers also CSS3DRenderer that allows building 3D views with CSS3 3D Transformations instead of WebGL Renderer. Last chapter describes basic workflow for exporting models and animations from Blender - 3D modelling open source tool. Blender combined with Three.js enables you to bring 3D models and animations to a browser very quickly. For example this is a great way for bringing 3D scanned models into your website. Step by step tutorials from the book help you understanding how Three.js works and quickly build skills needed to use it on your own projects. Only drawback I found while going through the book is that you can find missed steps while going through more advanced tasks, so you have to dive into JavaScript examples attached to the book to find differences between consecutive lessons. On the other hand if you have basic understanding of JavaScript you will find these in no time and this excercise will help you better understand Three.js In my opinion this book is a great start for everyone interested into bringing 3D to web. I would recommend this book for webdevelopers that want to expand their skill set, 3D deisgners that would like to present their models directly on the web and gamedevelopers researching replacement for plugin based (Flash, Unity) 3D rendering in browsers. Think about the possibilites for combinig web 3D with upcoming technologies like Google Cardboard or Samsung VR that will possibly bring 3D viewing experience to casual users.
P**S
difficult to follow if you don't have any background with Three.js
Three.js Essentials (PACKT Publishing, http://www.packtpub.com/three-js-essentials/book), by Jos Dirksen, proved to be one of the tougher reads I've done in a while. When I agreed to review it, I believe PACKT was aware I had no experience nor knowledge of either Three.js or WebGL, or 3-D modelling period. (As a disclaimer, I received a free copy of this book in exchange for this review). I tackled this book from the perspective of someone with years of web development experience, solid knowledge of JavaScript, but having nothing in my background related to WebGL. And that's what my review will reflect. In the book's preface, in a section titled "Who this book is for", it states: "This book is for developers who already know JavaScript and want to get *acquainted* [empasis added] with Three.js. ... All you need to know is some basic JavaScript and HTML." "Acquainted" is an interesting choice of words and can be interpreted in a number of ways, I suppose. If what was intended was you'll come out of reading this book with a basic understanding of what Three.js is about and capable of, then I suppose this book succeeds at that. If it means that a user, such as myself, will come out of this feeling comfortable I could tackle my own projects with it, I'm much less certain that's the case. The book is highly dependent on supplementary code samples you can either download from the Packt website or retrieve from GitHub. The book uses this code by highlighting parts of it to explain how to build a number of projects that make up the individual chapters. Where I had issues was the book did not present how to entirely build the projects, making it essential for you to often look between the code examples and what was being described in the book. To learn Three.js from this book I think you'd have to be extremely driven and willing to do a lot of digging beyond what is presented in the book, diving into the code examples (and not necessarily with guidance from the book), and other resources such as the online documentation. At that point, though, you're not really learning from the book. The impression I do get from reading the book is if you have some background in Three.js, or similar library, then you may find the book useful and find some of the techniques explained here to provide some "Oh cool! There's something neat I can do!" moments. But if you are like me, an experienced web developer with no WebGL knowledge, I recommend you look elsewhere.
E**A
Good guide to learn the essentials of Three.js
The book is an introduction or a wide 'getting starting' guide to several features of Three.js Javascript library. Three.js is a high level WebGL wrapper, that tries to make easier to work with WebGL on the browser, so you will be able to render 2D/3D objects using Javascript/HTML5. The book is aimed to people who want to learn a bit about Three.js. The author says you must know Javascript but not WebGL, maths or 3D rendering. I agree with him about you don't need to know WebGL or 3D rendering, but you should have knowledge about geometry at least, if not, some of the concepts of the book will be hard to understand. It's obvious to me that if you're interested in a 3D library means that you know a bit of geometry (x-y-z axies, vectors, matrix algebra, planes, etc.). If you don't you can follow the book and the samples, but as I've already said, it'll be harder. "Three.js: Essentials" is like a big tutorial where you will find lot of code examples of everything explained along the book. The code is very easy to read and modify, so you'll be able to do experiments and learn how Three.js works. The book has seven chapters where you'll learn how to draw 3D objects, animate them, do collision detection, apply light, materials and textures, make 3D random mazes, control objects with mouse or keyboard, generate particle systems, combine HTML5 with Three.js or learning how to use Blender along Three.js. If you want to start working with 3D in the browser this book is really helpful, but you'll need to combine it with a complete reference of Three.js, because as the author says, there are a lot of features that are not covered and will give you lots of possibilities to do interesting things. * The good Really helpful introduction to Three.js. Lot of easy to follow code samples. Not too long and easy to read. * The bad Several complex concepts (mesh, textures, materials, matrix algebra, etc.) can be hard to understand for people new to 3D. * Conclusion If you want to learn about Three.js and already know a bit about 3D buy this book because it teachs a lot of concepts of the library and is a cheap book.
M**R
Introduction to Three.js and 3D rendering in a browser
I was asked to review this book by Packt Publishing and I found it to be very informative. I haven't done any 3D rendering in a browser and it was a good start to learn how it is done. I found the examples to be practical and useful tasks that could easily be reused on a website in the future. The speaking style of the book is right on the level, he doesn't expect you to have foreknowledge of 3D rendering and goes into details about the components of a 3D object. The book goes into details about how to accomplish specific things but it doesn't overly complicate things. I think the most useful part of the book is how he explains the steps, shows pictures of each asset and the accompanying code then shows you an image of the expected outcome. I'm sure there is much more that can be learned about Three.js but this will definitely get me started and I hope to use these techniques soon.
R**O
Models 3D over HTML5
It is an easy-to-read book, you will from the more simple to the more complex. It covers the issues necessary to use 3D models in a simple and clear manner from HTML5. I recommend it!
Trustpilot
1 month ago
2 weeks ago