SlideShare a Scribd company logo
1 of 20
Download to read offline
Three.js使ってみた
谷口晴哉
WebでイケてるCGを描画したい!
と思い最近WebGLのラッパーライブラリの
Three.js触り始めました.
今回はWebGLの概要とThree.jsの
使い方についてサクッと説明します.
What s WebGL
• ブラウザに標準搭載されている,canvasにCGをリアルタイ
ムに描画できるAPI.
• GPUを使っているため高速なレンダリングが可能.
WebGLを使った事例
WebGLは低レイヤなAPIなので直接書くのは難しい.


ポリゴン一個表示するのに200行😭
もっと手軽にWebでCGを扱いたい...
そこで Three.js!
• Webブラウザ上で手軽にCGを描画できるWebGLのラッパ
ーライブラリ.
• とても広く使われており,盛んに開発されていている勢い
のあるライブラリ.
今回扱う例
陰影のついたトーラスを描画する.
Three.jsで出てくる言葉の解説
• シーン(scene):描画する3Dモデル
(Mesh)やライトを管理する.
• メッシュ(Mesh):3Dモデルそのも
の.形状を定義するgeometryと質感や
色を定義するmaterialを組み合わせたも
のというイメージ.
• カメラ(camera):その名の通りカメラ.
• レンダラ(renderer):カメラとシーンを
渡すとCGを描画してくれる.
今回必要な処理
1. rendererの設定
2. cameraの設定
3. sceneの設定
4. トーラスのMeshを作成し,


sceneに追加
5. ライトを定義し,sceneに追加
6. 出来上がったsceneとcameraを
rendererに渡して描画して完成.
https://glitch.com/edit/#!/digitalcube-lt-for-explain
それではコードを見ていく
カメラの各パラメータ
平行光源のイメージ
環境光のイメージ
画像引用元
• https://wgld.org/
• WebGLスクール講義資料

More Related Content

Similar to Three.js使ってみた

Looking glass + videoplayer
Looking glass + videoplayerLooking glass + videoplayer
Looking glass + videoplayer優介 黒河
 
JavaScriptでCGを扱う WebGL紹介
JavaScriptでCGを扱う WebGL紹介JavaScriptでCGを扱う WebGL紹介
JavaScriptでCGを扱う WebGL紹介Isao Ebisujima
 
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかなぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかYoichi Toyota
 
プロジェクト2B テーマ発表
プロジェクト2B テーマ発表プロジェクト2B テーマ発表
プロジェクト2B テーマ発表Kodai Takao
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングTakuro Sasaki
 
20130202 fe勉強会 canvas
20130202 fe勉強会 canvas20130202 fe勉強会 canvas
20130202 fe勉強会 canvasKeisuke Aizawa
 
⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1Nishida Kansuke
 
WebRTCでドラゴンボールごっこ
WebRTCでドラゴンボールごっこWebRTCでドラゴンボールごっこ
WebRTCでドラゴンボールごっこgirigiribauer
 
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解するこれで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解するHajime Ogushi
 
VMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VMVMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VMyy yank
 
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)tomonari takahashi
 
BlazorにSwaggerを導入してみよう
BlazorにSwaggerを導入してみようBlazorにSwaggerを導入してみよう
BlazorにSwaggerを導入してみようTomomitsuKusaba
 
webアプリケーションフレームワークの話
webアプリケーションフレームワークの話webアプリケーションフレームワークの話
webアプリケーションフレームワークの話Yoshihiro Ura
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaTakeshi Akutsu
 
2012/11/03Hiroshima.rb
2012/11/03Hiroshima.rb2012/11/03Hiroshima.rb
2012/11/03Hiroshima.rbUeki Kouji
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門miso- soup3
 
WebVR Tokyo Meetup vol2
WebVR Tokyo Meetup vol2WebVR Tokyo Meetup vol2
WebVR Tokyo Meetup vol2Kazuya Hiruma
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScripthideaki honda
 
Clean Architectureで設計してRxJSを使った話
Clean Architectureで設計してRxJSを使った話Clean Architectureで設計してRxJSを使った話
Clean Architectureで設計してRxJSを使った話_kondei
 
jThree 0.10 alpha release
jThree 0.10 alpha releasejThree 0.10 alpha release
jThree 0.10 alpha release翔 石井
 

Similar to Three.js使ってみた (20)

Looking glass + videoplayer
Looking glass + videoplayerLooking glass + videoplayer
Looking glass + videoplayer
 
JavaScriptでCGを扱う WebGL紹介
JavaScriptでCGを扱う WebGL紹介JavaScriptでCGを扱う WebGL紹介
JavaScriptでCGを扱う WebGL紹介
 
なぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのかなぜ人は必死でjQueryを捨てようとしているのか
なぜ人は必死でjQueryを捨てようとしているのか
 
プロジェクト2B テーマ発表
プロジェクト2B テーマ発表プロジェクト2B テーマ発表
プロジェクト2B テーマ発表
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
 
20130202 fe勉強会 canvas
20130202 fe勉強会 canvas20130202 fe勉強会 canvas
20130202 fe勉強会 canvas
 
⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1⑮jQueryをおぼえよう!その1
⑮jQueryをおぼえよう!その1
 
WebRTCでドラゴンボールごっこ
WebRTCでドラゴンボールごっこWebRTCでドラゴンボールごっこ
WebRTCでドラゴンボールごっこ
 
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解するこれで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
 
VMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VMVMの歩む道。 Dalvik、ART、そしてJava VM
VMの歩む道。 Dalvik、ART、そしてJava VM
 
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
AngularJS勉強会「そもそもwebって」@ツクロア勉強会(2015.09.10)
 
BlazorにSwaggerを導入してみよう
BlazorにSwaggerを導入してみようBlazorにSwaggerを導入してみよう
BlazorにSwaggerを導入してみよう
 
webアプリケーションフレームワークの話
webアプリケーションフレームワークの話webアプリケーションフレームワークの話
webアプリケーションフレームワークの話
 
S14 t3 yosuke_yamashita
S14 t3 yosuke_yamashitaS14 t3 yosuke_yamashita
S14 t3 yosuke_yamashita
 
2012/11/03Hiroshima.rb
2012/11/03Hiroshima.rb2012/11/03Hiroshima.rb
2012/11/03Hiroshima.rb
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
WebVR Tokyo Meetup vol2
WebVR Tokyo Meetup vol2WebVR Tokyo Meetup vol2
WebVR Tokyo Meetup vol2
 
jQueryを中心としたJavaScript
jQueryを中心としたJavaScriptjQueryを中心としたJavaScript
jQueryを中心としたJavaScript
 
Clean Architectureで設計してRxJSを使った話
Clean Architectureで設計してRxJSを使った話Clean Architectureで設計してRxJSを使った話
Clean Architectureで設計してRxJSを使った話
 
jThree 0.10 alpha release
jThree 0.10 alpha releasejThree 0.10 alpha release
jThree 0.10 alpha release
 

Three.js使ってみた