勉強会のレポート(メモ)です。
参加したのはこちら、「Roppongi.unity #3」
会場提供は「メルカリ」さんです。
動画はこちらから視聴できます。
後日Unity Learning Materialsにも掲載予定です。
- LT1. Unityで作ったゲームをDLカードで配布してみた話
- LT2. UnityでARアプリを作る時に面倒なことを解決する
- LT3. ML-Agentsの簡単な環境構築
- LT4. ReorderableListのすすめ
- LT5. 無線ジャイロコントローラを自前でUnityに実装
- LT6. Androidビルドを自動化しようとして挫折した話
- LT7. Shortcut Manager の仕組みについて
- LT8. MagicOnionでマルチプレイゲームを作ってみる
- 懇親会
- 告知タイム
- これまでのRoppongi.unityはこちら
LT1. Unityで作ったゲームをDLカードで配布してみた話
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity by @toRisouP #unity https://t.co/UOPcuh5U7o @SlideShareさんから
— とりすーぷ (@toRisouP) June 25, 2019
なぜDLカード?
同人ゲームは即売会がメイン。
ダウンロード販売のみだと即売会で配布できない。
シリアルコードの認証機構
同じ話を過去にしてるのでこれを見てね。
ダウンロード方式
ダウンロードそのものを縛る方法
シリアルコードを持っている人のみDL可能
違法アップロードに対応できない
ゲーム内の機能解放でやる方法
ゲーム自体は誰でも落とすことができ、シリアルコードで機能を解放する方式
機能解放にはユーザの認証機能が必要です。
ニフクラと自前のサーバーを用意してやりました。
こういう方式は手間がかかるのでオススメしないです。
ダウンロードカードの話
カードどう作るのか、Adobe製品でやるのが正攻法。
今回はUnityでやりました。
結果
手でやるより業者に任せた方がよい。
Unityでごり押しするよりAdobe製品に頼りましょう。
LT2. UnityでARアプリを作る時に面倒なことを解決する
ペチャバトというARゲームを会社でやっています。
ARアプリは主観的な体験なため、アプリ上で起こっていることを全て把握することはできません。
・基本的に動作確認はプレイモードでやりましょう
・ログ出力を積極的にしましょう
客観的にAR空間を見る方法
Photonを使ってプレイモードと同期させて確認する方法をとりました。
プレイモードで動作確認できるときはできるだけデバックしないようにしましょう。
これをPhotonを使わずに同期できるライブラリを開発中です。
同期シミュレータを作成中で将来的にはこちらにリリースする予定とのこと #roppongiunity | HaraKeisuke/UnityRemoteSimulator https://t.co/xkl5GVWgWW
— 青木とと(ˊᗜˋ*) (@lycoris102) June 25, 2019
LT3. ML-Agentsの簡単な環境構築
今日の発表資料をアップロードしました〜
— へんてこ (@henteko07) June 25, 2019
緊張してきて吐きそう…😇 #roppongiunityhttps://t.co/bzVuypMRLX
一番の挫折ポイントは環境構築
ML-Agentはインストールしなければならないものがたくさんあります
そこで環境構築はDocker Composeを使いましょう
ML-Agentは機械学習フレームワークです
Docukerとは
PCに依存せずLinux環境を作れるツールです。
そしてDocker Composeとは複数のDockerを管理するツールです。
立ち上げるDockerは2つです。
開発環境の構築
やることが3つあります。
1.必要なファイルのコピー
必要なファイルが3つあります
公式リポジトリからコピーしましょう
2.Dockerファイルの準備
公式リポジトリから落としてきましょう
ただし最後のエントリーポイントだけ削除しましょう
3.Docker_Compose.ymlの準備
ここまでやれば、後はコマンドを打ち込むだけで動きます
ただし、コンテナのリソースに依存するため学習パフォーマンスは落ちます
勉強目的ならDocker Composeはオススメです
LT4. ReorderableListのすすめ
今日のRoppongi.unity#3でLT登壇します!
— もちねこ (@mochi_neko_7) June 25, 2019
UnityのReorderableListの話です。
スライドも公開します。https://t.co/UbedsXsdLW
#roppongiunity
ReorderableListとは
UnityのEditor拡張の1つ、
GUIでListや配列を操作することができます。
あまりメジャーじゃないし、少し扱いづらい
ドキュメントもない。
Simple Reorderable List
便利だけども扱いづらい、そこでラップして使いやすくしました。
要素の入れ替え、追加削除が自由にできる。
独自クラスも大丈夫で色も変えれる。
汎用的に使え、シンプルさと見やすさを思想としました。
詳しい使い方はブログの方を参照してみてください
Editor拡張の知見
・EditorGUIはとSerializedPropertyを組み合わせると良い
・SerializePropertyの注意点
Countメソッドを使うとイテレーターが勝手に動いてします。
Copyを作ってそっちをカウントするといいでしょう。
・EditorSkinの考慮
Pro版とPersonal版どっちを使っているのか判定できます
それぞれ色を用意してあげるといいでしょう
LT5. 無線ジャイロコントローラを自前でUnityに実装
本日のLT資料です
— なにぬね.の (@naninuneno_y) June 25, 2019
無線ジャイロコントローラを自前でUnityに実装https://t.co/9wDZLxQRaj
GitHubはこちらhttps://t.co/CwUgS6TFzshttps://t.co/t0huVD6R1Q#roppongiunity
会社ではモフバンドを開発。
その中核にあるのがM5Stackというモジュールになります。
M5Stack
ESP32を備えた開発モジュール
Bluetoothで通信ができる
やったこと
M5Stackに書き込むファームウェアの作成
送られてきたデータを受け取るdllの作成
dllを組み込んだUnityプラグインの作成
UnityEditorで実行できるよう受け取ったデータをJSonに加工しやり取りするProxy作成
まとめるとこうなります
使ってみた感想
送信受信両方書くので敷居が高い
全プラットフォーム対応がつらい
LT6. Androidビルドを自動化しようとして挫折した話
今日の登壇資料です! 『Unity で Android 自動ビルドしたかった話』ビクビクしてます、優しくしてください。よろしくお願いします。https://t.co/Mi7LDh6Hqk #roppongiunity
— ハトネコエ@rift s が届いた (@nekonenene) June 25, 2019
ゼルダはすばらしいゲームです、ぜひともやってみてください。
Unityをやるうえでテラシュールブログさんはとても助かっています。
結論
CloudBuildを使いましょう
Douckerの話
DocukerImageを用意するのが大変
こちらを使うといいでしょう
他にもめちゃくちゃ手順があり大変
Androidビルドもつらい・・・
そこで私はどうしたかというと、私はCIをあきらめました。
しかし楽はしたいため、エディター拡張でAndroidビルドをする機能を作りました。
『Build Android』ボタンのコードについては、こちらを御覧ください! https://t.co/X8IIEjkjhu #RoppongiUnity
— ハトネコエ@rift s が届いた (@nekonenene) June 25, 2019
まとめ
CIが必要ならCloudBuildを使うといいかも
LT7. Shortcut Manager の仕組みについて
Shortcut Manager の仕組みについての発表資料ですhttps://t.co/V5SsgEvNQZ#roppongiunity
— かまたけんし (@knsh14) June 25, 2019
ShortcutManagerとは
Unity2019.1から入った機能
ショートカットを編集できる機能です
View部分はUI Elementで動いています
できるようになったこと
・自由に設定できるようになった
・他のライブラリのショートカットも変更できる
・プロファイルで設定を切り替えることができる
仕組みとしてはプロファイルからマッピングを読み込み、
イベントトリガーに関数を渡しています。
ショートカットの種類
アクション
普通のショートカット
クラッチ
押している間動くショートカット
より進化したショートカット
直前の操作の繰り返しや2段階入力のショートカットなど。
二段階入力
入力Aと入力Bで実行されるもの。
(VisualStudioの例で補足すると、Ctr+K、Ctr+Cでコメントアウトができるようなものを指す)
これをやると何がいいのか
・ショートカットの体系化ができます
・外部のショートカットに対応できる
実装方針
キューさえ用意すれば、実装するのは難しいかというとそんなことはなさそう
将来的にはn段階のショートカットもできそうだが、クラッチと競合しそうではある
LT8. MagicOnionでマルチプレイゲームを作ってみる
LTの資料を公開しました。登壇の機会をいただき、ありがとうございました! #roppongiunity
— sotan (@sotanmochi) June 25, 2019
MagicOnionでマルチプレイゲームを作ってみる https://t.co/lFzipW9UAn
サンプルを作ってみました。触ってみてください。
MagicOnionを使ったサンプルプロジェクトを公開しましたhttps://t.co/eswaA4TuOU#MagicOnion pic.twitter.com/NeekfV2heN
— sotan (@sotanmochi) June 25, 2019
リアルタイムネットワークエンジンの選択肢はいろいろあります。
これまではモノビットやPhotonを使っていました。
MagicOnionについて
MagicOnion勉強会の資料などを参考にしてみてください。
MagicOnionならリアルタイム通信もAPI通信も同じくC#で書けるのが強み。
チュートリアルが容易されているので動かしてみるといいです。
しかし次のステップはどうするか・・・
そこでMagicOnionを使ったアクションゲーム風サンプルプロジェクトを作りました。
作ったサンプル
ルーム管理
キャラクターの同期
テキストチャット
作ってみて
かなり自由だが、Photonなどで用意されていたサクっと作れる機能はないので自作が必要。
実は今月初頭にMagicOnion勉強会というものがありました。
そちらのレポも残っているので興味のあるかたはどうぞ。
懇親会
今回はお菓子持ちより制です。
これが六本木……!! #roppongiunity pic.twitter.com/1MXQ5jmfeF
— 青木とと(ˊᗜˋ*) (@lycoris102) June 25, 2019
@mumimumi2000 さんのMochAgirlっていうゲーム! スイッチ向けにつくってて、2019年中に発売とのこと!
— めーぷる🐼(はちみつ) (@MapleSyrupCS6) June 25, 2019
プレイしてみたけどめちゃめちゃ楽しい!!これは買いたい!#roppongiunity pic.twitter.com/yNYxNs9iyT
「地球あやうし!!」遊んでいただいてます!
— ドコカノうさぎ@バーチャル美少女(棒) (@patsupyon) June 25, 2019
地球を揺らして家を破壊するパーティーゲームです。超エキサイティング!スポーツジムへの導入のご相談お待ちしているぴょん#roppongiunity pic.twitter.com/xydMS9cGg0
面白かった!!!!!ダウンロードする!
— あきちん (@ichigo7710) June 25, 2019
#roppongiunity pic.twitter.com/Tnx3dqOKW7
この『モチ上ガール』ってゲームがおもしろくて、「最高! 最高! 最高!」って声を大にして周りに伝えるおじさんになってました。方向キーとAボタンだけの簡単操作! 気持ちいいスピード感! 最高です。タイムアタックにはまりそう #RoppongiUnity
— ハトネコエ@rift s が届いた (@nekonenene) June 25, 2019
告知タイム
書籍発売「Unityサウンド エキスパート養成講座」
前から告知されていました、一条さんの手掛けるUnityオーディオ完全に理解できる書籍が発売です。
会社に1冊、自宅1冊置きましょう。Amazonのページからドシドシ予約注文してください。
Gotanda.unity#13
次回の会場はサイバーエージェントさんになります。
既に埋まっていますが、もしかしたら増員できるかもしれないの参加登録よろしくおねがいします。
Unity++ 〜ショートセッション勉強会 presented by Unity部〜
豪華メンバーによるショートセッション勉強会です。
Unite2019 前々夜祭
Uniteの週の月曜日(祝)にLT大会を予定しています。
(まだ調整段階なので内容が変更になることもあります)
先程告知させて頂きましたが #roppongiunity と #gotandaunity 合同で #UniteTokyo2019 の非公式前々夜祭としてLT大会を9/23(月・祝)に計画しています💨 7月中にもう少し詳しい情報を告知できたらと思っておりますので、なにとぞ宜しくお願いしますっ!🙇
— 青木とと(ˊᗜˋ*) (@lycoris102) June 25, 2019
これまでのRoppongi.unityはこちら
間違っている所、消してほしいツイートなどがありましたらコメントにお願いします。