こんにちは、ぷっちーです
今回はUnityについて説明する記事です
Unityを使ってゲーム制作をする方は必見です!
おもにゲームエンジンであるUnityのメリット、デメリットについて説明します
是非、参考にしてください!
インストール方法の説明はこちら!↓↓↓
そもそもUnityとは?
Unityとはゲーム制作に必要な機能が予め用意されていて
それらを使ってゲーム制作をしやすくするためのゲームエンジンです
ゲーム制作を作りやすくする為に色々な機能が入ってるツールのことを
「ゲームエンジン」といいます
本来、ゲームエンジンを使わずに作業するとプログラミング言語の理解は勿論のこと、
ウィンドウの作り方、ゲームのループ処理、ベクトルや行列演算、重力計算などの数学と物理、
視覚的な操作は基本出来ないので、数字を調節してテストプレイして都度確認するなど、
表示やただ動かすだけでもかなり大変です
これらの機能をあらかじめ用意して作りやすくしてくれるのが
Unityというゲームエンジンです
Unityは数あるゲームエンジンの中でも一番知られていて、一番使われています
ゲーム会社はもちろん、個人制作でも使われています
Unityで作られた有名なタイトルは
- スーパーマリオラン
- どうぶつの森 ポケットキャンプ
- ポケモンGO
- 原神
- ウマ娘 プリティダービー
- Fall Guys(フォールガイズ)
- Among Us(アモングアス)
- Hollow Knight(ホロウナイト)
などがあります!
そして、作られたゲームの数は2024年現在では75万本を超えています!
メリット
Unityの魅力的な点や利点は以下の通りです
ではそれぞれについて解説します
プレビュー画面で配置を視覚的に調節できる
これはゲームエンジンによくある機能でUnityに限らずですが、
キャラクターやUI(メニュー画面など)の配置をプレビュー画面に表示して、
視覚的に配置出来ます!
もし、このプレビュー画面が無ければ、プログラミングによる処理だけで位置を決めて、
ゲームを一度実行して違えば後からプログラミングで微調整を繰り返すことになります
それらの時間を短縮して、かつ感覚的に配置出来るのが非常に便利で良いところです!
また、初期位置なら画面上でプログラミング無しで行えますし、プレビュー画面だけでは無く
ゲームを作る上で、あると便利な情報があらゆるところに表示されていて、とても便利です!
物理エンジンが使える
こちらもゲームエンジンではよくある機能のひとつですが、
物理的な動きをシュミレーションしてくれる機能(物理エンジン)が使えます
例えば、ボールが重力の影響を受けて徐々に落下する処理や、
地面に着地したボールがバウンドして跳ねる処理などをひと手間は必要ですが、
プログラミングせずに出来ます
もし物理エンジンを使わない場合は、重力で落下する、
バウンドさせるなどの処理を数字、物理を使いつつプログラミングする必要があります
また当たり判定(物と物が当たったかどうか調べる処理)機能もあるので、
当たり判定を取ることも可能です
当たり判定も本来は数字の知識が必要ですが、プレビュー画面で視覚的に調整でき、
後は反射させるか、貫通させるかを設定すれば、理想的な当たり判定を取ることが出来ます!
物理的な動きをさせないようにして当たり判定だけを取るといった使い方も可能なので、
当たり判定の処理をプログラミングせずに使う事も出来ます!
ネットや書籍の情報が豊富
Unityは日本語での情報がとても豊富です!
ネットではやりたい事が分かっていて検索さえ出来れば、
日本語で情報がたくさん出て来ます(英語の情報はもっと豊富にあります)
書籍も色々ありますが筆者が持っている
「Unityの教科書」は初心者にだいぶ分かりやすいのでおすすめです!
2Dゲームを中心に、3Dゲームも少し作れるようになります
Unity2023完全対応版が現在最新なので、買うのであればそちらをおすすめします
「Unityの教科書」が終わった後に「Unity本格入門」という本を進めると、
3Dゲームでもう少しだけ踏み込んだ内容が書いてあるので、そちらもおすすめします
Unity2023対応版が現在最新なので、買うのであればそちらをおすすめします
この2冊で基礎的な部分はほぼ学べるかと思います
ですが、本だけでは自分自身で理想的なゲームを作ることは難しいです
ネットも上手く活用して、どんどんゲームを作っていきましょう!
当サイトでも情報を発信していきます!
外部のソフトと連携して使いやすい
Unityは、他のソフトで作った3Dモデルなどを取り込む事が出来て、その情報量が多くあります
自分でblender(3Dモデル制作ツール)で作った3DモデルなどをUnityに取り込んで、
動かしたり出来るのでオリジナリティに溢れた制作をする事が出来ます!
Unityだけでも一応作れますが、デザインにオリジナリティが無くなってしまうので、
他のソフトで作った素材を取り込んで使う事がよくあります
オリジナリティ溢れるゲームを作りたい時に
他のソフトと連携して使う情報が見つかりやすいのはUnityの利点のひとつです!
また、後述するAsset Storeで素材を取り込むこともできます
様々なハードに対応したゲームを作る事が出来る
Unityで制作したものは、下記のハードで動作をさせる事が出来ます
幅広く対応してます!
ただ、注意点としてiPhoneやiPadなどのiOS向けに開発する場合はMacが必要です
XcodeというアプリでiPhoneなどにアプリを入れるのですが、
このXcodeが使えるのはMacだけです
Windowsでは使えないので、注意が必要です
一応Windowsで使う方法もあります
もしどうしても動かしたい場合は「WindowsでMacを使う」などで
検索して調べて見てください
ただし、おすすめはしません!自己責任でお願いします!
また、PS5やSwitchなどの家庭用ゲーム機で動かすには
有料版のUnity Proライセンスが必要になります
詳しくは後述しますが、かなり高いので注意が必要です
Asset Storeで素材を集めたり機能を増やす事が出来る
UnityにはAsset Storeという素材をダウンロード出来たり、購入出来たりするストアがあります
主にイラストや3Dモデル、音楽などの素材をダウンロードしたり購入することが出来ます
また、プログラミングやUnityそのものを更に便利にするプラグインと呼ばれる便利機能も
ダウンロードや購入することで使用出来ます
無料で利用できるものから、有料でクオリティが高いものまで色々あります
Asset Storeはこちらです
英語表記もあるので、必要に応じてgoogle翻訳などを使ってみてください
2Dゲームは勿論、3Dゲームも作りやすい
Unityは他のゲームエンジンと比べて2Dゲームも作りやすく、3Dゲームも作りやすいです
情報が豊富という点もありますが、
予めテンプレートが用意されていてそれを改造することでゲームを作ることが出来ます
英語ですがチュートリアルも公式で用意されています
他のゲームエンジンだと2Dか3Dに特化していてどちらかは作れるけど、
もう一方は作りにくいことがよくありますが、Unityは両方とも作りやすいので
迷ったらUnityを選んでおいて損は無い、みたいなところがあります
あくまで「作りやすい」です「簡単に作れる」とは断言しません!
ゲーム制作そのものが結構大変で、
その部分のいくつかの要素を作りやすくしてくれるものだと思ってください!
無料で利用出来る(条件あり)
Unityはこれだけのメリットがある上で、
ゲームを作る上で必要な事のほとんどを無料で使うことが出来ます!
ですが、無料だとゲーム起動時にUnityのロゴが必ず表示されるなどの制限があります
それらの制限を解除する為には、有料版を使用する必要があります
また、Unityを使って制作したゲームがある程度の収入を得た場合も無料では使えなくなります
下記に料金や出来ることをまとめてありますので
参考にしてください
プラン | Personal | Pro | Enterprise |
月額払いプラン | 無料 | ¥27,500 (一年¥330,000) | なし |
年額払いプラン | 無料 | ¥302,940 | ¥ 445,500(オーダーメイド制なので、参考値) |
ゲーム機での制作 | 不可 | 可能 | 可能 |
ゲーム起動時の Unityロゴ表示の カスタマイズ | Unityのロゴは 消せないが可能 | 自由に編集可能 | 自由に編集可能 |
Runtime Feeの対象(後述) | なし | あり | あり |
売上上限 | あり(後述) | なし | なし |
AR/VR開発機能 | なし | あり | あり |
ゲーム以外の用途 (自動車、映画、建物などで役に立つ機能) | なし | なし | あり |
Plusプランが過去にありましたが、2024年現在は廃止されています!
参考書や過去の記事によくありますが、現在は利用出来ないので気を付けてください!
学生だとstudentプランがあり、学生の間はProと同じ機能が使えます!
個人の方は無料のPersonalプランでゲーム制作をしてみましょう!
ですが、表の通り制限がありますので、注意は必要です
Personalプランは資金調達額と年間売上が10万ドル以下(約1300万円以下)の
企業や個人のみ使用できます
基本趣味でやる方には関係が無いかとは思われますが、念の為頭の片隅に入れておいてください
また、「Runtime Fee」というランタイム料金というシステムが導入されました
詳しくはこちらをご覧ください
無料版であるPersonalには適応されません
ProやEnterpriseには関係がありますので、
使う場合は「Runtime Fee」については調べておいた方がよいでしょう
「Runtime Fee」については後述するデメリットの部分でも触れています
気になる方はご覧ください
デメリット
Unityを使う上で気を付ける点やイマイチな点は以下の通りです
ではそれぞれについて解説します
映像が綺麗なハイクオリティゲーム開発には向かない
Unityで作られたゲームの例を見ればわかる通り、
どちらかと言えばスマホ向けか、カジュアルなゲーム向けのゲームエンジンです
頑張って映像を綺麗にすることも出来なくは無いですが、
それをするなら元々映像が綺麗なUnreal Engineというゲームエンジンに軍配が上がります
工夫をすればハイクオリティな映像で制作出来ますが、専門的な知識は確実に必要になります
また、処理の最適化も行わないと映像が綺麗でもカクカクしていて、
ゲームをするには耐え難いものになることも多くあります
Unityも進化はしていくとは思うので、現段階での評価になります
料金改正で炎上した事がある
メリットの部分でも紹介しましたが、2023年9月12日に
Unityが新料金プラン「Unity Runtime Fee」を発表しました
発表当時の情報を簡単にまとめると
・作られたゲームのインストールされた数によって手数料を取る(無料版も含む)
・過去に作られたゲームも対象なので、それらも追加で料金を取る
といったものです(現在は条件が変更されています)
こちら参考記事です
これは大炎上し、もうUnityは使わない!という企業や個人も多数出るほどの事件になってしまいました
ここで言えることは
「もしもUnityでしかゲームが作れない状況であれば、
条件に従うか、勉強して違うゲームエンジンに切り替える必要があった」
ということです
今回は大炎上を受けてUnity側がそのプランを修正することになりましたが、
もしもそこまで炎上しなければ今現在もその条件になっていた可能性もあります
現在は落ち着いていますが、Unity自体は赤字の状態です
今後も価格や条件が変わらず使える保証はありません
実際に手頃な価格のPlusライセンスが消え、
高価なProライセンスの値上がりが2024年にありました
料金に関わらず、ゲームエンジンの仕様が変われば対策をする必要がある可能性もあります
つまり、ゲームエンジンに頼り切ると仕様変更や価格改正などのゲームそのもの以外のことで
考えなくてはならないこともある、ということです
あくまでも、ゲームエンジンはゲームを作るための手段です
ゲームエンジンありきになるとリスクはある、ということだけは承知しておいてください
人によっては使いにくい所がある
これは、Unityが機能豊富な点が裏目にでた結果ですが
機能を提供してくれるのは良いとしても使いにくいことがあります
Unityを使った人は知っているかも知れないですが、
Resourcesフォルダや、Findメソッドには使い方に注意が必要、
Unityの標準セーブ機能(PlayerPrefs)が万能では無いとかです
初心者の方は機能豊富すぎるゆえに、
どこから手を付けていいかわからないことも多くあるかと思います
そして、理解していくにつれてゲームエンジンの仕様がちょっと使いにくいな、
と思うことが今後あるかも知れません
ですが、こればかりは慣れるしかないのかな、と思います
原則的にはUnityの機能を使って制作した方がUnityの理解は早まります
やっていく内にここは独自でプログラミングしようかな、という部分だけやっていくのが良いです
初心者の方は使えるものはどんどん使っていきましょう!
大規模になるほど、最適化をしないとゲームが重くなりがち
大規模になってくるとアプリが重くなる事もよくあり、
必要に応じて処理の最適化を施す必要が出て来ます
特にスマホではそれほど処理機能が優秀では無い場合も多くあるので、
動いてもカクカクだったり、スマホが熱を持ちやすくなったりして
充電の減りが早くなってしまうこともあります
3Dのゲームや、2Dゲームでも物理エンジンの多用で重くなるので、
規模が大きくなるにつれて処理負荷を考える必要は出て来ます
規模が大きくなくても、処理に無駄があると動作が重くなるので、注意しましょう
初心者の方はひとまず動くことを目標にしていきましょう!
作っていく段階でより良い方法を学んでいけば自ずと処理が良くなっていきます
ビジュアルスクリプティングの情報が少なめ
まず、ビジュアルスクリプティングとは
プログラミング無しでゲームを作成するためのツールのことです
四角形のノード(処理)を違うノードに線で繋いで、望んだ動作させることが出来ます
一見すごく良さそうに聞こえますが、Unityがこの機能を公式として使えるようになったのが
Unity2021バージョン(2020年ぐらい)からなので、まだ情報が沢山あるわけではないです
この情報が少ないというのが、初心者にとってはかなりのデメリットになります
また、Unityは元々C#によるプログラミングで作るのがデフォルトなので
どうしてもやりたい事を調べるとC#の情報が出てきてしまいがちです
そして、ビジュアルスクリプティング全体に言えることですが、
いくらプログラミング無しで出来るとはいえプログラミングの理論そのものや、
実現したい処理に使うノードがどれを使えば良いか分からないと、ゲームが作れません
それらの分からないことを調べる時にUnityだとC#が基本になってしまうのです
また、色々突き詰めていくと結局C#でプログラミングした方が良い部分もあったりするので、
UnityのビジュアルスクリプティングはあくまでもC#と一緒に使うのが良いかと思います
初心者の方はUnityを使うとC#の基礎を学んでC#を使いプログラミングをするか、
ビジュアルスクリプティングで情報が少ない中頑張って作るかの二択になってしまうのは
ちょっとデメリットかな、と思ってしまいます
Unityはおすすめ?
結論から言うと、おすすめです!
特に「本格的なゲーム制作」をしようとしている初心者の方には超おすすめです!
Unityには作れないジャンルのゲームはほぼないです!技術力があれば何でも作れます!
ですが、そのためにはC#のプログラミング知識、ゲーム制作の根本的な知識、
Unityの機能の理解とそれらを上手く使う技術が必要です
とはいえ、書籍ネット双方で日本語での情報がたくさんあるのは
Unityの唯一無二の良さだと思います
もし興味が出てきたらUnityのインストールをしてみましょう!
インストール方法の説明はこちら!↓↓↓
まとめ
「ゲームエンジンUnityのメリット、デメリット」について解説しました
Unityを使うと色々なゲームが作れます!
興味がでたら下記の記事を参考にインストールしてみてください!
最後まで読んでいただきありがとうございました!
コメント