3/18

日記

2026/03/18

サイト制作

ページ遷移

たおたじまさんのwebサイト見てから、URLが自然に遷移するような表現に憧れていたので、今回実装。

ページロード無しで遷移するのはuseRouter
router.push("")またはrouter.replace("")。pushの方だと履歴が残る。

これで3Dシーンの変化に伴うURL遷移は行けたが、pushしたurlを直接アクセスしても、ルートと同じシーンになる。
もうひと工夫、現在のpathnameを読んで3Dシーンを変えるような実装が必要。

関数は一つの機能の方が良い

というのは有名だが、いまいち実感湧いていなかった。
だが、ページ遷移実装中、カメラやオブジェクトの位置をもとに戻すreset()関数を作りたくて、
カメラの位置をリセットする時、setCamera()でcameraとpositionを決定するより、positionを決定する関数を別に分離しておくと使いやすいことに気づいた。

resizeはrafで包む

ウィンドウリサイズ中は resize イベントが短時間に何度も発火する。requestAnimationFrame で包むと、同じフレーム内の複数回の呼び出しがまとまり、1フレームあたり1回だけ リサイズ処理が走るようになる。

内省

朝からサイト制作してみたけど、進行度的には変わらないかなやはり朝イチは何かインプット系したほうがいい気がする。
あと午後もぶっ続けだったけど、他のことを挟んだほうがいいかな。

maybe I should take a break to do something else.