WebGL入門 Three.jsで良さげなプロフィールサイト作ってみた

285 Views

November 14, 25

スライド概要

React TokyoにてLT登壇したスライドです
WebGLを少しだけ齧った内容となっております

profile-image

千株式会社所属

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2025年11月14日 React Tokyo ミートアップ #11 WebGL入門 Three.jsで良さげなプロフィールサイト 作ってみた ぶりお (@buri16_koutaro)

2.

プロダクト紹介 写真を中心とした、幼保業界の DXプロダクトを展開 SEN CORPORATION

3.

自己紹介 ● ぶりお (@buri16_koutaro) ● 千株式会社 システム開発部 (25卒) ● タコスとトッテナムホットスパー FC が 大好き ● 社内管理画面とtoB向けの管理画面を 開発中 SEN CORPORATION

4.

プロフィールサイトを作ろう!! SEN CORPORATION

5.

プロフィールサイトを作ろう!! 最近やっと落ち着いて、自分がやりたい 方向も見えてきたし 外部のコミュニティにも顔出したいな SEN CORPORATION

6.

プロフィールサイトを作ろう!! そうだ、プロフィールサイトを作ろう。 SEN CORPORATION

7.

プロフィールサイトを作ろう!! でもただつくるだけならlit.linkでもいい なんならAIに全部作らせてもいい なんかないかしら SEN CORPORATION

8.

プロフィールサイトを作ろう!! フロントエンドの知識地図 第5章 より良い開発のための一歩 5-7 WebGL ※神奈川生まれ神奈川育ち これでゲーム作れんねや!! SEN CORPORATION ゲームまでとはいかんくても なんか3Dってかっこええから 使おかな、知らんけど (エセ大阪弁)

9.

プロフィールサイトを作ろう!! SEN CORPORATION

10.

プロフィールサイトを作ろう!! WebGLベースの Three.jsを Reactで扱えるラッパーライブラリ React Three Fiber を使って制作 SEN CORPORATION

11.

WebGLってなんだっけ SEN CORPORATION

12.

ブラウザで3Dのグラフィックを描ける すげぇやつです SEN CORPORATION

13.

WebGLってなんだっけ WebGL:Web Graphics Libraryの略 ブラウザにてプラグインを使わずに2D,3Dのグラフィックを描画するJS API <canvas>要素内にAPIを実装することでグラフィックを書くことができる!! ? SEN CORPORATION ?

14.

Three.jsって何? SEN CORPORATION

15.

JS ライブラリです SEN CORPORATION

16.

Three.js Three.js WebGLを用いて3Dグラフィックを描画するためのJS ライブラリの”一つ” 点と線と図形しか扱えないWebGLを使って3Dを表現するためにある SEN CORPORATION

17.

Three.jsキホンのキ renderer : WebGLをレンダリングするためのレンダラー scene : 任意の3Dの物体を出現させるための空間 camera : その空間をどこから見るのかという視点 mesh : その空間に出現させる物体 geometry : 物体の形 material : 物体の質感 SEN CORPORATION

18.

Three.jsキホンのホ(?) まずはレンダラーを作成 idがmyCanvasのものに描画します レンダラーの幅と高さを設定 SEN CORPORATION

19.

Three.jsキホンのホ(?) 次に空間を定義 SEN CORPORATION

20.

Three.jsキホンのホ(?) カメラの画角とそのポジションを設定 画角:10〜90度で小さいほど望遠に アスペクト比 : カメラの視野の縦横比(幅/高 さに合わせるのがベスト) ポジション:カメラがどこから物体を見るか SEN CORPORATION

21.

Three.jsキホンのホ(?) 表示したい形状を設定する 今回は球体 セグメント数は多ければ滑らかに、少な いとカクカクに 形状と質感を決定したら空間に入れる SEN CORPORATION

22.

Three.jsキホンのホ(?) 最後にレンダラーに 空間とカメラをセットして レンダリング! SEN CORPORATION

23.

Three.jsキホンのン(?) 回転させたい場合は 回転させるための関数を定義 SEN CORPORATION

24.

React Three Fiberって何? SEN CORPORATION

25.

ラッパーです SEN CORPORATION

26.

React Three Fiber React Three Fiber Three.jsをReactっぽく宣言的に書くためのライブラリ コンポーネントとして記述しながらThree.jsのAPIを使用できる SEN CORPORATION

27.

React Three Fiber meshあった! geometryあった! materialあった! camera一応あった! SEN CORPORATION

28.

rendererとsceneどこにいった? SEN CORPORATION

29.

…君のような勘のいいガキは嫌いだよ SEN CORPORATION

30.

React Three Fiber 合体してる!(トラウマ) R3Fの<Canvas>要素が デフォルトで用意 renderer,scene,cameraを定義する 必要がない SEN CORPORATION

31.

React Three Fiber ※Three.jsで作ったものと全く同じものですが再放送ではありません SEN CORPORATION

32.

React Three Fiber使ってみた感想 ・ コードが比較的短く読みやすい HTMLとJSファイルで分ける必要もない 命令的ではなく、宣言的 ・ 比較的簡単に始めることができる Reactを普段から使っている人にとっては学習コストが低い SEN CORPORATION

33.

まとめ ・ WebGLはブラウザ上で3Dのグラフィックを描画するためのAPI ・ Three.jsはWebGLで複雑なものを記述するものを助けてくれるライブラリ renderer,scene,camera,mesh(geometry,material)の要素で 構成される ・ React Three Fiberはそのラッパー 宣言的に記述することができ、コード量も少なく学習コストは低い SEN CORPORATION

34.

おまけ SEN CORPORATION

35.

NFCタグからぜひ プロフィールサイトを見てくださ い! スマホでピッとするだけです SEN CORPORATION

36.

We are Hiring! 千株式会社では 一緒に子どもたちの未来を作る仲間を募集しています https://sencorp.co.jp/recruit-career/