Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

【勉強会レポ】: Unite Tokyo 2019 Eve2 LT Fes

勉強会のレポート(メモ)です。
参加したのはこちら、「Unite Tokyo 2019 Eve2 LT Fes」
会場はメルカリさんです。

connpass.com

ハッシュタグ : #UniteEve2

 

f:id:Raspberly:20190924003445j:plain

 

 

動画はこちら


[非公式] Unite Tokyo 2019 Eve2 LT Fes #UniteEve2

 

 

 

 

 

Uniteの前夜祭です。多種多様をコンセプトにしています。

スポンサー様の紹介

メルカリ

会場提供をしています。
イベントの支援を積極的にしています

キッズスター

ごっこランドという子供向けアプリを提供しています。キzz〇ニアみたいなものです。
大変ご好評でして、基盤側の整備が追い付いていません。
私と一緒に開発しませんか?

www.wantedly.com

ワンダープラネット

Gotanda.unityに続いて懇親会費用の提供をさせていただいております。
ジャンプチヒーローズというアプリをリリースしています。
弊社は楽しいねといえるようなエンターテインメントを提供しています。

KLab

エナドリ枠で協力しました
Uniteの2日目に講演します。ぜひどうぞ。

 

 

 

 

 

 

 

LT1. MagicOnion入門

MagicOnionの概要についてお話します。

MagicOnionとは

リアルタイム通信のフレームワーク。.NET CoreとUnityで動きます。
サーバーサイドのC#ロジックをクライアントから簡単に動かすことができます。
当然サーバーマシンは必要、インフラコストもかかります。

どんな機能があるのか

・Service

1リクエストで1レスポンスを返す

・StreamingHub

常時接続、好きなタイミングでリクエストできる

・フィルタ機能

通信の前後に処理を追加できる機能。
詳しくはこちら

MagicOnionでの共通処理の挟み方 - Speaker Deck

まとめ

・サーバー&クライアントをC#でかける
・サーバー代がどうしてもかかるので個人開発者の方は注意
・もうちょっと踏み込んだ話は.NET Confで

vsuc.connpass.com

 

 

 

 

 

LT2. Oculus GoでLAMさんのキャラを7+1体同時に出そうとした話

ライティングについて

ライティングは一切やってません。
影は全部テクスチャにいれ、切り替えて表現します。

キャラ周り

こちらを参考にしました。

www.slideshare.net

 

シェーダー周り

フェードにはディザーフェードを使ってます アルファをさけるため

アウトライン処理

1Passで抑えるようにしました。ただしちょっと汚い(ここが課題)

アニメーション

BoneBlendWeightを減らしたがまだまだつらい

東京クロノスは待機モーションがない、注目した人だけ動かすようにした。
「今しゃべっているキャラ」と「前にしゃべっていたキャラ」以外はアニメーションも物理も止めています。
ただし全部きると置物感があるため、視線と傾きだけ動くようにしました。
これで軽くなったがまだまだつらい

喋る瞬間がつらい

特にリップシンク
ボイスデータがあるので、リアルタイムはやめて事前に書きだすようにしました。

 

なんやかんやあって7人でました。
過去に関連したLTをしているのでそれらもどうぞ。

東京クロノスサウンドの話 Part1 - Bgm編

東京クロノスサウンドの話 Part2

東京クロノスをQuestストア対応した話

 

 

 

 

 

LT3. Unityサウンド本振り返り 単著ができるまで

本ができるまでの振り返りの話

去年のUniteでの反応が良かったので本の企画を出しました。
合計期間はおよそ1年3カ月ほど。

書きたい内容をとにかくネタだし

思いついた順番にタスク管理ツールなどに詰め込み
それをどういう順番にするかコンセプトに落とし込む
書けるところから書いていって整頓はあとから

サンプルゲームは工数を減らす

余計なゲームシステムなどを減らす

大変なのは知らないことを書くとこ

有識者に情報をもらったり査読してもらいました

マイルストーンを設定する

CEDEC、Uniteがデッドライン
この時期までに発売しなくてはいけないというラインを設定します

査読依頼

大量に応募しました

恐怖と戦う

執筆前の恐怖 重要があるのかどうか
執筆中の恐怖 Unity側に破壊的な変更があるかどうか
執筆後の恐怖 攻撃的なレビュー

これから技術書を書きたい方へ

それが需要があるかどうかを考えて
ググって出る情報なら必要ない

 

 

 

本を買ってね!

Unityサウンド エキスパート養成講座

Unityサウンド エキスパート養成講座

 

 

 

 

 

 

 

LT4. Unity Shader Graphで魔法陣を作ってみた

シェーダーグラフで魔法陣を作る方法について

画像が多いので、スライドと動画をご覧ください

覚えてほしいこと

・エフェクトはパーツごとに作る
・パーツの組み合わせはtimelineで

魔法陣は5つのパーツで作られています。

ShaderGraphはとても楽しいのでぜひ触ってみてください

 

 

 

 

 

 

LT5. okinawa.unityの話

沖縄でユニティのコミュニティを作った話
沖縄はいいぞ

生まれたきっかけ

Parl入学式を見てUnityもやりたいと思って始めました。

活動内容

・LT大会
・入学式として初心者向け勉強会 + もくもく会をやりました
困ったこと(初心者向けの教材がなかった(配布してできるもの)

運営してみて

多くのユーザーと知り合えた。
Unityエンジニア以外にも学んでいる学生が多く、そういう学生たちと知り合いになれました。

頑張りたいこと

初心者のフォロー
参加者を増やしたい
もっとわいわいしていきたい

考えていること

初心者向けハンズオン
なんでも相談室(気軽に相談できるもの)

まとめ

運営してきて多くの人と知り合いになりた
フォローや参加者集めを頑張りたい

 

 

 

 

 

 

LT6.  LWRP+ShaderGraphで石を綺麗に魅せる方法

画像が多いので、スライドと動画をご覧ください

 

UnityRoomで公開されている、こちらのゲームの開発Tipsです。

Borearth | フリーゲーム投稿サイト unityroom

 

 

 

 

 

LT7. Unity Recorder v2 の紹介

RecorderV2の紹介

v2のアップデート

・PackageManagerに変更、AssetStore版は動かなくなっています。
・AudioRecorder 
・AOV Recorder(パッケージは別)

トラブル

・アルファがうまくとれない
アルファチャンネルを塗りつぶした方がよい

・色がおかしくなる
色空間があっていない、特定の組み合わせを避けたり、自前でカラースペースを変える

・色合いが変わる
エンコード時に正しくない計算が行われている
正確にやる場合は外部エンコーダでやりましょう。

・360view
うまくキャプチャできないことが多い。自前でやったのでこの記事見てください。

qiita.com

まとめ

便利でいいが、ちょこちょこはまりポイントがある
qiita記事を見てみてね

qiita.com

 

 

 

 

 

 

 

LT8. たのしいUnsafeUtility

UnsafeUnitityとは

メモリに関する操作を行うユーティリティクラス
汎用的なメモリ処理、Unityで確保したネイティブメモリの操作ができます

 

内容が濃いのでスライドと動画をご覧ください

 

 

 

 

 

 

 

LT9. マップゲーム SDK 競合の話

AROWの開発にかかわっています。今回は競合のGoogle Maps UnitySDKを触って比較したデモについて話します。

実際のデモ動画やコードがありますのでスライドと動画をご覧ください。

 

 

 

 

 

 

LT10.  画像処理から始めるコンピュートシェーダー

コンピュートシェーダーで画像処理をした知見についてお話します。

内容が濃いのでスライドと動画をご覧ください

 

 

 

 

 

 

LT11. Unityを使ってXboxOne向けに気軽に軽率にゲームを作ってリリースする話

結論から、XboxOneではパブリッシャーとの契約は必要せず、Web上で手続きするだけでよい

仕組み

WIndowsスとアアプリとして配信
条件を満たせばXboxOneでも配信される

やらなければならないこと

・開発者契約
・ターゲットプラットフォームはuniversal windows platform
xboxじゃないよ(詰まりポイント)

xboxLiveサインインの実装
Unity用のプラグインがあるのでこれを使います。

罠もあります

・そのままエクスポートするとXboxでは動かない
マニフェストに少し手を加えます。

プラグインの更新が止まっている
ネイティブプラグインはほぼ使えない

やらなくていいこと

実機で動作確認しなくてもいい
サインインさえ動いていれば文句は言われない

レーティングの話

アプリ審査に出した時点で自動的にレーティングの審査がされます。
海外の基準でされるので、えっちなものはそうとう厳しいと見た方がいいです。

結論

みんなも気軽に軽率にゲームを配信しよう。

 

 

 

 

 

 

 

 

LT12. Firebase Dynamic Linksを使ってみた話

実装方法についてはスライドと動画をご覧ください。

ディープリンクはFirebaseDinamicLinksなら簡単に実装できます。
これはFirebaseの機能の1つで、なんと無料で使えます。
基本的には公式ドキュメント通りにやればつまるところは特になし。

 

ただしIOSアプリの場合、少し設定をする必要があります。

 

 

 

 

 

 

 

LT13. Zenject Example ~Contextの分割編~

Zenject本を書きました

booth.pm

内容が濃いのでスライドと動画をご覧ください

まとめ

1つのContainerにどんどんBindせず、SubContainerに分割しましょう

 

 

 

 

 

LT14.ピアノが弾けない私が自分の為に"VRピアノ練習ソフト"を作る話

付与曲折あり、ピアノを弾きたい。
楽譜が読めても、運指がわからない。
なのでARグラスをかけて手を表示させました。

演奏アニメーション作成

モーションキャプチャーPerceptionNewron2.0でとります。
撮影環境とひける人(重要)が必要です。


ただしこれは奥行きが違ったりするので
これを修正する必要があります。今回はこれらのアセットを使いました。

バイスはViveを使いました

今後

midiファイルから運指を指定できるようにしたい
VRMの対応

 

 

 

 

 

 

LT15. 人類からコーディングをなくしたい
~ノーコーディングフレームワークつくってみた~

コーディングとノンコーディングの比較

何が違うのか、時間が違います。ノンコーディングの方が早い。
イテレーション増え品質アップしやすい。
ロジックの追加もしやすい

 

 

Noduxで公開しています。

github.com

もちろんコーディングもできます。
Nodeは簡単に統合でき、ランタイム編集しながら統合することもできます。

 

 

 

 

 

 

LT16.  「War Of Zodiac」開発話
~Unity初仕事でアウトゲームのUI全て一人で製作した為にやらかした話

 ここに書いていい内容なのかわからないためスライドだけ。

 

 

 

 

 

 

LT17. 改造apk(MOD)はどうやって作られるのか
~Unityにおけるチート手法を紹介~

 改造apkの作成手法について紹介します。

.dllを改変する手法

ILSpy DnSlyなどで.dllをデコンパイルする手法。
ただし最近はIL2CPPビルドが主要なため最近は見ない

.soを改変する手法

IL2CPPビルドされたものが対象
どのメソッドにどの処理が書いてあるかが書かれたmetadataを元に行う

.soを自作する手法

自作して好き勝手する。
この手のものは手が込んでいる。

これらの対策

時間がなくて書いてないです。qiitaを参照してみてください。

ツールの紹介

IL2cppSpy
IL2CPPでビルドされたapk向けの逆アセンブラ
エディタライクに中身を確認できます。apk同士の差分もとれます。

 

 

 

 

 

 

LT18.  UnityでOAuth認証
~ブラウザからUnity製iOS/Androidアプリを起動してみた~

 

 

 

 

LT19. モチ上ガールの操作が分かるようにチュートリアルを作ってみた

チュートリアルについて
プレイヤーはゲーム内の文字なんて読まないし、動画も見ない。
チュートリアルに注目することはない

なので最初に説明せず、動かしながら理解してもらう

 

ステージ1はスティック方向けとボタン連打でクリアできるようしました。
そのうえで、ルールを発見してもらえるような工夫をする。

 

Uniteのブースで遊べますので是非どうぞ。

 

 

 

 

懇親会&展示会

ぺこぺこモグモグSOS

f:id:Raspberly:20190924004959j:plain
謎の生物「ふにゃもらけ」に食べ物を与えるカジュアルなパズルゲームです。
初めて作ったとは思えないほど完成度が高く、ステージが進むといろいろなギミックもでてきます。
近日ストアで配信予定とのこと。

 

 

 

MIMI-KAKE

f:id:Raspberly:20190924005300j:plain

UnityRoomで公開されているゲームです。
マウスと十字キーを使って耳かき棒を操作し、耳垢を耳の外まで排出するゲームです。
操作はやや癖がありますがクリア時の達成感と、耳の奥に棒を突っ込んだ時の「アァー!」感がすごい。

 

 

Build&Escape!!

f:id:Raspberly:20190924010105j:plain

ブロックをビルドして、時間内に脱出を目指すゲームです。
ビルドしたブロックは足場にもなりますし、炎を遮る壁や紹介物を破壊する道具にもなり、
アクションだけでなくパズル的な要素も含んでいます。

 

こちら、ゲーム中時間の流れを遅くすることができますが時間制御アセット「Chronos」を使用しているそうです。

 

 

エスケープダンジョン!

f:id:Raspberly:20190924010541j:plain

放置要素とクリッカーが合わさったゲームです。
時間経過で得られる資材を使って、キャラクターを強化したり、施設のレベルを上げることができます。
戦闘自体はオートで進行します。キャラクターは状況によってアドバイスをくれたりします。

 

 

 

Million Shells

f:id:Raspberly:20190924011123j:plain

3種類の砲台(単発の弾、ミサイル、爆発する弾)を設置し、敵を撃破していくシューティングゲームです。
砲台は自動で射撃せず、プレイヤーからのタップ指示で攻撃します。
敵の弾を避けることはできませんがタップで消すことができます。
総じて非常に手が忙しくなるゲームですが、通常のシューティングゲームとは違い、
配置する砲台の種類と場所がポイントで、うまい具合に使い分ける必要がでてきます。 

 

個人的に緑の砲台がリスキー(爆発威力が高いが直撃させたときの威力はとても低い)な分、
使いこなせば複数の敵を倒せるためとても楽しかったです。

 

 

 

 

 

 

 

 

 

 

タイムライン

 

 

 

おまけ

今回のLTに関係してそうな過去の勉強会まとめ

raspberly.hateblo.jp

raspberly.hateblo.jp

 

 

 

 

他の方の感想ブログ

 

koniroiris.hatenadiary.com

tan-y.hatenablog.com

 

 

 

 

 

 間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。