初心者がUnityでなんかしちゃうぞBlog

Unity初心者は、ゲーム開発の夢を見るか?

Unity初心者がクソゲーを作る その1 「土台作り」

さぁ、作ろう。クソゲーを。

チュートリアル終わったばかりでクソゲー作りとかだいぶハードルが上がった気がしますが。まぁ作れなかったら断念すれば良いだけです。 このプロジェクトには納期もなければ、顧客も上長もいない! 自由なんだ!

ステージを作る

f:id:yuu9048:20190120155354p:plain

まずはサクサクと3Dプロジェクトを作りましょう。名前は何でも良いです。僕は「Sample02」とかにした気がします。(Sample01はチュートリアルで使っちゃった★) 今回は見た目はあまりこだわらず作っていきます。Create > 3D Object > Plane でステージを作ります!!

f:id:yuu9048:20190120155814p:plain

f:id:yuu9048:20190120155844p:plain

開始30秒でステージの地面がほぼ出来上がりました。一仕事終えたし休憩したいところですがまだまだなにもできていないに等しいのでもうちょっとがんばります。 今回はデフォルトで作られるサイズをそのまま使いたいと思います。なのでPlaneのデフォルトサイズ「10x10」を1マスとして扱います。

1マスってなんだよ…って思われた方、私が前回の記事で挙げた「ウィザードリィ」というのはマス移動して探索するゲームなんですね。

unity-senpai.hatenablog.com

だから移動キーを押せば1マス進みます。その単位を今回はこのPlaneのデフォルトサイズにあわせようという計算し尽くされた計画なわけです。

f:id:yuu9048:20190120162124p:plain

ちなみにポジションは原点に置きたいので、インスペクター(画面右側上)の position に 0、0、0 を入力します。 あとでわからなくなるといけないので、Objectの名前はRenameしておきましょう。Groundとかでいいんじゃないでしょうか。自分でわかるものにしておきましょう。

f:id:yuu9048:20190120162456p:plain

1枚だけだとなんかステージっぽくねぇなぁ…と思いますよね。じゃあ複製していくつか配置して地面っぽくしてみよう!

f:id:yuu9048:20190120162726p:plain

Duplicateを押して複製し、複製したObjectをクリックしてインスペクターからpositionを変更します。

f:id:yuu9048:20190120162828p:plain

さきほど、デフォルトのサイズは「10x10」とお話したかと思うんですが。つまり座標を10ずらせばぴっちり隣に並ぶわけですね。 なので複製したObjectのpositionから、Z軸を「10」にしてあげましょう。 それから同じように複製してもう1個作ってみましょう。0から10で並べたので、次は20にしたらよさそうですね

f:id:yuu9048:20190120163226p:plain

おいおい…完全にこれは通路じゃないか…! もうダンジョンの片鱗が見えてきました。やったね、たえちゃん。ダンジョンできるよ!

壁を作る

でもこれだとただ地面があるだけでダンジョン感ないよね。

ダンジョンといえば 床!壁!マーフィーズゴースト

ということで、壁を作ります。今回はこれもPlaneで作ります。簡単だしね

f:id:yuu9048:20190120163546p:plain

PlaneをCreateして、Renameもしておきましょう。「Wall」とかわかりやすい名前にします。

f:id:yuu9048:20190120163900p:plain

さて、壁にするってことは地面の左右を塞ぐ感じで置きたいですよね。でも現状は平面が地面と同じ位置で同じ向きにあります。これはまずい。 でも四角形とかを考えると、地面と同じサイズの平面を90度回転させてどうにかすれば壁にひっつけられそうです。回転…回転だ!!!

Objectの回転はそんなに難しくありません。インスペクターから作業できるので座標とまとめて設定してみよう!

f:id:yuu9048:20190120164254p:plain

Wallのインスペクターから、Positionを「-5, 5, 0」、Rotationを「0, 0, 90」と入力します。 なんでxとyが5刻みになるのかというと、10x10の地面の中心から考えると5か-5ずらせばちょうどよい位置に壁がおけることがわかります。

おいおい、完璧じゃないか! これで白い壁ができた!

ん…?

あれ…?

f:id:yuu9048:20190120164902p:plain

f:id:yuu9048:20190120165309j:plain