推しアイデア
🧙
🧙
風・波 魔法だね🧙 Unity畑の人多い x VR買ったから遊びたいなぁ
VR空間で遊んだ 🧙
🧙🧙🧙🧙🧙🧙🧙🧙🧙🧙 ちぇぶちぇぶしてきたーーーー
魔法陣を書いて魔法を放とう!
魔法を放つデモ! https://youtube.com/shorts/WJdobjaw30w
Unity 6000.3.10f1
あなたもUnity最高と言いなさい
// [Unity開発 AI支援] // UnityMCP "com.unity.ai.assistant": "2.1.0-pre.1" // unityのcliツール "com.yucchiy.unicli-server": "https://github.com/yucchiy/UniCli.git?path=src/UniCli.Unity/Packages/com.yucchiy.unicli-server#v1.2.0" // [マルチプレイ] "com.unity.services.lobby": "1.2.2" "com.unity.services.multiplayer": "2.1.3" "com.unity.services.relay": "1.1.1" "com.unity.netcode.gameobjects": "2.10.0" // [XR] "com.unity.xr.openxr": "1.16.1"
StarfieldController.csで実装しました。
Random.onUnitSphereで球面上にランダムに星を配置Vector3 pos = Random.onUnitSphere * spawnRadius; GameObject star = Instantiate(starPrefab, pos, Quaternion.identity, transform);
MagicCircleController.csで実装しました。
float maxDist = Mathf.Max(leftDist, rightDist); if (maxDist >= activationDistance) StartCoroutine(SummonCircle());
アニメーションはEaseOut(最初速く、最後ゆっくり止まる)を自前で実装しました。
float EaseOut(float t) => 1f - Mathf.Pow(1f - t, 3f);
InputActionPropertyで取得していますbool leftNear = Vector3.Distance( leftControllerTransform.position, centerStar.transform.position ) < grabRadius; bool leftGrip = leftGripAction.action.ReadValue<float>() > 0.5f; if ((leftNear && leftGrip) || (rightNear && rightGrip)) sceneManager.OnGameStart();
エディター上でのデバッグ用にキーボードのGキーでもスタートできるようにしてあります。
普通にボタンを押してスタートは面白くないので、自分が魔法使いになる入口をイメージして、タイトルのシーンを作りました!
unityのline Rendererを使用しました。 line Rendererに座標を入力すると、自動で線を書いてくれるので、コントローラの位置をトラッキングして渡している。
図形の頂点のx座標yと座標、時間と筆圧をまとめたxmlファイルを読み取り、書いた魔法陣と元の図形との差から魔法の発生の判断をしている。
円形状にランダムに生成するアルゴリズムを作成しました。 Croutineを使ってプレイ中のみ繰り返し実行するようにしている。
IEnumerator EnemyInstantiater() { while (enemyNumber < limitEnemy && spawnNumber < limitEnemy + 5) { yield return new WaitForSeconds(interval);
float angle = Random.Range(0, 360); float rad = angle * Mathf.Deg2Rad; float rx = Mathf.Cos(rad); float ry = Mathf.Sin(rad); Instantiate(enemy, new Vector3(rx * 8, 4, ry * 8), Quaternion.identity); spawnNumber++; }
} 0から360の乱数をラジアンに変換し、cos,sinに変換したものを生成位置にすることによって円形状にランダムに生成している。
某先輩🐉 『Unityはくそ() GUIつらいよ〜😭』
GUIを覚えるのは大変! 特にUnityは覚えることが多すぎてつらいです
最近はAIAgentの発達でMCPやCLIの需要が高まっていますが、ついにいろいろ登場してアツそうなので使って見てます

公式MCPの記事 UnityMCP使ってみた記事 UniCli
MetaQuestってAndroidなんだなぁ...
自動デプロイ環境を作成する気力が足りなかったのでdeplpy.shを作って「ローカルでAndroidビルド」→「itch.ioにそれ用のcli(butler)でデプロイ」
しました
ユーザーはそこから.apkをダウンロードして動かしてもらいます!

Netcode for GameObjects (NGO)とUnity Gaming Services (UGS)のRelayとLobbyを使用して実装しました
https://github.com/jyogi-web/Megaro_ChebuWarts/issues/9
敵の生成をして相手を邪魔するゲームにしてます
下の画面の左がVR側の人で右が参加者側です 画面のタップしたところにモンスターが生成されます

デバッグにMultiplayerを使用することで一人で複数人のデバッグが可能になって嬉しいですね😎

