Raspberlyのブログ

Raspberlyのブログ

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

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

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

roppongiunity.connpass.com

ハッシュタグ : #roppongiunity

 

f:id:Raspberly:20210429011944p:plain

アーカイブはこちら

www.youtube.com

 

Togetterまとめはこちら

togetter.com

 

 

 

Roppongi.unityとは

六本木発のUnity勉強会です。しばらくはオンラインで開催予定。

六本木発のUnity開発者向け勉強会です。(ref. Gotanda.unity)

Unityに興味がある人であれば、どなたでもご気軽にご参加いただけます!

 

 

 

#1 Addressable Asset Systemをプロダクトで使ってみた

Addressable Asset Systemを使ってつまずいた点や開発体制について紹介します。
LeapTriggerというARシューティングゲームで使用しています。

www.youtube.com

開発環境

LeapTriggerはARアプリなので実機確認が大事。
AWSのS3にアセットバンドルをアップロードしてダウンロードするようにしています。
各環境のUnityでビルドしたアセットバンドルをアップロードできるエディタ拡張を用意しています。

つまずいたポイント

・AddressableでキャッシュクリアはClearDependencyCacheAsync

docs.unity3d.com

・DLが0%始まらない→最新版に上げたら解決

おまけ

 

 

 

 

#2 github actionsで作るUnity CI環境

UnityとCIの壮大な苦労話をします

登場人物

fastlane:アップロードやビルドができるツールをまとめたもの
game ci:unityをいろいろやるツール群。その中のunity-builderというやつがすごいやつ。

ワークフロー

図解しているのでスライドをどうぞ。
構築手順はこちら

qiita.com

工夫ポイント

・cocoapodsを使っているがcacheを使ってうまく短縮
・ビルドとアップロードは分けて考えて、手動アップロードにも対応
・ビルド番号を振って被らないようにしている

苦戦ポイント

iOSのArchiveは闇が多い(ログをcatすればわかったりする)
・ローカルで動かすのは大事(actがおすすめ)

qiita.com

まとめ

game-ciを使えばgithub actionsでもunityビルドができる
iosは大変

おまけ

ワンナイト人狼オンラインで遊べるアプリをリリースしました、ダウンロードしてね

ワンナイト人狼オンライン

ワンナイト人狼オンライン

  • virapture Inc.
  • ゲーム
  • 無料

apps.apple.com

 

 

 

#3 翻訳VR作ってみた

仕組み

Unityの音声認識APIに送って、返ってきたテキストを翻訳APIで翻訳してPhoton越しにUnityに送っています。

音声認識の比較

いくつか試しましたが、Cloud SpeechToTextとWatson Speech To TextのWebAPIで実装しました。
検証結果と導入方法はこちら

qiita.com

qiita.com

qiita.com

翻訳APIの比較

DeepLが一番精度が高かった、慣用句もOK

qiita.com

qiita.com

qiita.com

マルチ対応Tips

Photon Voice2で導入。
UnityとPhotonそれぞれのMicrophoneAPIを使用して並列に走らせた。
同名のDLLが多数存在する場合は削除して1つにする。

参考リンク

tech.drecom.co.jp

 

 

 

 

#4 Unity + MRTKでHoloLens2用音楽ゲームを作った話

Unity,ゲーム開発初心者、HoloLensで開発したい人向けの内容です。

制作したゲーム

ハッカソンで作りました

実装手順

MRTKのインストール→UIの実装→衝突判定の実装→ビルド
MRTKはMR機能をUnity上で手軽に扱うことができるツールです。(MR用のUI/UXを簡単に実装できる)

chomado.com

実装の感想

・MRTKのおかげで衝突判定がやりやすかった
・XRに興味を持つきっかけになった 

 

 

 

 

#5 レーシングゲームにおける AI 設計

どのような考え方でAIを作ったかお話します。

 

※コードや説明が多く含まれているので動画でお楽しみください

 

 

 

 

 

#6 FrameDebugger VS RenderDoc

FrameDebuggerとRenderDocの良い部分をまとめました。

FrameDebuggerとRenderDocは何?

アプリの描画や負荷を調べたりするツールです。
FrameDebuggerはUnity標準のツール、RenderDocはオープンソースのツールです。

比較した結果

FrameDebugger

・シンプルで使いやすかった。覚えることも少ない。
・Editorとほとんどのビルドで動く(要Development Build)
・EventBrowserはEditorの場合Scene上で描画されているものをピックアップ
・MeshViewはShaderPropertiesが見られる(Editor上だとリソースをすぐに特定できる)
・TextureViewはEditorの場合はGameTabに、アプリの場合はアプリに表示される

RenderDoc

・細かい情報が見られるのでチューニングやバグ修正にはこっち。
・EditorとWindowsLinuxAndroidのみ(Development Buildは不要)
・EventBrowserは現在ツールが動いている環境での処理時間が計測される
・MeshViewはvertex shaderのIn/Outの値が見られる
・TextureViewは現在のDrawCallで描かれているものがハイライトされる

結局どっちがいいの?

お互いにいい点があるが、
サッと見るのならFrameDebugger、負荷やエラーを見るならRenderDoc

 

 

 

 

#7 Unityで仮想通貨を取扱えるようにしてみた

※コードや説明が多く含まれているので動画でお楽しみください

 

 

 

 

#8 Unity EditorからADX2の出力データを直接いじる魔改造

twitter.com

ADX2のざっくりした紹介をします。

CRI ADX2とは

・音の演出が組み込まれたライブラリ&ツール、Unityでも使えます
インタラクティブミュージックなどの演出にこだわれる
サウンドの制御や、Androidの再生遅延を軽減する
・インディー向けの無償エディションが提供されています

game.criware.jp

最近の利用事例

www.gamebusiness.jp

詳しい使い方はこちらをどうぞ

www.slideshare.net

専用ツール

ADX2では専用ツールで音の設定をする。
大量のデータ管理、演出作り、サウンドデザイナーとゲームプログラマーの分業体制の構築ができる。
同時再生数やフェードの設定を音に埋め込める。

ADX2でのちょっと面倒なこと

・ゲームと音が密接に連動する演出だとツールの行き来が面倒
・ちょっと設定を変えたい時も面倒
・一人で作っていると分業構築ができるメリットもない

Atom Craftを開かずに音データの修正をしたい

ADX2 for Unity Change Cue Settingsを作りました

再生上限数と先着優先なのか後着優先なのかの設定がUnityから変更できる

github.com

 

デモの動画

www.youtube.com

 

 

 

 

協賛企業紹介

Cluster株式会社

バーチャルプラットフォームを作っています。

クラスター会社紹介資料 / We are hiring - Speaker Deck

 

特徴として体験入社というものをしています。
評価ではなく、一緒に働けるかをお互いに判断するためにしています。
ご応募お待ちしています。

www.wantedly.com

 

株式会社ハシラス

体感重視のVRコンテンツを作る会社です。
現在採用枠が埋まっています。また機会がありましたらよろしくお願いします。

hashilus.co.jp

※コンテンツの紹介があるのでアーカイブ動画からどうぞ。

 

 

その他の勉強会紹介

meetup.unity3d.jp

meetup.unity3d.jp

次回Roppongi.unity #10は6/23日の予定です。

 

 

他の方の感想ブログとか

blog.mogmet.com

 

 

 

過去のRoppongi.unityの記事

raspberly.hateblo.jp

 

 

 

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