[58hack]Galaxy Survival

https://github.com/urassh/punching_survival

GitHub

C#

Unity

生命、宇宙、そして万物についての究極の疑問の答え

おちとも

IrohaMo

urassh

jiku0730 | 竺原圭市

hminemur0x0

推しアイデア

みんなでやりたくなるオンライン対戦ゲーム! 実際に体を動かしながら、遊ぶ体験が新鮮! 42!

作った背景

「手にとって使いたくなるもの」をテーマに,アイデア出しを行い決まったゲーム

推し技術

Photonを使ったオンライン対戦!blenderでオリキャラの自作!! 技術タグにBlenderの追加お願いします

プロジェクト詳細

ゲームを作りました

作成したものは、「複数人3Dオンライン対戦ゲーム」

ここ見てポイント!

手作りの3Dモデル image
可愛いですね

圧倒的な技術チャレンジ・技術活用・AI活用

強み技術ポイント

① Photonを使用したネットワーク同期

  • Photon Fusion を活用し、2〜4人が同じルームに参加してリアルタイムで対戦できるようにしました。
  • UUIDと4桁の合言葉を使って、わかりやすく接続できるルーム参加機能を実装。
  • 攻撃・移動をサーバーオーソリティで管理し、同期のズレを補正。マルチプレイ体験を安定化しました。
  • チームメンバー全員初めてで、大きな技術的挑戦になりました。

② Blenderを使った3Dモデリング & アニメーション

キャラクターはChatGPTとmeshy.aiを使用した。 予定だったが、もっとクオリティを突き詰めるため、meshy.aiの3D modelは使用しなかった。

  • モデリング:キャラを複数メッシュで構築 → 分離・統合を繰り返して最適化。
  • リギング:Armatureを用い、自動ウェイト+Weight Paintで調整。
  • 対称化:「Xミラー」機能で効率よくボーン配置。
  • IKとFKの併用
    • FK(Forward Kinematics):腕や胴体など、基本のモーションを自然に作るときに使用。
    • IK(Inverse Kinematics):足や腕の接地・パンチング動作など、末端の位置を固定したいときに使用。
    • → 「歩行は安定」「攻撃は直感的に制御」と、シーンに合わせた自然なアニメーションを実現しました。
  • アニメーション:Idle・Walk・Shoot をBlenderで作成し、FBXとしてUnityにエクスポート。

→ Unityでは Animator Controller に組み込み、Idle↔Walkはパラメータで自動遷移、Shootは操作入力で再生。

BlenderとUnityを行き来して、オリジナルキャラを作って実際に動かす流れを完成
特にリギング(IK/FKの切り替えやウェイト調整)は苦労しましたが、キャラが歩いた瞬間に「作った!」という感動を得られました。


③ iOSジャイロ・加速度センサーによる直感操作

  • iPhoneの ジャイロセンサー加速度センサーとUnityを連携させ、“体で遊ぶ直感操作” を実現。
  • キャラの進行方向と向きを常に同期(Quaternion.LookRotation を活用)。
  • 左親指で移動、動かして視点移動、前に押し出して攻撃というUI(UGUI)を独自に作り込み。
    体を使って遊ぶ、新しい没入型の操作感 が特徴です。

その他の技術

  • 物理判定Rigidbody + Collider を用いてノックバック挙動を再現。
  • 攻撃エフェクト:Particle Systemで光のリングや爆発を自作。
  • iOS実機ビルド:UI操作やジャイロ挙動を実機検証済み。

困ったこと

会場に来た瞬間サーバーに接続できなくなった!

繋げるwifiをeduroamからスマホのホットスポットに変更したら治った!!
自分たちで気づいて解決しました


まとめ

  • BlenderとUnityを行き来することで、自分だけのオリジナルキャラクターを作って動かす流れを学べました。
  • 特に リギングとウェイト調整 は最初苦労したけど、キャラが歩いた瞬間に「作った!」って感動しました。
  • Unityでのオンライン対戦は全員が初めて使う技術を用いて,1から学び始めたので大変でした!

本当にゲーム会社はすごいと思った。

このHackthonが終了した後も開発を続け、いつかiOSアプリとしてデプロイしたい!

おちとも

@096afac5b9526812