p.s.
В последние годы веб-разработка изменялась много. JavaScript- библиотеки стали реально зрелыми, браузеры стали более мощными, и спецификация языка HTML5 хорошо поддерживается в большинстве систем. В настоящее время, тем не менее, сеть главным образом фокусируется на двухмерной графике(2D-графике), чтобы представлять информацию, создавать игры и строить веб-сайты. Однако, есть также отличная и стандартизованная технология создания трехмерной графики(3D-графики). Ее называют библиотекой трехмерной низкоуровневой графики WebGL; она предоставляет программный API-интерфейс для разработки аппаратно ускоренной трехмерной графики(3D-графику).
Однако программный WebGL API-интерфейс для разработки не очень прост в использовании. Чтобы работать с программным WebGL API-интерфейсом для разработки требуется программировать на языке программирования C, и у вас действительно должно быть всестороннее знание внутренней работы движка WebGL. К счастью, есть много доступных JavaScript-библиотек трехмерной высокоуровневой графики, скрывающих сложность трехмерной низкоуровневой графики в библиотеке WebGL и предоставляющий вам простой в использовании программный WebGL API- интерфейс для разработки, чтобы создать 3D-приложения и визуализации. В настоящее время лучшей из этих JavaScript-библиотек трехмерной высокоуровневой графики является библиотека Three.js, которая объяснена в этой книге.
JavaScript-библиотека трехмерной высокоуровневой графики Three.js предоставляют простой в использовании программный API-интерфейс для разработки и целый диапазон продвинутых материалов и форм, которые можно использовать, чтобы получить доступ к трехмерной низкоуровневой графики в библиотеке WebGL. В этой книге мы рассмотрим наиболее существенные особенности библиотеки Three.js. Мы делаем это, создавая некоторую продвинутую визуализацию, которая покрывает различные части программного API-интерфейса для разработки JavaScript-библиотеки трехмерной высокоуровневой графики Three.js.
Эта книга для разработчиков, которые уже знают язык программирования JavaScript и хотят познакомиться с JavaScript- библиотекой трехмерной высокоуровневой графики Three.js. Через примеры в этой книге вы быстро изучите наиболее значимые части библиотеки Three.js. Никакая специальная математика или навыки работы с трехмерной низкоуровневой графикой в библиотеке WebGL не требуются. Все, что вы должны иметь, это некоторые базовые знания языков JavaScript и HTML. Примеры могут быть свободно загружены и не требуются никакие специальные инструменты, или продукты, чтобы работать и экспериментировать с примерами. Если вы захотите начать с создания красивой 3D-визуализации, то эта книга даст вам навыки, чтобы сделать это.
Глава 1 «Настройка и выполнение кода с использованием библиотеки Three.js» объясняет, как получить исходный код и установить среду окружения, чтобы начать разработку кода с использованием JavaScript- библиотеки трехмерной высокоуровневой графики Three.js. В конце этой главы у вас будет простая Three.js-сцена, которую далее мы расширим и подробно рассмотрим в следующих главах.
Глава 2 «Создание 3D-глобуса Земли и визуализация открытых данных» показывает, как можно создать вращающийся 3D-глобус Земли(3D World Globe). Рассматривая код этого примера, вы изучите, как использовать материалы, как установить визуальные элементы управления(контролы) камерой, и как улучшить объект, используя различные доступные текстуры. В качестве награды мы также объясним, как можете в качестве текстуры использовать HTML5-холст canvas.
Глава 3 «Навигация в лабиринте, сгенерированном в произвольном порядке» объясняет, как можно создать случайный 3D-лабиринт, через который можете переместиться по кубу. В этой главе мы покажем вам, как использовать анимации, источники света, и свойства позиции и поворота.
Глава 4 «Визуализация аудиоданных с помощью системы частиц» использует программный HTML5 Web Audio API-интерфейс для разработки веб-аудио в сочетании с библиотекой Three.js, чтобы визуализировать аудио. Эта глава показывает то, что можно сделать с системой частиц из библиотеки Three.js. Это показано посредством визуализации формы волны, амплитуды и 3D-гистограммы.
Глава 5 «Программируемые геометрии» показывает альтернативный способ создания 3D-геометрии. Библиотека Three.js предлагает много стандартных геометрий, готовых сразу к использованию, но создание с нуля геометрии также очень просто. В этой главе мы покажем вам различные свойства, которые должны сконфигурировать, чтобы корректно установить ваши собственные геометрии. Мы делаем это, создавая программируемый ландшафт и программируемое дерево.
Глава 6 «Комбинирование HTML и Three.js с помощью рендера CSS3DRenderer» объясняет, как использовать CSS3D-рендер CSS3DRenderer, чтобы применить 3D-преобразование к HTML-элементам. Мы покажем несколько примеров, объясняющих, что можно сделать с помощью CSS3D-рендера CSS3DRenderer и как использовать его, чтобы анимировать любой HTML-элемент.
Глава 7 «Загрузка и анимация внешних моделей с использованием программы редактор 3D-графики Blender» показывает, как можно загрузить и вывести на экран модели, создаваемые внешними программами 3D-моделирования. Эта глава также показывает технологический процесс(поток операций) на базе программы 3D-графики Blender и объясняет, как можно смоделировать свои геометрии в программе 3D-графики Blender и затем показать и анимировать эти модели в коде с использованием библиотеки Three.js.
У JavaScript-библиотеки трехмерной высокоуровневой графики Three.js нет специальных требований. Все, что требуется для этой книги, это - текстовый редактор и современный веб-браузер. Некоторые примеры, выполняются лучше с локальным веб-браузером или, требуют, чтобы были отключены некоторые сеансы безопасности. Шаги, которые вы должны сделать, чтобы выполнить это, объяснены в первой главе этой книги.
https://www.packtpub.com/en-ru/product/threejs-essentials-9781783980864
https://github.com/josdirksen/essential-threejs
https://www.packtpub.com/sites/default/files/downloads/0864OS_ColoredImages.pdf