アプリへの入口に、3Dメニューのトップページを作ってみた

アプリへの入口に3Dメニューのトップページを作ってみたというタイトルと、アイコンを貼った立方体の輪 Webアプリ制作

これからアプリが増えていくので、まとめて選べるページがあればと思い、Chrono Works Labのトップページを作ってみました。

アプリのアイコンを貼った立方体が、ゆっくりと輪の上を回っています。気になるものを選ぶと、そこへ近づいて説明が出る。そんな3Dのメニューにしました。

その下には、カテゴリやアプリ名から選べる、普通の一覧も置いてあります。

2026年9月29日に公開したので、作っている途中で試したことも含めて、少し書き残しておこうと思います。

アプリをまとめて選べる入口を作る

最初に載せたのは、TimeWipeとChrono Sculptureの2つです。

それぞれのアプリは、これまでどおり別のページで動いています。今回作ったトップページで選ぶと、そのアプリのページへ移動できます。

立方体を選ぶと近づくメニュー

画面を上下左右へドラッグすると、立方体が並んだ輪をくるくる回して眺められます。

2種類のアプリアイコンを貼った立方体が、楕円状に並ぶ3Dメニュー
公開前に保存した全体表示です。2種類のアイコンが輪に沿って並んでいます。

立方体を一つ選ぶと、そこへ視点が近づいて、アイコンの面がこちらを向きます。あわせてアプリの名前と説明、「アプリを開く」ボタンが出てきます。

TimeWipeのアイコンへ近づき、説明とアプリを開くボタンを表示した画面
TimeWipeを選んだところです。説明の下に、アプリへ移動するボタンが出ます。

ただ、作っている途中では、選んだものの手前に別の立方体が重なって、アイコンが隠れてしまうことがありました。そこで、選んだ立方体を手前に表示するように変えています。

輪は、ゆるい楕円の形にしました。立方体はだいたい同じ間隔で並び、約3分かけて一周します。

このときは、2種類のアイコンを交互に並べて、全部で24個の立方体に貼りました。同じアプリのアイコンが、輪の中に何度も出てきます。

ドラッグをやめた後も、少しだけ動きが続くようにしました。近づいた後は、「全体へ戻る」を押すと、また輪全体を眺められます。

下には普通のアプリ一覧も置く

アプリが増えてきたときの探し方も考えて、下にはカテゴリと名前の一覧を置きました。こちらからもアプリを選べます。

裏側では、アプリの名前や説明、移動先などを一つのデータにまとめています。3Dメニューと下の一覧は、どちらもそこから情報を読んで表示する形です。

このデータを書くのには、名前と内容を組にしてまとめられるJSONという形式を使いました。

TimeWipeの登録から、名前や説明などの部分を抜き出すと、こんな感じです。

{
  "name": "TimeWipe",
  "url": "https://chrono-lab.tech/timewipe/",
  "categories": ["カメラ", "タイムスキャン"],
  "description": "カメラ映像を細い帯として時間順に重ね、ひとつの画像に異なる瞬間を写すタイムスキャンカメラです。",
  "icon": "icons/timewipe.svg"
}
  • name:画面に出すアプリの名前
  • url:アプリの移動先
  • categories:アプリのカテゴリ
  • description:紹介文
  • icon:使うアイコン画像

この内容を読んで、立方体に貼るアイコンや、選んだときに出る説明、下の一覧を表示しています。

公開したときは、まだ2アプリだけです。

公開して見えたこととこれから

公開するときには、パソコン向けの幅と、390pxまで狭めた幅で画面を確認しました。立方体を回したり、アプリを選んだり、カテゴリで絞ったりして、2つのアプリへ移動できるところまで確かめています。

公開したときには、こんなところも残っていました。狭い画面では、上のメニューが途中で改行されていました。下の一覧からアプリを選んでも、上に出る説明のところまでは自動でスクロールしません。

完成した画面を見て、ちょっと変わったメニューができたかな、という感じです。

アプリが増えていくにつれて、この3Dの中のメニューも、少しずつ変えていければなと思っています。どんな形にするかは、またこれから考えていきます。

Chrono Works Lab ちょっと変わったWebアプリ アプリを見に行く
画像をクリックすると、Chrono Works Labが開きます。

立方体を回したり、気になるアイコンを選んだりして、試してもらえたらと思います。

今回使ったもの

使ったもの今回使ったところ
Three.jsブラウザ上で立方体を表示し、回したり、選んだものへ視点を近づけたりする部分
Canvasアイコンを一度平面へ描き、立方体に貼る画像を用意する部分
TypeScriptメニューの操作や表示を動かす処理を書くところ
Vite制作中の表示確認と、公開用ファイルをまとめるところ
JSONアプリの名前、URL、カテゴリ、説明、アイコンを登録するデータ
タイトルとURLをコピーしました