はじめに
こんにちは!2025年3月から、僕の新しいプロジェクト「TornekoMini」をUnityで始めました。このブログでは、開発の進捗や直面した課題、そしてGrok 3(xAIが作ったAI)とのやり取りを記録していきます。目標は、シンプルな5×5ダンジョン(外枠が壁、中央が床)を作ること。MacBook Air M3を使って、ゼロから進めてます。さあ、旅の始まりだ!
2025年3月9日:プロジェクト開始と日本語化の試み
最初に「TornekoMini」プロジェクトを2D Coreテンプレートで作成。Unity Editorを日本語化しようと試みました。Grok 3にアドバイスをもらい、以下の手順で進めました。
- Unity Hubの日本語化
- Unity Hubを起動し、左上の歯車アイコン(設定)>「Preferences」>「General」タブ。
- 「Language」ドロップダウンで「Japanese」を選択。
- 再起動してメニューが日本語(例:「インストール」「ライセンス」)に変わるか確認。
- Unity Editorの日本語化
- Editorを起動し、「Edit」>「Preferences」>「General」で「Language」設定を探す。
- 日本語パックが必要な場合、「Assets」フォルダ右クリック>「Import Package」>「Custom Package」からダウンロード。
- インポート後、再起動してメニューが「ファイル」「編集」など日本語に。
- 結果
- 部分的に日本語化できて、操作が楽になったけど、エラーメッセージは英語のまま。2022.3.59だと完全対応は難しいみたい。
Grok 3に感謝!この後、ダンジョン生成に取り掛かる予定だったけど、ここで一旦中断。
2025年3月10日:ダンジョン生成の開始
再開して、ダンジョン生成コードを反映する手順を進めた。コードは以下の通り:
“`csharp
using UnityEngine;
using UnityEngine.Tilemaps;
public class SimpleDungeon : MonoBehaviour
{
public Tilemap tilemap;
public TileBase floorTile, wallTile;
void Start()
{
for (int x = 0; x < 5; x++)
{
for (int y = 0; y < 5; y++)
{
if (x == 0 || x == 4 || y == 0 || y == 4) // 外枠を壁
tilemap.SetTile(new Vector3Int(x, y, 0), wallTile);
else
tilemap.SetTile(new Vector3Int(x, y, 0), floorTile); // 内側を床
}
}
}
}
ステップ1:シーンとタイルマップの準備
- Unityエディタで「GameObject」>「2D Object」>「Tilemap」>「Rectangular」を選択。
- ヒエラルキーウィンドウで「Tilemap」をControlキー+クリック>「Rename」で「DungeonTilemap」に変更。
- 確認:ヒエラルキーに「Grid」>「DungeonTilemap」があるか。
ステップ2:タイルの作成
- スプライトの準備
- 「Assets」フォルダをControlキー+クリック>「Create」>「Sprites」>「Square」を選択。
- 名前を「floorSprite」に変更。
- 同じ手順で「wallSprite」を作成。
- 色変更はスプライト単体では難しかったので、タイル作成で調整。
- タイルの作成
- 「Assets」フォルダをControlキー+クリック>「Create」>「2D」>「Tile」を選択。
- 名前を「floorTile」に変更。
- 「floorTile」を選択し、「Sprite」に「floorSprite」をドラッグ&ドロップ。
- 「Color」を薄い緑(R:0.5, G:1, B:0.5)に設定。
- 同じ手順で「wallTile」を作成し、「wallSprite」を設定、「Color」を黒(R:0, G:0, B:0)に。
- 「DungeonTilemap」を選択し、「Window」>「2D」>「Tile Palette」でパレット作成。
- 「floorTile」と「wallTile」をパレットにドラッグ&ドロップし、「DungeonTilemap」に配置して色確認。
問題:Tileが見つからない
- 「Create」>「2D」で「Tile」がなく、「Animated Tile」しか見つからなかった。
- Grok 3のアドバイスで、「Animated Tile」を使うことに。
- 「Animated Tile」を選択し、1フレームだけ設定、「Animation Speed」を0に。
- 色設定は上記通り。
ステップ3:スクリプトの作成
- 「Assets」フォルダをControlキー+クリック>「Create」>「C# Script」を選択。
- 名前を「SimpleDungeon」に変更。
- コードエディタでスクリプトを作成し、保存。
ステップ4:スクリプトをシーンにアタッチ
- 「Grid」を選択し、インスペクターで「コンポーネントを追加」>「SimpleDungeon」を追加。
- 「Tilemap」に「DungeonTilemap」、「Floor Tile」に「floorTile」、「Wall Tile」に「wallTile」をドラッグ&ドロップ。
ステップ5:カメラの調整
- 「メインカメラ」の「位置」を (2.5, 2.5, -10) に、「オルソグラフィックサイズ」を 3 に設定。
ステップ6:シーンの実行
- シーンを「ファイル」>「保存」で保存。
- 「再生」ボタンをクリックしてダンジョン確認。
Grok 3と一緒に進めてるけど、Tileの種類でつまずいたり、手順の漏れ(「DungeonTilemap」へのドラッグ&ドロップ)を指摘して修正してもらったり。開発は順調だけど、まだダンジョンが表示されていません。
おわりに(追記)
これがこれまでの軌跡。これからダンジョンが動いたら、プレイヤー移動(タッチ操作)を実装予定。Grok 3のサポートがなければここまで来れなかったよ。次回の更新で進捗を報告するね!コメントで応援してくれたら嬉しいです。