Globyの2Dアバタースペース (Next.js + Supabase)
Translation pending
SocialTypeScript · PLpgSQLGitHub @kk-kk-kk-opsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Avatar Space (① MetaLife参考の2Dリアルタイムアバター空間) Next.js(App Router) + Supabase Realtime(Presence/Broadcast) + Tailwind CSS で作る MetaLife風の2Dバーチャルオフィスの土台です。 • 矢印キー / WASD でアバターを2Dマップ上で移動 • Supabase Realtimeで複数人の位置をリアルタイム同期(サーバー保存なし・ステートレス) • 入室者一覧の表示(Presence) • 簡易チャット(吹き出し表示、Broadcastで配信・DB保存なし) http://localhost:3000 を2つのタブ(またはシークレットウィンドウ)で開くと、 お互いのアバターがリアルタイムに動くのが確認できます。 1. GitHubにpush 2. Vercelで「Import Project」→ このリポジトリを選択 3. Environment Variables に NEXT_PUBLIC_SUPABASE_URL と NEXT_PUBLIC_SUPABASE_ANON_KEY を設定 4. DeployRead the full README ↗
Next.js(App Router) + Supabase Realtime(Presence/Broadcast) + Tailwind CSS で作る MetaLife風の2Dバーチャルオフィスの土台です。
# 1. 依存関係インストール
npm install
# 2. 環境変数を設定
cp .env.example .env.local
# .env.local を開き、SupabaseのURLとPublishable Key(NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY)を入力
# 3. 開発サーバー起動
npm run dev
http://localhost:3000 を2つのタブ(またはシークレットウィンドウ)で開くと、 お互いのアバターがリアルタイムに動くのが確認できます。
NEXT_PUBLIC_SUPABASE_URL と
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY を設定(他に必要な変数は
.env.example を参照)avatar-space/
├── app/
│ ├── layout.tsx
│ ├── page.tsx # AvatarSpaceをssr:falseで読み込み
│ └── globals.css
├── components/
│ ├── AvatarSpace.tsx # 本体(移動ループ・Realtime同期・チャット)
│ └── Avatar.tsx # 1体分の描画
├── lib/
│ ├── supabase/ # Supabaseクライアント(client/server/middleware/serviceRole)
│ └── types.ts # PlayerState型・定数
├── supabase/
│ └── README.md # Supabase設定・今後の拡張用スキーマ
├── .env.example
└── package.json
channel.track())