Re:シルの日々の戯言。

散財が生き甲斐になりかけている、デジタルガジェット大好き自称黄色いネズミの戯言。

少しだけUnityについて学んだのでまとめてみる

あまり細かなお話は省略しますが、Unityに手を出しました。えぇ、Pixel 5aを買った理由にも関連するお話ですが、今は詳細は伏せておくこととします。
おそらくUnityはゲームのプレイヤーとしては縁があるものの、開発者側としては未来永劫縁のないお話かと*1思っていましたが、遂に縁が巡ってきてしまいました。

まだまだ基礎中の基礎しか把握していませんが、近年のインターネット記事はおそらくPV稼ぎであろう超細切れ記事が量産され、かと思えば俗に言う「ゆっくり実況」テンプレートな動画に変な萌え要素を加えて中身よりもPV稼ぎメインだったり過酷な環境となっています。
まだまだ習熟中なので「Unityの全てを学んできた」みたいな横暴・傲慢なことを言うつもりはありませんが、学習スタートアップとして何を見てある程度の知見を付けてきたを綴っておくこととします。

現在のスキル取得状況

戯言日記の前に、現在のわたくしがどのくらい知恵が入っているかを晒しておくこととします。

正直、まだまだ初歩の初歩の初歩くらいなので全然知恵が入っていません。
とりあえずオブジェクト配置して・スクリプト貼っ付けて・必要に応じてプレハブ化して・・・と言うところはできてます。
当たり判定付けてどうにかこうにかゲーム的な「なにか」には出来ました。ただし、テンプレート通りにしか作れていないので、オリジナルでのゲーム作成はまだ無理です。

補完知識として雑な安物書籍でC#の知識を取得中、ただし知っている言語・スクリプトをどうコンバートすれば良いのかを一生懸命無い知恵を使って理解を進めている真っ最中なので、まだまだ言われたとおり(書かれているとおり)にしか出来ません。

そのレベルで得意げなツラでブログ記事書いちゃうのか・・・と呆れられそうですが、ある程度まとめたところでチラシの裏(戯言日記)に書いておかないと記憶の彼方に消え去ってしまうので、そこは少々個人ブログのネタとしてお付き合いお願いいたします。

スタートアップでチェックしたもの

近年のインターネットは上記に記載したとおり、PV稼ぎを目的としているのか尋常ではないレベルでみじん切りにすることが流行ってしまっているようで、正直Unityに限りませんがインターネット上の情報だけで学ぶことは難易度の高い行為となってしまっています。

そのため、私は以下の3つのソースをスタートアップガイドとして学習のベースにしています。

ドットインストールのUnity入門

dotinstall.com

数年前に骨折して在宅勤務していた頃、仕事用PCにブックマークしていたドットインストール、この中にUnity入門と言う講座があったため最初の足掛かりとして利用しました。

2~3分の動画講座が都合26回とみじん切りレベルの細切れ講座となっていますが、純然たる動画講座なのでそこまで目くじらを立てるレベルではありません。ただしもう少し圧縮と言うか1回の講座を5〜6分程度・合計12〜13回程度の講座だと個人的には丁度いい長さで嬉しい気がします。

実際の画面を見ながらどのようなオペレーションをするのかを把握しやすいため、最初のスタートアップとしては個人的には最適な講座だと思われます。*2下手なネットの分割細切れ講座やTuberチックなイロモノ講座を見るよりは、遥かに有意義な動画講座だと思います。

O'REILLY Unityによるモバイルゲーム開発

Amazon.co.jpの珍獣館・・・もといレビューで「クソクソ!こんなの入門書じゃない!!!11」の類を見つけて気になったので手にとったUnity入門書です。*3
・・・と言うか、Amazonのサムネに出てくる「あーそーゆーことね、ユニティ完全に理解した」と言う帯的ななにか、実物の本を入手したら本物の帯で存在しててクソワロタw

構図としては最初にコード・続いて解説と言う流れのため、本当の初心者からすると「いきなりそんなもん出されてもわかんねーわ!!!11」と言いたくなってしまうのかも知れません。
ただ解説の部分でもコードを抜き出して「ここはこのような処理です」と解説されているので、個人的にはオライリーにしては親切な構図になっているなぁ・・・と思うので、ある程度何らかの言語の知見があるもののUnity(C#)は初めてと言うユーザー層向けと言う印象です。

私の場合は最近はスクリプト言語(主にbash)がメインで、あまりプログラミング言語とは縁のない日々が続いていますが、それでも「あぁなるほどなるほど、そーゆーことね、完全ではないけど理解した!」と多少の置換が効くので見てて眠くはなりません。
さらに2D/3Dそれぞれのモバイルゲーム作成フローが具体的事例で綴られているので、将来的に(2D/3D)どちらの方向に進んでも入門書として役立ち続ける素晴らしい入門書だと思っています。*4

基礎からわかるC#

改訂2版 基礎からわかるC#

改訂2版 基礎からわかるC#

  • 作者:西村誠
  • シーアンドアール研究所
Amazon

O'REILLY本で「Unity(C#)」と描いたとおり、Unityで使われる言語はC#です。そのため、C#の知見を補足するために雑なC#入門書に手を出しています。
内容としてはVisual StudioC#をゴニョゴニョと言ったところですが、こちらのほうがまだ私が近年メインで触れているスクリプト言語から何を置き換えればいいのか、どのようなお作法なのかを把握しやすい書籍となっています。

・・・が、内容としては非常に地味で、ドス窓(黒背景灰色文字のコマンドプロンプトな画面)で「Hello C# World」と表示させたり、四則計算で「はい、1+1=2と出ました」と言った地味な解説が続きます。
基礎中の基礎をしっかり固めたいと言う人向けなので、「俺はそんなことどうでもいいんだ!スマホゲームで当てたいんだ!」と野心的な方には見向きもされないのかも知れません・・・が、こういう初歩的な部分は大事なのでUnityでド派手な演出をしたいと思っている人ほど熟読しておく必要があります。

実際に手を動かすのも重要

動画を見たり、書籍を見たりして勉強するのは構いませんが、なんだかんだ実際に手を動かすのも大事なことです。
現状は急に(本業のIT技術者方面が)忙しくなり十分な時間を取れず、ドットインストールの講座で出てきた作品しか自分の手で配置・コーディング出来ていません。そうとは言え、思考停止で映像を見てるだけよりは、実際に手を動かしてコーディングしたほうが遥かに記憶に残ります。*5

今後については一旦(Visual Studio入れる必要はありますが)C#入門書でのコードを手打ちしてC#のお作法と言うか、多少なりとも慣れてからO'REILLY本の2Dゲームプロジェクトを作成して、その後になにか非公開方式で自作ゲームと言うものに手を出してみようとおもいます。非公開の理由は、Unityに手を出した動機が将来的に複数の開発者でUnityプロジェクトをGit辺りで共有して共同開発するためのインフラ検証が目的でUnityを学習しているだけで、ゲームプログラマーになることがゴールでは無いので・・・。・・・だからってUnityのコーディング周りまで学習する必要があるかと問われると微妙ですけど・・・。

いきなり「よーし、パパゲーム作っちゃうぞー」でも構いませんし、案外この手のは勢いが重要なのかも知れませんが、私はまず土台を固めておきたいので今は地味なことを突き進めていくところです。
・・・繰り返しますが、制作物の公開予定はありませんよ?野心的な思惑があるなら「ぼきゅはこうしてド素人になりますた!」と言うブログ記事なんて書かず、Twitterの然るべきクラスタで「本日はこのような進捗です、よろしくおねがいします!!!11」と進捗報告してたり*6もっと活発に動きますよ?

*1:確かに「職業:IT技術者」ですが、サーバー環境を整えるどちらかと言うとインフラ側のエンジニアですぜ。Unity覚えるくらいなら新しいサーバーOSの導入手順やチューニング方法学習したほうが、まだお金になる身分ですぜ・・・。

*2:ただしmacOSの画面での操作なので、一部Windows画面との差分があります。補足として「Windowsの場合は」とありますが、見逃して「Windowsだとどこだよー」とフラストレーションが溜まった部分があったので、動画以外の部分までちゃんとチェックする必要があります。

*3:かなりの捻くれ思考ですが、珍獣館などで「こんなのゴミだ!」と言う鳴き声があるO'REILLY本は一定のスキル・知恵があるならば大変なまでに有能な書籍と思っています。

*4:今のところは2Dメインを想定しているので3D項目は完全には読破していませんが、結構丁寧に書かれているので食わず嫌いをせずとりあえず目を通すという苦労もせずに「Unity完全に理解した!」と思い込みたい人以外には本当に最適な入門書です。

*5:あと雑に整えた環境から「やっぱVisual Studio Code入れといたほうがコーディング時に入力候補出てきて誤タイプ防止になるな」とか改善点をいくつか見つけられるので、講座に出てきたコードをコピペではなく自分自身の手で入力するのは大事だと思う。

*6:知人から教えてもらいましたが、どうやらゲーム作成専用のタグが存在して、そういうTwitterクラスタがあるようです。世界は広い・・・。