STAFF BLOGSASAYAMA SAYAKA/スタッフブログ

2019.12.02

「Three.js」について学ぶ

5+

コーダーのさやさんです。

(コーダーのお仕事については大先輩コーダーのまみさんが最近記事にまとめてくださったので、こちらの記事をぜひ参考にしていただければと思います!)

コーダーのお仕事




最近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.


「Three.js」ではHTML5のcanvas要素を使用します。
canvas要素が立体等の描写エリアとなり、JavaScript内にThree.jsのコードを書いてHTMLのcanvasに立体を表示させます。

色々と専門的なことを書くと記事が長くなってしまう上に楽しく読める内容に仕上げる自信がなくなってしまうので、細かいコードを知りたい方はCodePen内のJavaScriptコードを読んでみてください。
(なるべく丁寧にコメントを付けてあります)


上記サンプルは入門サイトにもある基本中の基本的なコードを書いているだけなのですが、
そのコードをちょっと変えるだけでも以下のような3D表現を作ることが出来ます。

▼サンプル1(※CodePenのロゴをクリックしてCodePen内で見てください)

See the Pen
MWWNNbq
by sasayama (@sasayama)
on CodePen.


▼サンプル2(※CodePenのロゴをクリックしてCodePen内で見てください)

See the Pen
vYEBBLW
by sasayama (@sasayama)
on CodePen.


上記2つのサンプルもまだ「Three.js」の基本中の基本でしかない(と、思う)のですが、
それでもなんだか「すごい!」表現だと思いませんか?

ただ、繰り返しになってしまうのですが、
このような表現技術をホームページに採用する場合は費用が高額になる可能性があります。

でもいつか「こんな3Dの表現でホームページをさやさんに作って欲しい!」と依頼が来たら嬉しいなと、
こっそりそんなことを思いながら、今後も「Three.js」を学んでいきたいと思います!

記事が気に入ったら「いいね」してね。(SNSとは連動してません)
5+

営業マンゼロだから低コスト・高パフォーマンス!東京・長野(長野市、松本市)・金沢(石川県金沢市)でホームページ制作・WEB制作・ネットショップ制作を中心に、ブランディングに繋がるロゴ制作・チラシ・名刺・パンフレット・DM・ショップカード等の各種印刷物、看板・のぼりなどの販促物を制作しているデザイン事務所アプリコットデザイン。

[長野オフィス-本社-]
〒381-2246
長野県長野市丹波島1-805

[東京ブランチ]
〒100-0004
東京都千代田区大手町 2-6-1 朝日生命大手町ビル2F

[松本ブランチ]
〒390-0851
長野県松本市大字島内4619-3 QuintetDoor 1階南室

[金沢ベース]
〒920-0831
石川県金沢市東山1丁目10-1 103

この記事を書いた人Who is writen blog

Sasayama Sayaka / Web Creator

楽しげだったりかっこよく動くwebサイトが大好きです!
そんなwebサイトをたくさん作るのが目標です。