C#なんて初めて書くんだけど、なんかコードおかしくない?
目次
Unityを知るために参考書購入
今回参考書に選んだのはこちら
選んだ理由は表紙の絵柄の女の子が可愛いかったからまずはUnityを理解するという点で、自分の現在の技量に非常にマッチングしてくれる参考書であると言うことが挙げられます。
本を読む前に覚えておくこと
Unityって基本英語なんでいくつか分からない単語があったりするんですが、用語の意味が分からなくても読み方は覚えておいた方がいいですね。
後に検索する意味でも利用するし、読めなかったことにより文章を読むという行動が一時的に止まってしまい思考の海から投げ出されて集中力が途切れる原因になります。
パルスのファルシのルシがパージでコクーンが読めればなんてことないですが、The l'Cie of the Pulse fal'Cie in the Purge of Cocoonとか書かれたら???となり読もうとする気がそがれますよね。そういうもんです。
これが結構な頻度重なると最終的にモチベが低下しますね。英語の授業と似たようなもんです。
必要な単語は意識高い系の学生が横文字ビジネス用語を乱発するかのように過剰に使って慣らしていった方がいいです。
Unityインストール
とりあえず気をつけるのはUnityのバージョン合わせ。
参考書通りにインストールしないと予期せぬバグが発生し自分で直せません⇒モチベだだ下がり⇒エターナルフォースブリザード
という黄金パターンになりかねないので気をつけてバージョンを合わせる……
参考書指定のUnityバージョン | Ynek0がインストールしたUnityバージョン |
2022.3.2.f1 | 2022.3.20.f1 |
んんぅ????なんか違和感が……君なんかちがくない??そうゼロ!余計なゼロがある!インストールし直しや!
と言うTo LOVEるもあり、無事インストールできましたとさ。
Unityゲームの用語について
意味は大体理解した感じ。後は言葉としてしっかり使っていって馴染ませる必要があるかな。
最初から~みたいなもので理解すると用語を忘れるんで。
シーン(scene)
このシーンって言うのは画面を表す。メインのゲーム画面の他に、タイトルやらスコア画面などの画面の単位で使用する。
ゲームオブジェクト(GameObject)
ゲーム画面内(scene)に存在する全ての存在がゲームオブジェクトに分類。
コンポーネント(Component)
ゲームオブジェクトに装備させるアクセサリーみたいなもの。
キャラクターというオブジェクトに重力や当たりというコンポーネントを装備させると言ったイメージ
アセット(Asset)
音楽や画像、3Dデータなどの素材データの事。
Unityの画面構成
昔、クリスタの初期画面であたふたした記憶を思い出しました。そんなファーストインプレッション
実際に使ってみてそこそこ利用するもののみをピックアップ
ヒエラルキービュー
めっちゃよく見る画面。
シーンビュー内に表示されているゲームオブジェクト一覧が表示される。
名前も変えられる。
インスペクタービュー
めっちゃよく弄る画面
シーンビュー内に表示されている選択されたゲームオブジェクトの情報を表示する。
コンポーネントなども追加していく画面。表示優先度や位置情報もここで弄れる。
プロジェクトビュー
素材が欲しいときやゲームコード書くときに利用する画面
ゲームプロジェクトで利用するアセットが表示される。
それらを選択してシーン内にドラッグアンドドロップする事ができたりする。
コンソールタブでDebug.logの出力管理をすることができる。
シーンビュー/ゲームビュー
表示されるシーンを確認する為の画面、素材選択、配置するときなどをするときによく使う。
サンプルのDL……遅くね???
サンプルデータのDLをやっとこうとしてとりあえず600M位のデータを落とそうとしたら1日かかるとか出てきた。
なんやねんそれ……
あおり運転よろしく並のノロノロ回線くらい遅いのうちのWi-Fi?
そう思ってスピードテストしたら普通に100Mbps出していたので爆速ですね。そういえばうちはWi-Fi6Eだったと言うことを思い出した。
となるとサーバーの回線が遅いのか……まじか、詰んだやん。
とりあえず軽いデータは落とすことができたので進めることは可能です。
素材をポイポイとシーンに入れる。
プロジェクトビューから素材をシーンビュー内につっこむとシーン内に投入した素材のゲームオブジェクトが表示される。
さらにインスペクタービューにはそのオブジェクトに付随したコンポーネント情報も表示された。
初期でくっついているコンポーネントは以下の通り。
トランスフォーム(Transform)
位置・回転・拡大率を決めるコンポーネント
ポジション(Position)
ゲームオブジェクトの座標位置を司るパラメーター
シーン上のゲームオブジェクトの位置をX・Y・Zの座標位置の数値が入る。
基本的にシーン内で対象ゲームオブジェクトを動かすとこちらの数値も変動する。
ローテーション(Rotation)
ゲームオブジェクトの回転を司るパラメーター
XYZの各軸の方向を中心とした回転を加える事ができます。
2Dゲームの場合はZ軸方向を中心とした回転を意識。
スカラ(Scala)
ゲームオブジェクトの表示倍率を司るパラメーター
X・Y・Zで表示倍率をへんこうすることができます。
スプライトレンダラー(Sprite Renderer)
画像を表示するコンポーネント
選択されたゲームオブジェクトの画像に関するパラメーターを弄ることができる。
スプライト(Sprite)
Unityでは画像をスプライトと呼ぶ。
シーンビューに映っているゲームオブジェクトの参照先スプライトアセット
ここに表示されているスプライトアセットを変更するとシーンビューで表示されるゲームオブジェクトのスプライトが変更される。
カラー(Color)
現在表示しているシーンビュー内のゲームオブジェクトに色味を加える。
デフォルトは白。
フリップ(Flip)
選択しているゲームオブジェクトを左右反転、上下反転させる事ができる。
ソーティングレイヤー(Sorting Layer)
超重要機能
ゲームオブジェクトをレイヤーというグループに分け、表示優先順位をグループごとに分ける。
オーダーインレイヤー(Order in layer)
超重要機能2
ソーティングレイヤーで分けたレイヤーの中でゲームオブジェクトがシーンに表示される順番を決めます。
数値が大きい程、手前に表示される。
またオーダーインレイヤーの値が同じの場合、表示優先はポジションのZ軸の値(小さいほど手前に表示)で決まる。
ゲームオブジェクトの名前変更
ヒエラルキービューのゲームオブジェクトのリストから名前変更ができる。
ドラッグアンドドロップでスプライトアセットから投入したゲームオブジェクトだと初期はアセット名がゲームオブジェクト名となる。
後にC#でもゲームオブジェクトの名前を指定することがあるので早めに名前を決めて変更しておくことが良い。
ゲームオブジェクト=スプライトアセットという事ではない。
分解していくとゲームオブジェクトというものに、スプライトレンダラーというコンポーネントが装備されており、それにより画像が表示されている。という内容であると言うこと。
見た目は同じでも中身は違っていることに注意。
シーンをScenes In Buildに登録する。
シーンを保存しただけではUnityを起動したときに読み込まれない。
なので読み込むように設定する必要があります。
[File]=> [Build Settings...]開いたウィンドウに保存したシーンファイルをScenes In Build枠内にドラッグアンドドロップして追加。
完了
このBuild In Settings はUnityで作ったゲームを様々な環境に書き出す設定を行う為のウィンドウ。
つまりはSteamだったりiOSだったりAndroidだったりと様々なOSでゲームを書き出す際の環境の設定ができると画面と言う事。
そこにシーンを1つ追加しましたよって事です。