HTML 
5minutes! 
~ 
triton-­‐js 
~
ねこでもできるWebGL
WebGLを使った例
翠星のガルガンティア 
~キミと届けるメッセージ~
Genealogy 
of 
Nike 
Free
WebGLすごい
でも難しいんでしょう?
そこで 
jThree
第5回 HTML5minutes! LT 「ねこでもできるWebGL」
どんな感じ?
jThree 
・GOMLという独自のタグを使って定義・描画する 
・スクリプトはほぼjQueryと同じ記法で書ける
具体的に
立方体をつくる 
<goml> 
<head> 
<rdr 
frame=".glview" 
camera="camera:first" 
param="anCalias: 
true; 
clearColor: 
#fff;"/> 
<geo 
id="geo" 
type=”Cube" 
param="2.5" 
/> 
<mtl 
id="mtl" 
type="MeshPhong" 
param="color: 
#0f0;" 
/> 
</head> 
<body> 
<scene> 
<mesh 
geo="#geo" 
mtl="#mtl" 
/> 
<!-­‐-­‐ 
カメラとかライトとか(略) 
-­‐-­‐> 
</scene> 
</body> 
</goml>
立方体をつくる 
<goml> 
<head> 
<rdr 
frame=".glview" 
camera="camera:first" 
param="anCalias: 
true; 
clearColor: 
#fff;"/> 
<geo 
id="geo" 
type=”Cube" 
param="2.5" 
/> 
<mtl 
id="mtl" 
type="MeshPhong" 
param="color: 
#f00;" 
/> 
</head> 
<body> 
<scene> 
<mesh 
geo="#geo" 
mtl="#mtl" 
/> 
<!-­‐-­‐ 
カメラとかライトとか(略) 
-­‐-­‐> 
</scene> 
</body> 
</goml>
立方体をつくる
3Dモデルを表示する 
<head> 
<rdr 
frame=".glview" 
camera="camera:first" 
param="anCalias: 
true; 
clearColor: 
#fff;"/> 
</head> 
<body> 
<scene> 
<mmd 
id="" 
model="model/miku/index.pmx" 
moCon="moCon/ 
world.vmd" 
style=""></mmd> 
<obj 
id="" 
model="stage/gekido/index.x" 
style="scale: 
10; 
posiCon: 
0 
-­‐46.5 
0; 
rotateY: 
1.57;"></obj> 
<!-­‐-­‐ 
カメラとかライトとか(略) 
-­‐-­‐> 
</scene> 
</body>
3Dモデルを表示する 
<head> 
<rdr 
frame=".glview" 
camera="camera:first" 
param="anCalias: 
true; 
clearColor: 
#fff;"/> 
</head> 
<body> 
<scene> 
<mmd 
id="" 
model="model/miku/index.pmx" 
moRon="moRon/ 
world.vmd" 
style=""></mmd> 
<obj 
id="" 
model="stage/gekido/index.x" 
style="scale: 
10; 
posiRon: 
0 
-­‐46.5 
0; 
rotateY: 
1.57;"></obj> 
<!-­‐-­‐ 
カメラとかライトとか(略) 
-­‐-­‐> 
</scene> 
</body>
3Dモデルを表示する
ここまでJavaScript 
(ほとんど) 
書いていません
3Dモデルを表示する 
jThree.MMD.play(); 
(MMD 
moConを再生するメソッドだけ書いてます)
テクスチャを貼る 
<head> 
<rdr 
frame=".glview" 
camera="camera:first" 
param="anCalias: 
true; 
clearColor: 
#fff;"/> 
<txr 
id="txrImage" 
src="img/sky.png" 
param="" 
onLoad=""/> 
<mtl 
id="mtlImage" 
type="MeshPhong" 
param="map: 
#txrImage;" 
/> 
</head> 
<body> 
<scene> 
<mesh 
geo="#geo" 
mtl="#mtl" 
/> 
<!-­‐-­‐ 
カメラとかライトとか(略) 
-­‐-­‐> 
</scene> 
</body>
動画を貼る 
<head> 
<rdr 
frame=".glview" 
camera="camera:first" 
param="anCalias: 
true; 
clearColor: 
#fff;"/> 
<import> 
<style>div 
{color: 
#f00; 
height: 
50px; 
posiRon: 
absolute; 
top: 
0;}</style> 
<video 
autoplay> 
<source 
src="video/nhk1.mp4" 
/> 
<source 
src="video/nhk1.ogg" 
/> 
</video> 
<canvas></canvas> 
</import> 
<mtl 
id="mtlImage" 
type="MeshPhong" 
param="map: 
#txrImage;" 
/> 
</head>
テクスチャを貼る 
<head> 
<rdr 
frame=".glview" 
camera="camera:first" 
param="anCalias: 
true; 
clearColor: 
#fff;"/> 
<import> 
<style>div 
{color: 
#f00; 
height: 
50px; 
posiRon: 
absolute; 
top: 
0;}</style> 
<div>Hello 
World!</div> 
<canvas></canvas> 
</import> 
<mtl 
id="mtlImage" 
type="MeshPhong" 
param="map: 
#txrImage;" 
/> 
</head>
JavaScript
クリックイベント 
GOML 
<mesh 
id=“cube” 
geo="#geo" 
mtl="#mtl" 
/> 
script.js 
j3("#cube").click(funcCon() 
{ 
j3(this).animate({posiConY: 
"+=1"}, 
500); 
});
append / removeもできる 
GOML 
<geo 
id="geo" 
type=”Cube" 
param="2.5" 
/> 
<mtl 
id="mtl" 
type="MeshPhong" 
param="color: 
#0f0;" 
/> 
script.js 
j3("scene").append(‘<mesh 
id=“cube” 
geo="#geo" 
mtl=“#mtl” 
/>'); 
j3(“#cube”).remove();
よくないところ
よくないところ 
• 遅い 
– three.js、jQueryに依存 
• 公式ドキュメントがない
Documents and Samples 
• jThree公式 
h]p://jthree.jp 
• 有志によるjThree 
wiki 
h]p://seesaawiki.jp/j3wiki/ 
• ハンズオン内容のサンプルまとめ 
次ページのEditorにそのままコピペで動くように作ってあります 
h]ps://github.com/moshisora/jThreeSamples
jThree editor 
• jThree 
editor 
ローカル環境を整えなくてもWebブラウザでjThreeを実行できるよ 
うに、Editorを作ってくださっています。 
保存・公開機能付きなのでつくったものをどんどんシェアしてみて 
ください! 
URL 
: 
h]p://editor.jthree.jp

More Related Content

PDF
Ma gician <wide version> @meguro.es 2019/10/10
PPT
ASP.NET MVC 1.0
PDF
GDG Women DevfestW
PDF
Componentization with Gilgamesh
PDF
jQuery Performance Tips – jQueryにおける高速化 -
PPTX
Angular jsとsinatraでturbolinks
PDF
React で CSS カプセル化の可能性を考える
PDF
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁
Ma gician <wide version> @meguro.es 2019/10/10
ASP.NET MVC 1.0
GDG Women DevfestW
Componentization with Gilgamesh
jQuery Performance Tips – jQueryにおける高速化 -
Angular jsとsinatraでturbolinks
React で CSS カプセル化の可能性を考える
Nuxt なしで Vue App 作る時に乗り越えるべき5つの壁

Viewers also liked (7)

PDF
20140329 Perl入学式修了式LT
PDF
YAPC2014_day2_LT_GeekDojo
PDF
LT 資料 高専カンファin釧路2
PDF
0301北見LT
PDF
AngularJS×Milkcocoaでちょっとくらい社会貢献してみたい
PDF
The Six Highest Performing B2B Blog Post Formats
PDF
The Outcome Economy
20140329 Perl入学式修了式LT
YAPC2014_day2_LT_GeekDojo
LT 資料 高専カンファin釧路2
0301北見LT
AngularJS×Milkcocoaでちょっとくらい社会貢献してみたい
The Six Highest Performing B2B Blog Post Formats
The Outcome Economy
Ad

Similar to 第5回 HTML5minutes! LT 「ねこでもできるWebGL」 (20)

PDF
WebGL and Three.js
PDF
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
PDF
Three.js使ってみた
PDF
three.js はじめましょ
PPTX
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
PDF
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]
PDF
スマホにおけるWebGL入門
PPTX
OpenGLプログラミング
PDF
FiltersでGLSLを楽しく学んじゃおう!
PDF
Three.jsで3D気分
PDF
Web GLの話
PDF
Tamabi media131118
PDF
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
PDF
簡単!OpenGL ES 2.0フラグメントシェーダー
PDF
IbisPaintのOpenGLES2.0
PDF
Android OpenGL HandsOn
PDF
WebGLことはじめ
PPTX
Delphi で超高速 OpenGL 2D/3D 描画
PDF
Basic knowledge of 3d
PPTX
WebGL入門ハンズオン資料
WebGL and Three.js
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
Three.js使ってみた
three.js はじめましょ
3D で遊ぼう ~C#er も TypeScript で楽々 WebGL~
WebGL (Three.js) Code Lab - Intro. [ GTUG Girls 10th]
スマホにおけるWebGL入門
OpenGLプログラミング
FiltersでGLSLを楽しく学んじゃおう!
Three.jsで3D気分
Web GLの話
Tamabi media131118
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
簡単!OpenGL ES 2.0フラグメントシェーダー
IbisPaintのOpenGLES2.0
Android OpenGL HandsOn
WebGLことはじめ
Delphi で超高速 OpenGL 2D/3D 描画
Basic knowledge of 3d
WebGL入門ハンズオン資料
Ad

Recently uploaded (17)

PDF
My Inspire High Award 2024(岡田秀幸).pptx.pdf
PDF
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
PDF
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
PDF
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
PDF
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
PDF
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
PDF
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
PDF
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
PDF
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
PPTX
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
PDF
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
PDF
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
PDF
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
PDF
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
PDF
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
PDF
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
PDF
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
My Inspire High Award 2024(岡田秀幸).pptx.pdf
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf

第5回 HTML5minutes! LT 「ねこでもできるWebGL」