Visual Studio便利機能の備忘録 + おまけ
この記事は、Unityゲーム開発者ギルド Advent Calender2021 12月12日の記事です。
Unityゲーム開発者ギルドはいいぞ。
ご無沙汰しておりました。
中々開発周りのことはtwitterですぐ呟いて満足してしまい、
このブログにまで手が回らずでしたが、今回アドカレに参加することで
やっと更新する理由をこじつけました。
ここ最近はtwitterすら更新していませんが、開発については静かに動いています。
その中で今更ながら知った便利な機能がありましたので、
備忘録代わりに書き留めておこうと思います。
この備忘録が誰かの役に立てば嬉しいです。
では、目次です。
- 便利機能その1:ブレークポイント
- 便利機能その2:F12でメソッドなどの定義を見る
- おまけ:神岡的によかったプログラムの勉強方法
- おわりに
注意
この記事ではVisual Studio for Macでの手順を解説しています。
基本的にWin版との差異はほとんどないはずですが、
完全に同じであることは保証できませんのでご了承ください。
バージョンは8.10.11(build 8)です。
DoozyUIをちゃんと使ってみたメモ
DoozyUI、便利そうだったので2020年の独身の日セールで購入してみたのですが、
いろんなサイトを見て見よう見真似で練習するも、いまいちよく分からず...。
なんで分からないんだろうなと思ったんですけど、
どこで何をしているのか分かりづらいんですよね...。
なので、めちゃくちゃ時間を割いてどこで何をしているのか分析しながらやってみたので、
それについて半ば自分用の覚書のように残しておきます。
(※この記事では、Doozy UIの導入方法などについての記載は省略します。)
ブログ投稿時、記事を折り畳もうとしてDoozyUI上の操作以降
全て吹っ飛ばしたことを知らずに投稿していました...orz
せっかく読んでくださった方はさぞがっかりされたと思います...
すみません(スライディング土下座)
※ご注意※
この記事では正確さというよりは分かりやすさを重視しているため、
項目の定義の解釈に誤りがある可能性があります。
わたしの理解が更新された場合は改訂する可能性がありますが、
厳密に理解したい方にはちょっとオススメできないかもしれません...。
- 今回作るもの
- Doozy UI上の操作
- Viewを作成する
- Unity上の操作
- オブジェクトを作成して、DoozyUIのViewと関連づける
- Behavior at Startについて
- アニメーションの設定
- Viewの見た目を変えたい場合
- Viewにテキストを追加したい場合
- 残り3つのViewを作成する
- Doozy UI上の操作
- Buttonを作成する
- DoozyUIでの設定
- Unityでの設定
- オブジェクトを作成する
- DoozyUIのViewと関連づける
- ボタンの見た目を変更する
- Nodyの設定
- 新規Graphを作成する
- Graph Controllerの作成〜設定
- 必要なノード、項目を追加する
- OUTPUT CONNECTIONSの設定
- ON ENTER NODE/ON EXIT NODEの設定
- 各ノードの項目を繋ぐ
今回作るもの
今回は下のサンプル画像のものを作ってみます。
必要なものは大体こんな感じ↓
この例ではボタンの背景素材にオリジナルで作成したボタン素材と、フリーフォント(にくまるフォント)を使用しています。
これらはなくても作ることができます。
一応、どちらの手順も記載しておきます。
フォントの導入方法はこちらをご参照ください→MRTKのTextMeshProで日本語を利用する
続きを読む
「まりもシミュレーター」開発後記
2/22~28に開催されたUnity1週間ゲームジャムに
今回もりべるんさん(@riberunn)と共同開発で参加しましたので、その開発後記です。
左右キーでまりもをころがしながら、太陽の光に当ててまりもを大きくさせるゲームです。
一方向にだけ太陽の光に当てる歪にな形になってしまうし、時々水流が発生するので上手に転がしながら、まりもを大きく育てていくのがこのゲームの目的です。
こちらからプレイしていただくことができますので、よかったら遊んでください。
開発スケジュール
1日目
お題発表日ですが、朝早くから作業できるようにするため日付変更前には就寝。
案の定早朝に目が覚めたので、そこからアイディアをいくつか出します。
ステージが「回」転するとか、周「回」や「回」復は結構出そうな題材だなーと思い、
「回」避(上手く言ったつもりか)した方が良さそうだなーと思いつつ候補に。
りべるんさんと通話して、挙げたアイディアの中でいいのあります?とアイディアメモを見せたところ、
まりもシミュレーター
立派なまりもを作るゲーム(?)
まりもは水底でうまい具合に転がりながら光合成すると、
あのまるいまりもになる。
うまく回しながら大きくてキレイなマリモを作れると、
マリモマイスターになれるよ
のメモ書きの「マリモマイスター」にりべるんさんが反応。
実はりべるんさんの「あつめてたたけ!アザラシ軍団」のリザルト画面に出てくる、
「あなたは立派なアザラシマスターです」のオマージュだったのですが、
すごく気に入ってもらえたのでこの案で進めることにしました。
りべるんさんのお仕事が終わる夜までに一通りの仕様を固めるべく、
前回同様スプレッドシートで仕様の詳細を記載+
今回からAdobe XDで全体の画面遷移を作ることにしました。
前回、「ゲームループをきちんと共有できていないまま開発を進めてしまった」という課題があったので、今回はその課題を克服するべく今回Adobe XDを利用することになりました。
もちろん最初からここまで作っていたわけではありませんでした。
が、ゲーム開始〜リザルト画面あたりまではざっくり作りました。
これを作ることでどういう画面が必要なのか明確にでき、仕様策定時の抜け漏れを防ぐことができました。
もちろん、これだけで全ての抜け漏れを防げるわけではありませんが、
ゲームの全体像を共有する上ではかなり便利なツールだったと思います。
欠点を挙げるとすれば無料分では一つのプロジェクトしか共有できないことですが...すでに上げたものを非公開にして、
今回共有したいものを上げればいいだけなのでそれほど大きな欠点にはなりません。
1日目は必要最低限の仕様を決めて、りべるんさんに共有して終了です。
2日目
この日は祝日で開発にブーストをかけられる日ではありましたが、
ちょっとお出かけしてきました。
午前中にりべるんさんにGitHubのリポジトリに招待していただいたのを確認し、
プロジェクトのシーンも問題なく開けることを確認して夕方までお出かけ。
夕方からまりものイラストやボタン素材を描いて、りべるんさんに入れていただきました。
3日目
この日はタイトル画面案や背景のイラスト案を作りました。
この時に賑やかしにアザラシを入れよう!という話があがりました。
マリモころがしパートのステージのTerrainもいじり始めました。
このTerrainもりべるんさんがプレハブにしてくれていたため、競合を気にせず調整できました!
めちゃくちゃありがたい!
4日目
この日にちょっと曖昧だった水流の具体的な仕様が確定しました。
水流の仕様を考えた際にもっと具体的に考えてりべるんさんに渡せればよかったなーって思いました;;
さらに今回PostProcessingを導入しよう!ということで、何が導入できそうか調べてみました。
今回はColor Greadingを利用するのが良さそうということになり、そちらを利用することに。
あとはシーン遷移時の演出を変えたかったので、りべるんさんに聞いたり、調べたり。
unityroomにあげるアイコンについても考え始めていました。
今回は敢えてゲーム内の動画を出さず、ストアなどによくあるようなアイコンにしたいです!と提案しました。
というのも、ゲームの内容的に最初からある程度推測できるようにはせず、
「まりもシミュレーター」というよくわからないタイトルと神岡面と名付けた間抜けヅラのまりものドアップを出して、「まりもシミュレーター?なんだこれ?」と思わせ、
プレイして「マリモを育てるのか?」→「え?リザルトで転がるの?なんだそりゃ?」と言ってもらうようにした方が良いのではないかと思ったからです。
アイコンを見て「なんだこりゃ?」、プレイして「なんだそりゃ?」と二段階WOWを仕込みたかったのですが、いただいたコメントを見る限り意図通りの演出ができたようです。
5日目
タイトルロゴ、アザラシのスプライトなどのアセットを追加。
確かこの辺りで裏でマリモころがし演出のステージ調整をしていたはず。
物理演算と格闘していた記憶があるのですが、前回できなかった調整作業ができて嬉しかったです。
(前回はほぼリソース作成に追われていたもんね...)
6日目
いよいよ仕上げに入っていきます!
この日はりべるんさんに大きさに応じてAngular Dragを変える仕様を入れていただいて、
マリモころがし演出のステージバランスの最終調整や、ボタン素材の差し替え、PostProcessingの調整などを行いました。
翌日の締め切り時間がチラついてはいましたが...夜もちゃんと寝ましたzzz
7日目
この日も仕上げとデバッグを行なっていきます。
水流が弱い問題があり、かなり強くしました。ここも実はりべるんさんがインスペクターから調整できるようにしてくださったので、
わたしの方でいじりながら確認するということができました!
今回、りべるんさんがいろんなところを外部化してくれたので、調整作業がとってもしやすかったです。ありがてぇ〜。
色々ありつつも、なんとかお祭り(20時)に滑り込みセーフ...!かと思いきや、本番ビルドではMacで太陽光が表示されない問題が発覚!
このあたりはりべるんさんのブログで詳細に書かれているのでわたしのところでは割愛しますが、
なんとか解消でき、ついでに幾つかの修正を入れて日付変更前に公開することができました!
4時間くらい遅刻しちゃったけど...完成度は前回より段違いに高くなっていると自負できます!
振り返り
全体的に大満足していますが、goodなところとmoreなところをいくつかピックアップしてみます。
まずはgoodから。
good
早いうちにゲームの全体像を共有することができた
先述の通り「ゲームループをきちんと共有できないまま開発を進めてしまった」という課題があり、それをきちんと克服できたのはとても良いことだと思います。
やっぱりどんなゲームか、全体の流れはどういうものかがわかると、意見交換の活発さは全く異なる気がします。
今回導入したAdobeXDでモックアップを作成したことで、ゲームループや必要なものが共有できたほか、わたし自身も具体的になんの仕様を固めるべきか、必要なリソースは?などが明確に把握しやすくなったなぁと感じています。
今後も積極的に利用していきたいです。
必要なリソースを減らすことができた
「いわとをあけて」ではキャラの絵だけでも10個くらいは描いていたのですが、
「まりもシミュレーター」に登場するキャラはマリモ、アザラシ、メンダコの3つです。
しかも表情差分がないため各1パターンです!
このほか水草4種と岩1種、タイトルロゴ、ボタン背景、リザルト用背景、トランジション画像ですので、いわとのキャラ分くらいの量で全てのリソースを作成することができました。
ゲームバランス調整のための時間を割くことができた
共同開発においてはいわゆるプランナー寄りな作業担当なのですが、
前回はほぼそれらしい作業に時間を割くことができませんでした。
しかし、今回は先述の必要リソースを減らすことができたため、ゲームバランスの調整に多く時間を割くことができました。
結果として、「アザラシの手前まで到達は割と簡単にできるが、アザラシ越えが鬼みたいな難易度」に調整することができました。
ずっとこれをやりたかったのです!
普通にプレイするのは簡単だけど、やり込もうとすると難しくなる任天堂スタイル!!!!
わたしはこの任天堂スタイルをとても尊敬しているので、
自分のゲームでもこのスタイルを取り入れたいとずっと思っていました!
だから今回、これができてとても満足しています。
もちろん、今後も進化できるように経験を積んでいきたいです。YES!!!!
評価数、コメント数が「いわとをあけて」を大きく上回った!
前回の「いわとをあけて」は結果発表時点で評価数50件、コメント数7件だったのに対し、
今回は評価数65件、コメント数21件と、その差は歴然としています。
特にコメント数が「いわとをあけて」を大きく引き離し、3倍に上ります。
個人的にコメントするのってある種のハードルがあると思うのですが...それでもこれだけたくさんのコメントいただけたということは、
コメントしてくださった方の心に何か響くものがあったのかなと思います。
プレイはもちろん、評価、コメントしてくださった皆様に本当に感謝しています。
more...
水流の仕様をもうちょっと細かく切ればよかった
開発スケジュールでも書きましたが、
水流の仕様について、ふわっとしか決めておらずりべるんさんに確認させてしまったので、
もっと細かく決めておけばよかったなぁって思いました;;
決して時間がなかったということではなく、細かい仕様をきちんと切ることに対して苦手意識のようなものがあって避けがちなところがあるので、臆せず取り組んでいきたいなと思います。
日曜日のお昼過ぎに本番ビルドができるようにしたいなぁ
これはもちろんわたし1人でできるわけではないですが、そのためには
・早くに細かな仕様を確定させていること
・リソースは金曜日に全て入れ切ること
がわたしの方でできていればもっといいのかなぁと思いました。
無理して体調を崩しては本末転倒ですが、日程を意識して作業を進めることもこの狂気のゲームジャムでは必須項目でしょうから、意識して行けるようにしたいです。
まとめ
反省点もありますが、全体として満足感の大きい結果になりました!
中でも総合25位に入ることができたので、前回と比較しても大躍進です!
総合:3.995(25位)
— 神岡 (@flyingmendako) March 15, 2021
楽しさ:3.892
斬新さ:3.985
雰囲気:4.292
操作性:3.677
サウンド:3.723
絵作り:4.4
プレイしてくださった方、評価、コメントを入れてくださった方、ありがとうございました!#unity1week #u1w #indiedev pic.twitter.com/TgCWVSRuNr
24時間近く経って改めて感じているのですが...結構すごいのかも?!
評価数や閲覧数がそれほど多いわけではなかったのでずっと不安だったのですが、
プレイしてくださった方の気持ちに何かしら響くものがあったのであれば、
わたしとしては嬉しいです。
あと...これだけ書かせてください!
リビルドゲームスの方からコメントいただいたんですよ!!!
めちゃくちゃ嬉しすぎて死ぬかと思いました!!!!
一閃勇者で早く課金したいよー!って思ってたから、メットボーイはほんのちょっとだけど課金させてもらったし、スーパーメットボーイももちろん遊ばせてもらっているし、一閃勇者2(仮称) はいまだに楽しみにしているあのリビルドの中の人!!!
憧れのアイドルにCDにサインしてもらうと嬉しいでしょう?!それとおんなじです!!!
ぎゃーーーーーーー!!!!あqすぇdrftgyふじこlp!"#$%&'()0=~+LKJHGF<>?_ふじこふじこふじこ。
— 神岡 (@flyingmendako) March 2, 2021
リビルドの中の人からコメントおおおおおお!!!!超!!エキサイティン!!!フーーーーーーーー!!!!! pic.twitter.com/sv24koaReN
以上です!ありがとうございました!
今後もプレイしてくださった方の心に響くゲームを作っていきたいです!
(雑にまとめたな)
iOS向けにお試しビルドしてみたので、メモ
スマホ向けの操作があったり、画面表示の感じを見てみたかったので、
おためしでiOS向けにビルドしてみました。
色々あってめんどうちい&ふくざつなので、自分用にもメモしておくことにします。
今回主に参考にさせていただいたブログはこちら↓
一昨年の記事ではありますが、流れは同じです。
が、つまずいたこともいくつもあったので、主にそれについてメモしておきます。
unity xcode legacy build system...?
とりあえずXcode上のFile→Project Settingsから、
Build Systemを「New Build System(Default)」に変更しました。
Teamのところの設定が入っていない
デフォルトだと外れているっぽいです。
なので、Signing&CapabilitiesからAutomatically manage signingにチェックを入れます。
そして、Teamのところを証明書を発行した際のTeamを選びます。
特に2つ目のやつがすごいよく引っかかったので、
これの設定はきちんと見ておいた方が良さそうです...ぐぬぬ。
Targets内の項目の設定を全て確認し、全てにTeamの設定がきちんと入っているか確認しておかないと、どれか一つには入ってるけど、他の項目には入っていないなんてことばっかりなので、気をつけた方が良さそう...。
ちゃんと設定できていると、うまくビルドが走るとビルド中に数回PC本体のパスワード入力を求められるので、指示通りに入力すればちゃんと進みます。
あとは上に記載した記事の通りの手順で進められると思います。
自分のつまずいたメモなのでいまいち参考にならない記事の予感がしますが...
またもう少しちゃんと理解できたらきれいに書き直そうと思います。
unity1week online 共有会 #3で登壇しました
先日のunity1week oneline共有会#3で登壇しました。
アーカイブはこちらから視聴できます↓
使用したスライドはこちらからご覧いただけます↓
あと、資料の詳細版も作成しました!
トークで使用したスライドに、補足説明を追加したいわゆる完全版です。
よかったらこちらもご覧ください。
人前で話すことについてはある程度慣れていたのですが、
それは顔見知りだったからであって、今回はほぼ顔を知らない人ばかりです。
なので、いざ話したら途中から頭が真っ白になってしまい、後半からはかなりグダグダになってしまいました...。
おまけに時間も少しオーバーしてしまったので、大変申し訳ない;;
いくつか原因は見えているので、次回何かの機会で登壇する場合はそこに気をつけたいところです。
反省点は多かったものの、登壇した感想としてはとてもよかったです。
かなり基本的な部分がテーマだったので反応が不安だったのですが、
思いの外共感していただけたので、安心しました。
さらに今回は全ての他の登壇者の方のお話をリアルタイムで聞いていたのですが、
それぞれいろいろな考え方ややり方を見ることができて面白かったです。
なるほど、そういうやり方があるのかとか、考え方があるのかと新しい発見ができたので、
今後は登壇しない場合も視聴できる時は視聴したいなぁと思いました。
自分にはない考え方ややり方を取り入れていくことでよりよい開発フローを構築できるほか、
自分のやり方や考え方の再確認にもつながります。
今回、初めてリアルタイムで参加、登壇するにあたって
「自分の話なんかに需要はあるのだろうか...」と卑屈になっていたわたしに対して、
あたたかく背中を押してくれた青木ととさんとkakoさんにとても感謝しております。
自分の話でも聞いてくれる人がいると少し自信を持てましたし、
またわたしについて知っていただける機会を得ることができました。
またこういう機会があった場合にはヤケクソになれたら
参加させていただこうと思いますので、どうぞよろしくお願いいたします...!