【Unity】【ADX2】UnityエディタのポーズやミュートをADX2でも使えるようにしてみた
タイトルの通り、ポーズやミュートが出来ないと地味に嫌だったりするので、拡張用のプログラムを作りました。
現在、CRI ADX2 LEを使用してUnityで開発中のゲームのサウンドを制御しています。
このサウンドミドルウェアは非常に高機能で素晴らしいのですが、Unityエディタ上でポーズしたりミュートしたりしようとした時にポーズもされないしミュートもされないといった問題があります。
ということでプログラムはこちら。
Unityのエディタ上でのポーズやミュートにCriAtomSourceを対応させるためのコンポーネン ...
動作確認済みバージョン
- Unity 2018.3.7f1
- CRI ADX2 LE 2.10.05
よほど古いバージョンではない限り動作すると思います。
導入
- CriAtomSourceEditorControllerという名前のC#スクリプトを作成します。
- 上記のプログラムで中身を上書きします。
- CriAtomSourceがアタッチされているオブジェクトにCriAtomSourceEditorControllerをアタッチします。
以上です。
本番では自動的にコンポーネントが外れるようになっているので、本番用に対応が必要になることはありません。
Git初心者向けの記事を書いてみた
大学のサークルでチーム制作が本格化してきました。1年生は積極的にやってくれているようで、私がサークルに所属した当初憧れていたサークル像に近づいてきていて嬉しい限りです。
しかし、チームで何かプロジェクトを進めていくとなるとバージョン管理は途端に難しくなるものです。高校3年生の時にクラスメイトと3人でアプリケーションを制作していた時はバージョン管理という概念を知らず、共有サーバにプロジェクトをまるごとコピーしては、どこを変更したとか、どこを消したとか、口頭で変更したものを伝えては人力で統合するなんていうことをしていました。懐かしいですが、今考えてみれば地獄です。
せっかく楽しくチーム制作しているのにバージョン管理で地獄を見てほしくはないので、なるべく早く皆にバージョン管理というものを使いこなしてほしいのです。という訳で今回はサークル向けではありますが、git初心者向けの資料を作成しました。
普通のIT企業に入社すればバージョン管理とか使えた方がエンジニアに喜ばれるんですが、大学とかだと講義でそういうのは教えてくれなかったりするんです。一つの科目として取り上げるまではしなくても、チームで何か作るような科目では使い方くらい説明してくれても良いと思うんですよね。
そういえば、先日はアカツキさんのゲームジャムに参加してきました。とっても疲れましたが、そちらも記事を書きたいと思います。
アカツキのインターンに行ってきました
今回、株式会社アカツキのインターンシップに参加しました。私が関わったプロジェクトのタイトルは「八月のシンデレラナイン」です。インターンシップというものに興味を抱いている人達の参考になるよう、プロジェクトに入ってどのようなことをしたのか、どのようなことを得られたのかを残しておきます。
そもそもインターンシップに参加しようと考えた経緯
私はエンタメ業界(特にゲーム業界)志望なのですが、どの会社で働くのが良いかということはあまり考えていませんでした。「とりあえず自分の技術でゲーム開発に貢献できればいいかな」くらいにしか考えていなかったです。
私は学部2年生の時に「自分の持っている技術でゲームを作ってお金が貰えなら最高だな!」という気持ちで様々なゲーム会社を探し、Angooというゲーム会社にインターン生として入社しました。そしてAngooの代表取締役の中川裕史さんから、こんな質問を受けました。
「君はどんなゲーム会社に入りたいの?」
パッとすぐに答えられませんでしたが、その時は自分がハマったゲームを作った会社を列挙しました。中川さんはそれを聞いて
「面白いことに挑戦し続けている会社を選ぶべき」
と言いました。自分が好きなゲームを作っているかどうかではなく、ゲームエンジニアとして面白いことが追求できるかどうか、で会社を見なさい、と。確かにその通りだな、と深く納得しました。
しかし、「面白いことに挑戦し続けている会社」なんて表面的に分かりません。そこで「技術力で貢献できれば」という理由だけでなく「面白いことに挑戦し続けている会社かどうか」を見るため、他の会社のインターンシップも受けてみようということになりました。
アカツキのインターンに参加する直接的な経緯
Angooで同期に入社していた方からサポーターズという会社を紹介され、以降サポーターズのイベントに定期的に参加していました。3年生の5月に10社以上のIT企業の社員と面談できる逆求人イベントを開くという告知を見てすかさず参加し、そこでアカツキを知りました。
アカツキのエンジニアさんと話がとても盛り上がり、自分で企画を立てて小規模からプロジェクトを始めることができる企画システムがあることを知り、アカツキという会社に興味が湧いてインターンシップにエントリーしました。
インターンシップの内容
私はゲームのクライアントエンジニアとしてインターンシップに参加し、ハチナイに配属されました。アカツキのインターンシップは課題を自分で決めることになっていたので、いくつかある改修要望の中からお知らせ画面を改修するという要望を選んで課題にしました。
まずは、お知らせを作成する方々やプランナーさんと会議を行い、どういう改善をしたいのかをヒアリングしました。
- 全てのお知らせが一つのリストになっていて項目が探しづらいのでタブで分けるようにしたい。
- タブで分けたらタブごとに未読件数を表示するようにしたい。
- スクロールバーでスクロールするのが難しいのでもっと簡単にスクロールできるようにしたい。
- 全て既読にするという機能が分かりづらいので、ボタンにしたい。
といった要望が出てきました。このヒアリングの後は、さっそく改修仕様書を書いてプランナーさんと共有しました。
そこから本格的にプロジェクトの中身を見ていくことになります。お知らせ画面の改修なんて大して難しくないだろうと思い、その該当箇所のプログラムを読み始めたのですが、なかなか構造が難解でした。(むしろ最初から作り直した方が早いのでは...)
プログラムの改修が終了したらメンターさんにコードレビューを行ってもらいます。
-
コーディング規約に沿っているか
-
冗長でないか
-
最適化できないか
といった項目をチェックして頂き、修正とレビューを繰り返しました。
そうして機能改修が終わったらUI担当のデザイナーさんと相談して、どういう配置にするか考えてもらいます。デザインと合致しなさそうなプログラムがあれば適宜直します。デザイナーさんがお知らせ画面の見た目を改修し、機能を当てはめたら改修は無事終了です。
すぐに終わるだろうと思っていたお知らせ画面の改修ですが、設計の見直しやプランナーさんデザイナーさんとのやり取りも介して何だかんだ言って3週間ほぼ使い切りました。
インターンシップで得たこと
規模の大きなプロジェクトでのワークフローの重要性
要望を聞く、仕様書を作る、実装、レビュー、フィードバックと社会で通用する作業行程を体感できました。趣味やサークルの範囲ではこれほど厳密に工程を踏むことはなかったかもしれません。仕様書を書いたりコードレビューを行うことは、それ以降の開発行程で無駄な手戻りや再設計をしないために重要だとよく分かりました。(自分の担当箇所は再設計が大きかった)
プログラムを早く把握する力
担当箇所のプログラムを実装前に素早く把握する力が身に付きました。データが流れる場所(インタフェース)に着目してプログラム同士の関係性を先に把握してから詳しい処理を理解していくよう意識的にプログラムを読んでいきました。
アカツキという会社を知れた
会社全体を通して社員さんの働き方はかなり自由でした。ソファで寝そべりながら働いている人もいればランチ後に小一時間寝ている人もいました。アカツキで働くようになったら、こんな働き方もあるのかなというイメージがじっくりできました。
さいごに
とても短い3週間だったように思います。しかし、一エンジニアとして大きなプロジェクトに携わる経験、ウェブサイトだけでは分からない会社内の雰囲気や文化、社員さん達の人柄など、インターンシップに行かなければこんなに深く会社のことを知ることは出来ないと思います。
そして、アカツキは「面白いことに挑戦し続けている会社」だと感じました。スマートフォンゲームに留まらず幅広いエンタメを手掛け、それぞれで楽しさや面白さを追求していましたし、アカツキに興味を持つ切っ掛けとなった企画のシステムについても具体的に教えてもらいました。
ハチナイのプロジェクトの多くの方々、そしてこのインターンシップを開いて頂いたアカツキさんには感謝しきれません。3週間という短い時間でしたが、本当にありがとうございました!