見出し画像

【MENTAレポ】Unityアプリを作りました

7月〜8月中にMENTAというサービスを利用して、趣味の手回しオルゴールアプリをUnityで開発しました。

作曲用のアプリが作りたいという思いから勉強を始め、UnityもC#も初心者で開発期間もコストも未知数の中、MENTAのアプリ開発サポートという形でメンターさんにお願いしました。
その体験がかなり良かったのでnoteにまとめます。

このnoteは以下の3部構成です。

①どうしても手回しオルゴールアプリが作りたかった話
②MENTAでメンターさんを探して、受講してみた話
③まとめ

①では手回しオルゴールについて長めに語っているので、MENTAについて気になる方は②からお読みください。


①どうしても手回しオルゴールアプリが作りたかった


手回しオルゴールとは

簡単に説明すると穴の空いた紙を手回し式のオルゴールに通して演奏する楽器です。
オルゴールの大きさによって、出せる音数が決まっていますが、自分で好きな曲を好きなだけ作ることが出来るのが魅力です。

私はpaper tunesという商品に一目惚れしてハマりました。

paper tunesは半音なしの15音を出すことができるのですが、作曲をし始めるとどうしても音が足りず、昨年倍の30音出せるものを購入しました。

画像1

半音が出せるようになったので、作曲の幅が広がりある程度の曲は表現できるようになりました。


曲を作る工程がとても大変

今回どうしてもアプリを作りたかった理由は、曲のシートを作るのにかなり時間がかかるからです。

私が1曲のシートを作る時は以下のような作業をします。

①楽譜作成→②手回しオルゴール用紙に変換→③試聴と修正を繰り返す→完成

①の楽譜作成はMuseScoreというアプリを使っているので、ある程度簡単に作業できるようになったのですが、②と③が紙に実際に穴を開けながら確認するので、かなり時間がかかります(紙も消費します)

画像2

↑試聴用の紙 音が変な場合はテープで隠したり、和音をここで足したりするので紙がどんどん穴とテープだらけになっていきます。
曲が完成したら再度本番用の紙に穴を開けます。
穴はパンチで1つ1つ開けていきます。

試聴の時間の大半が穴を開ける作業なのと、試聴による厚紙の消費が気になっていて、なんとかこの部分をデジタルでできないか…とずっと考えていました。

試しに自分で作ってみた

自分のできそうな範囲でツールを作ってみよう!!と2年前にGASとスプレッドシートでオルゴールの試聴プログラムを作ってみたことも…

試聴はできたのですが、音の入力が面倒なのと入力したものをまた手回しオルゴールの譜面に直す必要があり、結果として工程が1つ増えて作業時間が増えたので使わなくなりました…
GASの勉強になりました。

使えるツールを先に用意しないと手回しオルゴールを続けられなさそうだと思ったので、再度アプリ作りを決意しました。


②MENTAでメンターさんを探して、受講してみた

MENTAとは

MENTAは教えたい人(メンター)と学びたい人(メンティー)をつなぐサービスです。
デザインやプログラミング、マーケティングなど様々なジャンルのメンターがいます。

メンターの提示しているプランを購入することもできますし、メンティー側から「○○を学びたいので誰か教えてください!」と募集することができます。
メンター募集機能は学びたいことがはっきりしている人は魅力的な機能だなと思いました。


MENTAで探そうとしたきっかけ

実は最初は外注も考えており、クラウドワークス系でエンジニアの方にUIイメージと要件で見積をお願いしたところ、個人の趣味では厳しい額になりました。

自分で作るしかない…と数冊Unity2Dの本を買い、ネット検索をしながら作り始めました…が、1ヶ月やってみて独学では機能を作り切るのは難しそうだと判断し、習うことを決めました。

動画の講座やオンラインスクールでは、1から学ぶことはできても、結局作りたいアプリ開発までできるようになるか分からないという懸念があったので、作りたいアプリのサポートをお願いできるような方法はないかと探してMENTAに辿り着きました。

メンターさんの探し方

MENTAの「メンター募集」を使って、Unityのアプリの概要(かなりざっくり)を書いて開発サポートの募集を行いました。
UnityのメンターさんはMENTA登録者の中では少ない方だと感じていたので、Unityの開発サポートプランを出されているメンターさんを探しつつ、提案を待ちました。
募集して数日でプランの提案をいただきました☺️

プランの契約

今回は、Nanriu先生にメンターをお願いしました!
募集要項にUnityアプリのざっくりすぎる概要しか書いてなかったにも関わらず、必要な機能を把握して適切な授業プランを提案してくださり、かなり驚きました。
メッセージでより詳細な内容や、現段階で決めていたUI画像などを共有し、より具体的に授業プランを決めて、契約をお願いしました🙇‍♀️

今回の私のプランは、1ヶ月チャットでの質問+3回通話での授業(1時間)ができるプランでした。

Nanriu先生のMENTAアカウントです。
授業も、チャットの返信もかなり丁寧で分かりやすいです。
Unityを学びたい方、開発サポートを受けたい方、規模がわからなくても内容に応じて適したプランを組み立ててくださいます。


授業を受けたら、世界が変わった

1ヶ月のプランが始まり、まずは途中で挫折したUnityデータを綺麗したり、エラーを洗い出した上で1回目の授業を受けました。

世界が変わりました🌍

分からない開発環境、や言語を独学で勉強するのは、かなり時間がかかり、しかも作ったものが正しいかどうかも判断できません(動けばとりあえずOKの状態)

本で学習した場合、「〇〇と書いてください」と書いてあることはあっても「どうして△△だとダメなのか」「このエラーは何が原因か」まで書いてあるものは少ないです。
ネットの場合は対象の記事がなければ辿り着けないですし、バージョンが古かったり、英語だったり…と苦労します。
それが、たった1時間の授業でほとんど解決しました。

正解が分かる安心感や、先生の解説の分かりやすさ、期待通りの動きをするプログラムに感動しました。

授業を経て1番強く感じたのは、受け身の授業よりも1度は自分で苦しんで調べて作った部分なので理解度が段違いだということでした。
この1回目の授業の後、学び方のルールを以下のように決めました。

・必ずどの機能も自分で試行錯誤する(授業では分からなかったことを聞くようにする)
・作る前に作りたい機能を箇条書きでチャット共有する。考え方が想像できるものはその旨をまとめる。
・想像できない難しい機能は考え方を質問する。

ちなみに授業だけではなく、チャットで質問した内容も画像付きでかなり丁寧に回答してくださり、自主学習も捗りました✏️

授業やチャットは全てDiscordで行っていたのですが、チャットや授業内容が消えてしまうのが嫌だったのでNotionで開発ノートを作って進めています。

スクリーンショット 2021-08-16 21.08.15

1ヶ月間、休日ほとんど開発と勉強に充てた結果、期間内に当初予定していた機能とブラッシュアップまで行うことができました🎉

実は要件定義の段階で、自分の技術だと無理そうで外した機能がいくつかあったので、引き続き開発していきたいなと思っています。

先生、本当にありがとうございました🙇‍♀️

開発したもの

画像5

(演奏動画は最初のツイートにあります🎹)

・左クリックで指定の場所に●を置くことができます。再生ボタンでバーが動き、ぶつかると音が再生されます。
・●をもう一度クリックすると色を変えることができます。
・右上の「♩=」の部分でバーの速さを変更できます。
・3分の4拍子と4分の4拍子の補助背景を入れ替えできます。

最大の魅力が左上のスクリーンショット機能です。
ボタンを押すと、UIを除いた以下のような画像を撮影できます。

ホームタウンドミナ

これを手回しオルゴール用紙に印刷して、●の部分の穴を開けるだけで、実物の手回しオルゴールで演奏することができます🎹
(※↑の画像だと実物では出せない音配置があるので、実際に作る時はもう少し調整します)

まとめ

今回のアプリ開発で独学や外注など色々やってみた中で、メンターさんにお願いして良かったポイントを再度まとめます。

・安心感
調べて分からなくても、聞く人がいてゴールに辿り着ける安心感はかなり大きいです。大体終わらないエラーで挫折するので、モチベーションが下がらずに学習を続けられます。

クオリティUP
独学の場合、本やネットで調べることが大半だと思うのですが、検索方法がわからない場合や該当の記事がなかった場合はその先に進めなくなってしまいます。メンターの方がいれば自分では辿り着けない視点を教えていただけるので、妥協せずに開発ができます。

・時間と費用のコスパが良い
開発を外注する場合、時間が短縮できてもコストがかなりかかります。また、自分の知識にはなりにくいです。
独学の場合は時間がかかり、完成するかどうかも自分次第です。
MENTAのメンターさんの場合、相談費用が1回3000円〜5000円です。自分で相談内容をしっかり決めていけば爆速で解決します。
今回は作りたいアプリが決まっていたので開発サポートという形でお願いしましたが、月1でデザインや3D習ってみたいな…という気持ちになりました。

・期間を決めることで集中できる
質問できるのが1ヶ月という決められた期間なので、その間に集中して開発に取り組めました。独学の時は気が向いた時に進めていましたが(全然進まない)、プラン中は土日ずっとUnityを触っていました。

何かを学びたい方、作りたいものがある方は、ぜひ学び方の選択肢の1つにしてみてください!



お読みいただき、ありがとうございました⛄️

しろ(@sironist0852

いただきましたサポートは大切に使わせていただきます⛄️