Raspberlyのブログ

Raspberlyのブログ

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

【勉強会レポ】: Roppongi.unity #6

勉強会のレポート(メモ)です。
参加したのはこちら「Roppongi.unity #6」
会場はZIZAIさんです。

roppongiunity.connpass.com

ハッシュタグ : #roppongiunity

 

f:id:Raspberly:20191220010512j:plain

 

 

動画はこちら、当日生配信されるのがRoppongi.unityの特徴


Roppongi.unity #6 リアルタイム配信 #roppongiunity

 

 

 

ZIZAIさん会社紹介枠

IRIAMというエニモーションAIを使ったアプリを開発しています。
イラストの目や口をAIが検知して動かします。

 

うらゆないと in ZIZAIを開催します。
Uniteで話せなかった人のためのイベントです。

connpass.com

他にもお酒がのめるカジュアル会社説明会をやっています

 

 

 

 

#1 Unity2019.3のURPから使えるカメラスタッキングとポストプロセスの使い方

導入手順

github.com

Gitから落としましょう。ゴリラ向けの方法もあります。
落としたパッケージをPackagesにコピーするだけ。
これをいれるとCameraが変わり、いろいろ設定できるようになります。

PostProcessing

github.com

レイヤー指定することができる。
RendererFeaturesを使うと、描画順序を変えてもうまく反映されない(バグか仕様かは不明)

まとめ

リリースはうまくいけば1月上旬
PPSはURPに組み込まれます
RendererFeaturesを併用すると描画順序がおかしくなる()

 

 

 

 

 

 

#2 シェーダーグラフで作るヒットエフェクト

unity1weekで作ったゲームの中で使っているエフェクトについての解説。

unityroom.com

 

詳しくは資料(まだ未公開)、及び動画をご覧ください。

 

 

 

 

#3 UnityでTwitch Extensionsを使って動画配信

 本出してます。

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

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

  • 作者:一條 貴彰
  • 出版社/メーカー: ボーンデジタル
  • 発売日: 2019/08/27
  • メディア: 単行本
 

Twitchとは

ゲーム側の配信によったサービス
ゲームに特化している

Twitch Extension

動画の上から文字や画像を重ねていろいろできる機能
動画の上にhtmlを載せるイメージ

利用事例

・ゲームの試合情報
・アンケート
ミニゲームの再生など

始めてみよう

ドキュメントサンプルコードもあります
テスト用のシミュレーションアプリもあります

難点

日本語情報がない
描画は提供されているが、通信は自前で実装するなり用意する必要がある
配信者側にも準備が必要

 

ここでデモ

f:id:Raspberly:20191219234136g:plain

 

 

 

 

 

#4 ゲームのライセンス表記のお話

Unityでよく使われるライセンス

・Unity Asset Store
・MIT License
Apache License

asset storeは表記不要でかなりゆるゆる

 

リリースされているアプリ100本でライセンス表記がされているか調査してみました 

表記率

大体4割が表記ありでした、
表記はあるがライブラリ名がないのもありました。

みなさん表記してますか?

 

クレジット表記のあるゲームは25%くらい、割と少ない。
最近大手のゲームでの表記率は増えてきた。

クレジット表記で良かった例

ガンダムブレイカーモバイル
 バージョンごとにかかれている
FGO
 非常に長い

あなたのゲームは表記していますか?

 

 

 

 

 

#5 Zenjectを導入する前に

 Zenjectの本出してます、ポチって下さい

booth.pm

DIフレームワークを導入する前に考えること

既存のプロダクトにZenjectを入れる場合を考えた場合、影響範囲が非常にでかいため
特定のクラスだけDIするのが困難、コストが高い

Zenjectを使おうとして明らかになること

自分のコードの依存関係
特定部部だけZenjectは大変
これらを強引に解決しようとすると、コストが高くなる

その時考えられるのは、そもそもDIできるコードなのか
Zenjectを使うためにはZenjectが使えるような作り方にしないといけない

Zenjectを使うとは設計と向き合うこと

導入しただけでは何も変わらない
リファクタリングはほぼ必須
疎結合になるのではなく、疎結合にしていかないといけない

Zenjectを導入する前に

銀の弾丸ではないことを理解する
・DIを適応できるかどうかを見直す
 できないならどうするか考える
・Zenjectに依存しないこと
 設計レベルで解決しなければいけないことを、Zenjectで解決しない

それでもZenjectはいいぞ

 

 

 

 

#6 VRコンテンツの最適な画面共有方法を考える

公開したゲームでやらかしちゃった話

アタッチ外れ問題

Gotanda.unity #14アンチパターンを守りましょう

StudyUnityFromAnti-pattern - Speaker Deck

Manager多すぎる問題

役割を明確にわける
SOLID原則にのっとるべき

音声プロジェクト消えちゃった問題

詳しい経緯はGotanda.unity #13のLTで。

docs.google.com

ローカルのみにプロジェクトを保存していたことが原因
他者に共有できるプロジェクトはバックアップをとりましょう
ADX2はバージョン管理ができるとベスト

 

結局プロジェクトは作りなおしました

 

 

 

 

#7 VRコンテンツの最適な画面共有方法を考える

 

体験者側

VRの視界
・ゲーム内の情報など

観客側

・観客が知りたいのは何やっているのかという目的
・目的のための体験者の行動
・映像単体で見ても感情が動くもの
・採取的に面白そうと思ってもらえるもの


これを踏まえると
VR視点を直接表示は不向き
一部例外もあるけど(Beat Saber・カウンターファイト)

 

解決策は、体験者の操作の様子をそのまま映す
(第三者視点で固定カメラがよい)

最近の事例

・バーチャルモーションキャプチャ+LIV
 複数起動とOBSで合成してマルチアングル

・自動移動回転カメラ

・コンテンツ本体の方でVRMを読み込んでマルチアングルができる仕組む(BOWMAN)

・コンテンツ側に体験者のモーションとVRMを用意して、体験者がVR内でカメラ操作

 

詳しくはスライドをどうぞ

 

 

 

 

 

懇親会&展示会

f:id:Raspberly:20191220021237j:plain

 

 

 

リングフィットアドベンチャー(リング抜き)

ユニティちゃんと連動しトレーニングができる!
足にセンサーを取り付け、Unity側で角度を取得しユニティちゃんをスクワットさせているようです。

f:id:Raspberly:20191220021302j:plain

 

サンタシミュレータ

銀座VRでも体験させていただいたサンタシミュレータ。
ぬいぐるみを使った作品で家にプレゼントを爆撃していきます。

f:id:Raspberly:20191220021336j:plain

 

バイナリーファイター

大変スタイリッシュなアクションゲーム。
UIを全て消しているためプレイや臨場感を邪魔をしない作りになっています。

f:id:Raspberly:20191220021355j:plain

 

IRIAM

UniteTokyo2019でも体験させていただいたアプリです。

f:id:Raspberly:20191220021406j:plain

 

パイロットクロス

VRまつりStandalone xR Meetup #4でも体験させていただいたVRフライトゲームです。

Oculus Touchを使った浮遊感のある操作が特徴。
プレイするのはこれで3回目なので相当うまくなった自信があります。

f:id:Raspberly:20191220021418j:plain


 

 

 

 

タイムライン

 

 

 

 

 

 

 

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