285 Views
November 14, 25
スライド概要
React TokyoにてLT登壇したスライドです
WebGLを少しだけ齧った内容となっております
2025年11月14日 React Tokyo ミートアップ #11 WebGL入門 Three.jsで良さげなプロフィールサイト 作ってみた ぶりお (@buri16_koutaro)
プロダクト紹介 写真を中心とした、幼保業界の DXプロダクトを展開 SEN CORPORATION
自己紹介 ● ぶりお (@buri16_koutaro) ● 千株式会社 システム開発部 (25卒) ● タコスとトッテナムホットスパー FC が 大好き ● 社内管理画面とtoB向けの管理画面を 開発中 SEN CORPORATION
プロフィールサイトを作ろう!! SEN CORPORATION
プロフィールサイトを作ろう!! 最近やっと落ち着いて、自分がやりたい 方向も見えてきたし 外部のコミュニティにも顔出したいな SEN CORPORATION
プロフィールサイトを作ろう!! そうだ、プロフィールサイトを作ろう。 SEN CORPORATION
プロフィールサイトを作ろう!! でもただつくるだけならlit.linkでもいい なんならAIに全部作らせてもいい なんかないかしら SEN CORPORATION
プロフィールサイトを作ろう!! フロントエンドの知識地図 第5章 より良い開発のための一歩 5-7 WebGL ※神奈川生まれ神奈川育ち これでゲーム作れんねや!! SEN CORPORATION ゲームまでとはいかんくても なんか3Dってかっこええから 使おかな、知らんけど (エセ大阪弁)
プロフィールサイトを作ろう!! SEN CORPORATION
プロフィールサイトを作ろう!! WebGLベースの Three.jsを Reactで扱えるラッパーライブラリ React Three Fiber を使って制作 SEN CORPORATION
WebGLってなんだっけ SEN CORPORATION
ブラウザで3Dのグラフィックを描ける すげぇやつです SEN CORPORATION
WebGLってなんだっけ WebGL:Web Graphics Libraryの略 ブラウザにてプラグインを使わずに2D,3Dのグラフィックを描画するJS API <canvas>要素内にAPIを実装することでグラフィックを書くことができる!! ? SEN CORPORATION ?
Three.jsって何? SEN CORPORATION
JS ライブラリです SEN CORPORATION
Three.js Three.js WebGLを用いて3Dグラフィックを描画するためのJS ライブラリの”一つ” 点と線と図形しか扱えないWebGLを使って3Dを表現するためにある SEN CORPORATION
Three.jsキホンのキ renderer : WebGLをレンダリングするためのレンダラー scene : 任意の3Dの物体を出現させるための空間 camera : その空間をどこから見るのかという視点 mesh : その空間に出現させる物体 geometry : 物体の形 material : 物体の質感 SEN CORPORATION
Three.jsキホンのホ(?) まずはレンダラーを作成 idがmyCanvasのものに描画します レンダラーの幅と高さを設定 SEN CORPORATION
Three.jsキホンのホ(?) 次に空間を定義 SEN CORPORATION
Three.jsキホンのホ(?) カメラの画角とそのポジションを設定 画角:10〜90度で小さいほど望遠に アスペクト比 : カメラの視野の縦横比(幅/高 さに合わせるのがベスト) ポジション:カメラがどこから物体を見るか SEN CORPORATION
Three.jsキホンのホ(?) 表示したい形状を設定する 今回は球体 セグメント数は多ければ滑らかに、少な いとカクカクに 形状と質感を決定したら空間に入れる SEN CORPORATION
Three.jsキホンのホ(?) 最後にレンダラーに 空間とカメラをセットして レンダリング! SEN CORPORATION
Three.jsキホンのン(?) 回転させたい場合は 回転させるための関数を定義 SEN CORPORATION
React Three Fiberって何? SEN CORPORATION
ラッパーです SEN CORPORATION
React Three Fiber React Three Fiber Three.jsをReactっぽく宣言的に書くためのライブラリ コンポーネントとして記述しながらThree.jsのAPIを使用できる SEN CORPORATION
React Three Fiber meshあった! geometryあった! materialあった! camera一応あった! SEN CORPORATION
rendererとsceneどこにいった? SEN CORPORATION
…君のような勘のいいガキは嫌いだよ SEN CORPORATION
React Three Fiber 合体してる!(トラウマ) R3Fの<Canvas>要素が デフォルトで用意 renderer,scene,cameraを定義する 必要がない SEN CORPORATION
React Three Fiber ※Three.jsで作ったものと全く同じものですが再放送ではありません SEN CORPORATION
React Three Fiber使ってみた感想 ・ コードが比較的短く読みやすい HTMLとJSファイルで分ける必要もない 命令的ではなく、宣言的 ・ 比較的簡単に始めることができる Reactを普段から使っている人にとっては学習コストが低い SEN CORPORATION
まとめ ・ WebGLはブラウザ上で3Dのグラフィックを描画するためのAPI ・ Three.jsはWebGLで複雑なものを記述するものを助けてくれるライブラリ renderer,scene,camera,mesh(geometry,material)の要素で 構成される ・ React Three Fiberはそのラッパー 宣言的に記述することができ、コード量も少なく学習コストは低い SEN CORPORATION
おまけ SEN CORPORATION
NFCタグからぜひ プロフィールサイトを見てくださ い! スマホでピッとするだけです SEN CORPORATION
We are Hiring! 千株式会社では 一緒に子どもたちの未来を作る仲間を募集しています https://sencorp.co.jp/recruit-career/