UPDATE:2019.12.2
- CATEGORY
「Three.js」について学ぶ
コーダーのさやさんです。(コーダーのお仕事については大先輩コーダーのまみさんが最近記事にまとめてくださったので、こちらの記事をぜひ参考にしていただければと思います!)
コーダーのお仕事
最近webでもっとおしゃれな表現ができるようになりたいと思い、
Canvasから派生して「Three.js」を学ぶことにしました。
つまり「イマドキリッチなすごい表現ができるもの」と覚えていただければと思います。(二回目)「Three.js」とはthree.jsは、ウェブブラウザ上でリアルタイムレンダリングによる3次元コンピュータグラフィックスを描画する、クロスブラウザ対応の軽量なJavaScriptライブラリ及びアプリケーションプログラミングインタフェースである。
https://ja.wikipedia.org/wiki/Three.js
「Three.js」については、今現在のところ以下のサイトを参考に勉強中です。
Three.js入門サイト – ICS MEDIA
(学習用の本もネットで購入したのですが、こちらはまだ届きません……届いたら本もご紹介したいと思います)
Three.jsでできること
一言で言えば「webブラウザで3D表現を(比較的)簡単に表示することができる」でしょうか。Three.jsを使えば3Dアニメーションやブラウザゲームなどを、
普通にJavaScriptでプログラミングするよりは簡単に作ることができるようになります。
ただ、先にご説明しておきますと……
基本的にアプリコットデザインで制作するホームページでは
3Dアニメーションの表現を使うことは(現状ではあまり)無いかな~と思います。
(理由はナカムラさんのブログ記事にもあるように、時間のかかる作業ほど制作費がかかるためです。
3Dアニメーションの制作は高度なプログラミングであり、「Three.js」を利用してもそれなりに時間がかかってしまい制作費が通常よりも高額になってしまうので。。。)
以上のことをご理解した上で記事を見ていただければと思います。
Three.jsを使って立体をプログラミングしてみる
↓まずは入門サイトを見ながら私が作成したサンプルがこちらです。(※描写領域が大きすぎてデフォルトでは何も見えないと思います。
コードが書かれていない方の白い画面内をスクロールして見るか、CodePenのロゴをクリックしてCodePen内で見てください)
See the Pen ZEEgNxW by sasayama (@sasayama)
on CodePen.
canvas要素が立体等の描写エリアとなり、JavaScript内にThree.jsのコードを書いてHTMLのcanvasに立体を表示させます。
色々と専門的なことを書くと記事が長くなってしまう上に楽しく読める内容に仕上げる自信がなくなってしまうので、細かいコードを知りたい方はCodePen内のJavaScriptコードを読んでみてください。
(なるべく丁寧にコメントを付けてあります)
上記サンプルは入門サイトにもある基本中の基本的なコードを書いているだけなのですが、
そのコードをちょっと変えるだけでも以下のような3D表現を作ることが出来ます。
▼サンプル1(※CodePenのロゴをクリックしてCodePen内で見てください)
See the Pen MWWNNbq by sasayama (@sasayama)
on CodePen.
See the Pen vYEBBLW by sasayama (@sasayama)
on CodePen.
それでもなんだか「すごい!」表現だと思いませんか?
ただ、繰り返しになってしまうのですが、
このような表現技術をホームページに採用する場合は費用が高額になる可能性があります。
でもいつか「こんな3Dの表現でホームページをさやさんに作って欲しい!」と依頼が来たら嬉しいなと、
こっそりそんなことを思いながら、今後も「Three.js」を学んでいきたいと思います!