こんにちは!イトナブ石巻の日の出です!
最近コロナウィルスの影響でイベントがどんどん延期や中止になっていますね。
そのかわりオンラインでのイベントが増えてきている気がします。
自宅にいながらいろんなイベントに参加できるのはとてもありがたい一方で、カンファレンスやイベントに参加する理由ってその場に来ている人との交流だったりもするので、早く収まってくれることを願います。
Unity×プログラミング
さて、今回はイトナブでもプログラミング授業やワークショップでよく使っているUnityについて書いていきたいと思います。
ユニティ・テクノロジーズ社が提供する、ゲーム開発プラットフォームのことです。
ゲーム開発プラットフォームと言っていますが、現在はゲーム開発以外(医療・建築・アートetc..)にも幅広く使われているんです。Unityすごい!
Unityの特徴
Unityの主な特徴を少し解説します。
マルチプラットフォーム
Unityの特徴の1つとしてマルチプラットフォームがあります。
Unityで制作したアプリケーションは上の画像のようなプラットフォームすべてに書き出すことができるので、iOS、Android、Web用に別々に作るという手間を省くことができます(もちろんUI等の修正は必要ですが)。
アセットストア
ゲーム開発に欠かせないUnity用アセット(3Dデータ、音楽、アニメーションなど)を購入することができるサービスです。
購入といっても無料のアセットが大量にあり、正直無料アセットだけでハイクオリティの3Dゲームなんかも作れちゃいます。
他にもいろいろ
基本的に個人であれば無料で使えたりなど、他にもたくさんの特徴があるのですが、全部細かく話していたらそれだけで終わってしまうので割愛させていただきます。
詳しく知りたい方は公式のページを見てください。
Unityからプログラミングを始めるメリット/デメリット
さて、そんなUnityですが、やはりゲーム開発ということもあって学生から大変人気があります。
モバイルゲームやコンシューマー向けのゲームなんかは学生が普段から接しているのでイメージが付きやすいんでしょうね。
ここからはUnityを使ったプログラミング学習のメリット・デメリットを自分なりに紹介していきます!
メリット1.コードを書かなくてもそれなりのものが出来てしまう。
プログラミング学習にという話なのにいきなりコードを書かないことをメリットに上げてしまいました。すみません。
Unityはオブジェクトの配置、パラメーターの操作などをUnityエディタ上で行います。
マウスのドラッグ&ドロップで3Dデータの配置や、オブジェクトの大きさなどを直接パラメーターを操作して変えるので初めてUnityを操作した人でも1時間足らずで3Dキャラクターを自身のゲーム内に配置することができます。
前のコラムでも書きましたが、プログラミングを学ぶ上でモチベーションはすごく重要です。
四則演算の結果をコンソールに出すよりも、四則演算で可愛いorカッコいいキャラクターのspeedを変えて走らせてみたほうが楽しくないですか?そうでもないですか?
コードを書かなくてもちょっとしたゲームが作れ、そこに少しプログラミングを加えるとどんどんゲームの内容が変化していくのを画面で確認できるので、きっかけとしてのUnityはすごくいいと思っています!
メリット2.ググれば大抵の情報が出てくる
初心者に関わらずですが、エラーやコードの書き方がわからないときは、まずはインターネットで検索などをしますよね。
Unityは多くのユーザーがいるので、インターネットで検索すると大量の情報がヒットします。みんなが躓いたポイントは大抵他の人も躓いているのです。
そして先人たちは同じように躓いてしまった人のため、もしくは自身の備忘録としてさまざまな対処法などを共有してくれています。
情報が多ければそれだけ解決の糸口を見つけやすくなるので、ユーザー数が多いのもメリットの1つだと言えるでしょう。
メリット3.求人数の増加
せっかくUnityを始めて、スキルアップしてもそれを活かして働ける場所がないと困りますよね。
5G、XRなどの技術の進歩でこれからのゲーム業界は更に発展していくと予想されています。そうなると当然それらのコンテンツを開発するエンジニアの需要もどんどん増えていきます。
さらに、昨今ではUnityはゲーム開発以外の分野でも活用され始めてきているので、間違いなくUnityスキルを持つエンジニアの需要は高まってくるでしょう。
とはいえ、Unityも良いことだらけではありません。
今度はUnityを教える上でのデメリット部分も紹介していきます。
デメリット1.重い
はい、重いです。まぁ3Dデータを扱うので重いのは当然ですよね。簡単なゲームであればそこまで気にしませんが、ある程度ボリュームのあるコンテンツを作ろうとすればそれなりのスペックのパソコンが必要になります。
私の使っている2016年MacBookPro13インチ(メモリ8MB)だとオープンワールド系のゲームを作ろうとするとたまにカクカクします。
そしてファンがめっちゃ回ります。つらい。
なので、「自分のパソコンでUnity動かしたい」という学生が来ても、最悪動かせないことも多々あるので、今後Unityを動かすためにパソコンを買おうかと考えている人はパソコンのスペックも考慮して買いましょう。
デメリット2.バージョン違いで動かない
こちらは別にUnityに限った話ではないのですが、Unityは年度ごとに大きなアップデートがあり、Unity2019版では普通に使えたアセットがUnity2020版にアップデートした途端に動かなくなってしまったなんてこともよくあります。
バージョンアップではパーミッション系のエラーが出たりするので初心者が躓きやすいポイントだったりします。なるべく制作中のプロジェクトはアップデートしないで進めていき、LTS(長期サポート)版を使用することをおすすめします。
あとはUnityHubを使えば複数のバージョンのUnityを簡単に切り替えられるのでおすすめですよ。
デメリット3.エラーがちょっと分かりずらい
こちらもUnityに限った話ではないと思うのですが、プログラム上のエラーであればエラー文を読んだり、調べれば解決策が分かるのですが、Unityではたまにコンソールにエラー文が表示されないけどエラーで動かないなんてことがあります。
よく初めての人がつまずくエラーは「All compiler errors have to be fixed before you can enter playmode!:」と表示されてあるだけで、何がエラーなのか教えてくれないやつでしょう。
「実行する前にエラー直してね!と言われても、何がエラーなのか教えてくれないと直しようがないよ!」とツッコみたくなるやつです。
慣れてくれば何が原因なのかすぐに分かるようになるのですが、Unity触りたての頃のこのエラーは精神を蝕みます。
おまけ
Unity Playground
Unity Playgroundは初心者向けのフレームワークで、本当にプログラムを書かなくても本格的な2D系のゲームを制作することができます。
最初から「move(移動するスクリプト)」や「jump(ジャンプさせるスクリプト)」といったコンポーネント(パーツ)が用意されていて、それらを組み合わせてゲームを制作していきます。
ですので、Scratchのようなビジュアルプログラミングから次のステップアップとしてこのPlaygroundを使ってゲームを開発する流れはとても分かりやすいんじゃないかなと思います。
Unityの使い方も学べるので、初めてのUnityとしてもおすすめです!
Unityはパソコンのスペックさえクリアすればすぐにでも始められますし、公式からも初心者向けのコンテンツがどんどん出されているので学びやすい環境だと思います。
今回はUnityのメリット/デメリットを書いたのですが、どのようなものにも必ずメリット/デメリットがあるので、最終的に自分が興味のあるものであればどんどんチャレンジしちゃいましょう。
Comments