MENU

【Unity】最強のゲームクリエイターに俺はなる | カメラをPlayerに追従させよう

ども!一日を48時間にしてほしいFORM_07ですよぉ~

 

起きて大学行ってバイトして課題やったら一日終わっちゃうじゃん・・・・

 

前回↓はTilemapを触って使い方を理解しました!

 

【Unity】最強のゲームクリエイターに俺はなる | Tilemapを使ってみよう - FORM_07’s blog

 

今回はカメラをPlayerに追従させたいと思います!

 

ゲーム完成時にその仕様になっているかはまだわかりませんが、今そうしておいた方がゲーム制作が楽になる気がする・・・

 

その前に、以前作ったPlayerスクリプトについて少し修正を・・・

 

移動処理をFixedUpdateで書いていましたが、Updateにします。

 

ややこしいですが、FixedUpdateとUpdateの違いはフレームに依存するかしないかなので、FixedUpdateでは物理演算などのフレームに依存してほしくない処理を、UpdateにはPlayer操作などのフレーム依存の処理を書くのが妥当だとか。

 

まだなんとなくしかわかってないですが、ま、使ってくうちに理解していくでしょう~。

 

結構適当(^_^;)

 

ついでにカメラをPlayerに追従させるコードを書きました。

 

これでいいらしい

[RequireComponent()]ってなんだろうね。。。

 

調べるか。。。

 

 

・・・・・(-- )

 

 

わかった。

 

結論、あってもなくてもいい処理だこれ。

 

エラー防止のおまじないです。

 

簡単に説明すると、RequireComponent(~~~)することでアタッチしたオブジェクトの~~~の付け忘れを防ぐことができる。みたいな。。。

 

今回でいうとtypeof(Camera)をRequireComponentすることで、このコードをアタッチしたオブジェクトのタイプがカメラであることを必要とするってわけ。

 

 

 

・・・・・・・・・

 

 

 

みんなこういうコードの書き方ってどうやって知るんだろう。

 

まぁいいや。今まで通り自分が正しいと思う方法でがんばります。

 

 

で、以前作ったPlayerスクリプトの名前とクラスをPlayerControllerにして、オブジェクトにPlayerタグをつけたら、、、

 

タグはここでつけれる

 

ふむふむ

いいかんじ。

 

っというか、Tilemapの表示がおかしいな。。。

 

EditProject Settingから、、、

 

QualityAnti AliasingDisabledに。

 

ここ

 

これでいいはず・・・

 

うんいいね

 

よぉ~し。

 

今回はここまで!

 

次回はPlayerに攻撃させたいな。

 

できるかな。。。。

 

 

form-07.hatenablog.com

【Unity】最強のゲームクリエイターに俺はなる | Tilemapを使ってみよう

ども!お酒が飲めないFORM_07です!

 

みんなよく飲めるよな。。。

 

 

前回↓はアニメーションについて少し理解しましたね!

 

【Unity】最強のゲームクリエイターに俺はなる | アニメーション実装!! - FORM_07’s blog

 

今回はTilemapという機能が気になるので少し触ってみたいと思います!

 

 

ちょっとTilemap用にスプライトシートをつくっておきました。

 

1分クオリティ

これを使っていこう。

 

 

まず、ヒエラルキー2D OblectからTilemapRectangularを選択。

 

ここ

そするとOpen Tile Palleteと出てくるので開く。

 

Tilemapを使うにはTile Palleteがいるらから、それを用意する。

 

簡単にいうと、Tilemapっていうのはマリオメーカーみたいにブロックを配置してステージを作る機能のことで、Tile Palleteはそのブロックの見た目のこと。

 

これ

 

開いたらCreate New Pallete

 

これ

Createしたら用意したスプライトシートをドラッグ&ドロップでTile Palleteに置く。

 

お~

これでもう作れるのかな?

 

マリオメーカーだ・・・

 

おおおおおおおお~~~。

 

あとはこれにTilemap Collider 2Dをつけてあげれば・・・

 

これ

 

gifの使い方がよくわからん

よぉぉ~~~しいい感じ。(ホントはもっと滑らかに動いてます)

 

草にも衝突判定が付いちゃってるのが気になるな。。。

 

これは草は背景としてまた別にした方がよさげかな?

 

まぁとりあえずこれでいいや。

 

今回はここまで!

 

Tilemap、まだまだできることがたくさんあるっぽいので適時理解していこう!

 

次回はカメラをPlayerに追従させたいな。。。

 

form-07.hatenablog.com

【Unity】最強のゲームクリエイターに俺はなる | アニメーション実装!!

ども!寝るときはエアコンよりサーキュレータ派のFORM_07です!!

 

エアコンの風に当たってると体調崩すんよな。。。わかる人いるはず。

 

 

前回↓はPlayer移動用のスクリプト(仮)をつくりましたね!

 

【Unity】最強のゲームクリエイターに俺はなる | Player操作しよう - FORM_07’s blog

 

今回はゲームの見た目について色々やっていこうと思います!

 

 

Let's Start!!

 

 

・・・・・

 

 

 

見て。

 

かわいくない?(圧)

 

画質悪・・・・・

 

実はもうPlayer用のスプライトを作っておきました。

 

(仮)で。もうちょいブラッシュアップしたい。

 

初めてのドット絵にしては上出来でしょ?

 

ね???

 

 

・・・・・・

 

 

さ、Unity開こ。。。

 

 

まずはプロジェクトにさっきのpng画像をドラッグ&ドロップして。。。

 

ここ注意

そしてInspectorに注目!

 

①Texture Typeが「Sprite(2D and UI)」になっていることを確認!

 

Sprite Modeを調整!(今回は「Single」でオッケ。)

 

Pixels Per Unitは今回用意したスプライトが64×64だから64にしといた。(これでいいのか?)

 

④そして一番大事なのはここ。Filter Mode‼ドット絵ならここはPoint(no filter)に設定すること!(そうしないとぼやけちゃう)

 

⑤最後にApplyしてシーンに配置したら・・・・

 

おお!

映った!!!!

 

(見にくかったからサイズを調整しています)

 

 

あとはRigidbody 2DBox Collider 2Dと前回作ったPlayerスクリプトをつけてあげる。

 

これで動く

 

最後にBox Collider 2DEdit Colliderで当たり判定をいい感じに調整したら・・・

 

カワイイ

 

アアアアアアアアアア‼

うごいたああああああああ!!!

 

いや~自分の作ったキャラが動くというのはいいものですな。

 

みんなもやってみろ。・・・・・飛ぶぞ・・

 

 

・・・・・・・・・・(・_・)

 

 

 

見て。

 

作った。

 

スプライトシート。ツクッタ。

 

 

名前はサフィア

 

 

今度はSprite Modeを「Multiple」にして、、、

 

あ、あと、Compressionはドット絵のときはNoneでやるらしいです。訂正訂正。

 

圧縮に関する設定らしいけどよくわからん。。。

 

違いがわからん

で、Sprite Editerを開く。

 

SliceTypeを「Grid By Cell Size」にして・・・Slice!!

 

使い方合ってるのか・・・

 

おお~

そしたらいい感じの分けてくれた。

 

すげ~~。。。

 

さ、次はアニメーションだ。

 

動かしてなんぼだからな。うん(?)

 

 

Shift+クリックでさっき分けたスプライトを全部選択して、ヒエラルキーにドラッグ&ドロップ。

 

 

自動でやってくれるのいいな

 

アニメーションがついたオブジェクトと、そのアニメーションを作ってくれる。

 

便利ー。

 

じゃ、アニメーションをダブルクリックで開いて調整しよう。

 

こんな感じ↓に、アニメーションをループさせるときは最初と最後に同じスプライトを置くといいよ。

 

わかりにくくてすまん

 

仕上げに今作ったオブジェクトはいらないから消して、代わりにもとからいたサフィアちゃんにアニメーションをアタッチしてあげれば・・・・

 

静止画ですまんがいい感じに動いてます

 

はいきたあああああああああ!!

 

いわゆる待機モーションってやつっすよこれ!(☆。☆)

 

スプライトもアニメーションも仮だけど、とりあえずこれでいこうと思います!

 

はい!今回はここまで!

 

いや~ゲーム作り楽しいね!!

 

 

・・・・・・・まだつらくない作業しかしてないからだろ

 

 

・・・・・次回はTilemapなるものを使ってみたいです。よろしくお願いします。。。

 

form-07.hatenablog.com

【Unity】最強のゲームクリエイターに俺はなる | Player操作しよう

どもぉ~。FORM_07ですよぉ~。

 

外の気温と部屋の気温のギャップがしんどい季節がやってきましたね。

 

体がだるい。。。

 

 

 

だが最近調子と機嫌がいいのでね!(`・ω・´)

 

早速ゲーム作り再開よ!!

 

前回↓は衝突についてちょっと学べたね。

 

【Unity】最強のゲームクリエイターに俺はなる | プロジェクト始動! - FORM_07’s blog

 

今回はPlayerを操作できるようにしよう!

 

 

Assetsの中に新しくスクリプトを入れる「Scripts」フォルダを作って、その中に「Player」って名前のスクリプトを作成。

 

フォルダ選択中に右クリック&Createでそのフォルダの中に作成でる

 

で、今作ったスクリプトドラッグ&ドロップヒエラルキー内のPlayerにアタッチっと。。。

 

さて、コードのお時間だ。。。

 

 

・・・・・・・できるかな(O_O)

 

 

Playerスクリプトを開くと、こんなん。

 

最初の状態

 

using ~~~ ;

 

これは簡単に言うと、「~~~」っていう便利機能を使いますよ~っていう宣言。

 

つまり最初の3行で「System.Collections」「System.Collections.Generic」「UnityEngine」の3つの便利ツールを使いますって宣言してる。

 

便利機能を使ってコードを書けば、短くてわかりやすいコードになるってわけ。

 

 

 

public class ~~~ : MonoBehavior

{

    ・・・・

}

 

これは、「~~~」はpublicなclassで、Monobehaviorを参照してますよ~ってこと。

 

まぁ、わいと一緒に追々理解してこ。

 



こういう"//"で始まった部分は「コメント」っていって、プログラムには影響しない文。

 

メモみたいな。

 

 

で、こういう括弧()がついてるやつを関数っていう。

 

ま、こういうのは使うときに学んでけばいいんですよ。

 

 

・・・・・・・・

 

 

さて、

 

まずはPlayerの移動だな。

 

難なく実装して格好つけたいところ。。。

 

まずはInput Systemをインストールします。

 

現時点(2023.7.19)では初期インストールされていないので、インストールする必要があるらしい。

 

WindowPackage ManagerからUnity Registryを選択し、

 

 

Input SystemInstall

 

画像はインストール済みです

 

インストールできたら、今度はInput Systemをアクティブにして使えるようにしよう。

 

EditからProject Settingを選択。

 

下の方にあるよ

そしたらPlayerの中にあるSetting for Windows, Mac, Linuxの欄のOther Settingを選択。

 

 

ある程度下にスクロールすると、Configurationの項目にActive Input Handlingなる欄があるので、そこからInput System Package (New)を選択。

 

見つけにくいかも・・・

 

Bothのままにすることもできるみたいだけど、紛らわしいからこっちでいいよね。

 

さて、下準備はOK。

 

ここからはバリバリコードの時間だ。

 

できた

方向キー入力でPlayerを移動できるはず。

 

動け!!!

 

おおおおおおおおおおおおおおおお!

 

うごいたあぁぁっぁっぁぁぁああぁああ!!

 

 

 

・・・・よし。。。。

 

 

今回はここまで。

 

次回はPlayerの見た目を作ってあげたいな。

 

form-07.hatenablog.com

 

できるかな。。。

【Unity】最強のゲームクリエイターに俺はなる | プロジェクト始動!

ども!夏バテ気味のFORM_07です!

 

暑いのは許せるが湿度、お前は許さん。😡

 

 

前回↓は2D横スクロールゲームを作ろうと目標を立てたところでした!

 

【Unity】最強のゲームクリエイターに俺はなる | 2D横スクロールゲームを作りたい - FORM_07’s blog

 

・・・・そんだけ!?(;゚ロ゚)

 

はて、何からすればいいのやら。

 

 

・・・・・(-- )

 

 

とりあえずUnity開こ。

 

Unity Hub」から新しいプロジェクトを作ろう。

 

今回は2Dゲームを作りたいから「2D」を選んだよ。

 

「2D」を選んでファイル名を決める

 

名前はとりあえず「temp」で。

 

では

 

 

起動!!

 

 

起動中・・・

 

このドーナツみたいなのなんなんだろうね。

 

 

Unityだぁ・・・


始まった。

 

 

なにしよ。。。

 

 

とりあえず新しいシーンをつくるか。

 

えっと、、Ctrl-Nで、、、

 

 

Ctrl-Nでシーン作成

「Create」を押せばシーン追加完了。

 

で、、Ctrl-Sで保存、、、っと。

 

ファイル名はとりあえず「1-1」にしといた。(ステージクリア型のゲームにするつもり)

 

もとからあった「SampleScene」は使わないから消しといた。

 

 

起動して最初に映ってる「SampleScene」は、そのまま使っても今回みたいに消しちゃってもどっちでもいいみたい。

 

 

とりあえずPlayerを操作させたいな。

 

 

まずは地面作ろ。

 

ヒエラルキー3D ObjectからCubeを作っていいかんじのサイズにしていい感じのとこに配置した。

 

名前は「Ground」でいいか。

 

お次はPlayer。

 

2D ObjectSpritesの中にSquareってのがあったから使ってみた。

 

名前は「Player」。

 

なんだこれ・・・初めて使うぞ

 

動かしたい。。。

 

どうやるんだ。

 

 

・・・(・_・)

 

 

これかな。

これ、か・・・?


Player選択中にInspectorから「Rigidbody 2D」をAdd Component

 

再生。

 

おぉぉ!

わぁ!!地面をすり抜けて画面外に行っちゃたぞ!?

 

 

ふっふっふ。。。なんてな。予想通りさ。

 

 

これが必要なんだろう???

 

これだぁぁぁ!

再生!!

 

・・・・・・。

 

なにも、、か、変わらない、、、、だと、、

 

 

・・・ふ、・・ふっふっふ。。予想ドオッゴホ!・・・ッカハ‼

 

ふっ・・っふぅ・・・。

 

 

助けてGoogle先生、、、助けてChatGPT、、、、

 

・・・・・・・(T-T)

 

 

なんとなくわかった。

 

結論から言うと、3Dオブジェクト2Dオブジェクトの衝突は、RigidbodyColliderAdd Componentするだけじゃ実装できないらしい。

 

そもそもの仕組みが違うのだとか。

 

同じグループにしてあげれば実装できるらしいのだが、よくよく考えたら、今回フィールドはスプライトで作る予定だから、地面を3Dオブジェクトにする必要なんてなかった。

 

σ(^◇^;)

 

ってことでGroundを2Dオブジェクトに変更しよう。

 

Playerと同じSquareだね。

 

こんなん

GroundにもBox Collider 2Dをつけて、、、

 

再生!!!!

 

いけっ!!!!

 

うおぉぉぉぉぉぉぉぉぉ!!

キタアアアアアアアアアアあああああああああ‼‼‼‼

 

 

う、うれしいっ!!

 

えーー、わたくし、恥ずかしながらチュートリアルなしでゲームを作るのが初めてでして。。。

 

 

いやーーー満足満足(?)

 

今回はここまで!!(⁉)

 

 

次回はPlayerを操作できるようにしよう。

 

form-07.hatenablog.com

 

 

 

それでは!!

【Unity】最強のゲームクリエイターに俺はなる | 2D横スクロールゲームを作りたい

 

「最強のゲームクリエイター」・・・いい響きだ(´д`)

 

・・・・・・

 

 

よし、なるか!

 

(!?)

 

な、何事もまずは一歩からってね。

 

 

ってなわけで「Unity」なるものを使って簡単なゲームを作っていこう。

 

何事にも言えることだけど、最初から本格的なことをしようとするのはちょっと危険だからね。

 

なのでここは小さく!まずはゲーム開発っていうものがどんな流れでできるものなのかを把握することを主な目的としてやっていこう。

 

 

まずは企画。

 

マリオとかカービィみたいな、「2D横スクロール」のゲームを作る。

 

以上。

 

 

・・・・(゚◇゚')

 

 

form-07.hatenablog.com


form-07.hatenablog.com