勉強会のレポート(メモ)です。
参加したのはこちら「CA.unity #1」
meetup.unity3d.jpハッシュタグ : #CA_Unity
後日動画アーカイブやログミーの書き起こしが公開されるようです。
www.youtube.comこのレポでは大まかな内容のみメモしているので、詳しい内容はそちらをどうぞ。
また一部のLTはUnityLearningMaterialsに公開されます。公開されました。
CA.Unity | 検索結果: | Unity Learning Materials
3月15日追記 イベントレポートも公開されました
- CA.unityとは
- サイバーエージェント会社説明
- 企業LT#1 「Cinemachineで見下ろし視点のカメラを作る」
- 企業LT#2 Burstを使ってSHA-256のハッシュ計算を高速に行う話
- 一般LT#1 「Addressables の Catalog 外部読込を試してみた」
- 一般LT#2 「Unityにおける設計のパターン」
- 企業LT#3 「A quick tour of the Cysharp OSS」
- 企業LT#4 「NieR Re[in]carnationの開発」
- 一般LT#3 「XR Interaction Toolkit 1.0.0-pre で VR 開発してみよう」
- 一般LT#4 「Unityでチャットに使えるモバイルキーボードを実現する」
- おわり
CA.unityとは
以下イベントページより引用
● CA.unityとは
CA.unityはサイバーエージェントが運営するUnityをテーマにした勉強会です。サイバーエージェントのサービス開発者と社外の開発者を交えて、Unityに関する知見を共有する場となります。
● イベント概要
Unityエンジニア、学生向けのオンラインLT勉強会です。LT発表者はZoomで発表を行い、その様子がYoutubeで限定配信されます。
初回である今回の企業枠はユニティ・テクノロジーズ・ジャパン様とサイバーエージェントが登壇いたします。
一般枠のLT発表者も積極的に募集しております。お気軽にご参加ください!
サイバーエージェント会社説明
サイバーエージェントのゲーム事業はCygamesとSGEの2つあります。
今回、このCA.unityを運営しているのはSGEになります。
12の子会社があり、それぞれ得意分野があります。
技術の面
クライアント開発はUnityがメイン。
幅広い分野の開発がありノウハウが蓄積されています。
アウトプットも積極的に行っています
企業LT#1 「Cinemachineで見下ろし視点のカメラを作る」
www.youtube.comCinemachineとはカメラを制御するツールです。UPMからインストールできます。
追跡する対象や、どう追跡するかなどを設定しカメラをいい感じにしてくれます。
他にも、いくつかのカメラを用意して状況に応じて切り替えていきます。
今回はこれで見下ろし型カメラの作り方を紹介します。
FramingTransposerを使います。
これはもともと2D向けの機能ですが、カメラの回転が必要ない見下ろし方のゲームにマッチします。
Framing Transposer | Cinemachine | 2.6.0
質疑応答
Q.場にキャラが複数いて、追尾するキャラを切り替えるときは、follow,lookatの対象を変えるのではなく、バーチャルカメラを複数移したい対象ごとに作ってバーチャルカメラを切り替えるほうが使い方イメージとしてとしてはあってるのでしょうか。
A. どちらでもいいですが、Cinemachineの考え方としてはカメラを切り替えたほうがいい。
フォロワーを切り替えると座標がいきなり大きく変わってしまうかもしれないため。
企業LT#2 Burstを使ってSHA-256のハッシュ計算を高速に行う話
www.youtube.com本日扱うソースコードはこちらにあります
去年のcedecで講演したのがあります、細かい話はこちらをどうぞ。
burstは早いがいろいろ使えないものも多い。
そこで今回はBurstでファイル入力をする話をします。
Job System向けにAsyncReadManagerというファイル読み込みをする仕組みがあります。
おまけ
SHA-256の逆変換をBurstでやる場合、計算してみるとおよそ1000那由他年かかります。
一般LT#1 「Addressables の Catalog 外部読込を試してみた」
本日の LT スライドです。
— もんりぃ先生 (@monry) 2021年2月19日
UPM と AAS を使って Unity プロジェクトを分割するテクニックについて LT しました。#CA_Unityhttps://t.co/rts1G0CyWz
プロジェクトをAddressables Assets Systemを使って分割した時のお話。
プロジェクト側でビルドしたcatalogをLoadContentCatalogAsyncで読み込むだけ
UniTask.Addressablesを参照しておくと便利。
思いのほかすんなりいけましたが、製品版としてリリースしているわけではないので注意。
一般LT#2 「Unityにおける設計のパターン」
今回の発表資料です!!
— とりすーぷ (@toRisouP) 2021年2月19日
Unityにおける設計パターン https://t.co/PaWoANk42I #CA_Unity
最近本を出しました
設計アーキテクチャについてのお話
発表はだいぶ端折っていきます。公開している資料はフルバージョンです。
設計とは
どう作るかという指針のこと、これを俯瞰してみたのがアーキテクチャ
開発・運用コストを最小限にするのが目的
設計レベル
Unityにおける設計レベルを(勝手に)決めました。
レベルを上げると長期開発におけるコストが下がっていく、ただし開発者に対する負担が上がる。
どのレベルにするかはバランスを見てください。
まとめ
完璧なアーキテクチャは存在しない。
クリーンアーキテクチャになっていなかったり密結合でも、それがやりやすいならそれが良い。
ただし設計しなくていいというわけではない。
参考資料
企業LT#3 「A quick tour of the Cysharp OSS」
本日 CA.untiy にて発表した、CysharpのOSS紹介スライド、公開しました! #CA_Unityhttps://t.co/LdhMkpcng5
— neuecc (@neuecc) 2021年2月19日
Cysharpが提供しているOSSの紹介です。
MagicOnion
C#のサーバーサイドフレームワーク。採用実績がけっこうあります。
GitHub - Cysharp/MagicOnion: Unified Realtime/API framework for .NET platform and Unity.
UniTask
unityでasync/awairをゼロアロケーションで実現できるライブラリ 激おすすめ
GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity.
MasterMemory
クッソ早いデータベース
ZString
文字列生成を最適化 余計なごみを出さない
GitHub - Cysharp/ZString: Zero Allocation StringBuilder for .NET Core and Unity.
Ulid
ソート可能なGUIDの高速なC#実装
SlnMerge
Unityの.slnとサーバーの.slnを合成してくれる
企業LT#4 「NieR Re[in]carnationの開発」
先日CA.untiy にて発表させていただいた際の登壇資料を公開しました!
— しぐま (@siguma_sig) 2021年2月25日
開発の参考になれば幸いです!https://t.co/BbHGTr4Cx0 #リィンカネ #CA_Unity
NieR Re[in]carnationの開発について
・ノードベースのツールを作成しました
・アウトゲームの作り方
UIにこだわりたかったため、Rapid開発という独自の開発をしました
photoshop to Unity Prefabツールを作成
・設計はMVPパターンに沿った実装
・UIアニメーションはUnityのAnimator+AnimationClipで実装、エンジニアはAnimationを指定
・アセット管理はPerforceを使用
・通信回り:通信はgRPCのUnary方式
・デバッグ回り:SRDebuggerを使用(これにバグ報告機能を組み込んでいます)
2月24日追記 アプリボット技術ブログTechbotにて、
「NieR Re[in]carnation」のアウトゲーム開発フローと開発に用いたツールの紹介記事が投稿されました。
一般LT#3 「XR Interaction Toolkit 1.0.0-pre で VR 開発してみよう」
お疲れさまでした.
— Denik (@xrdnk) 2021年2月19日
登壇資料置いておきます.
「XR Interaction Toolkit 1.0.0-pre でVR開発してみよう」になります.https://t.co/AFYL5ajIFu#CA_Unity
XR Interaction Toolkitとは
Unityが提供するツールキットです、Oculus Integrationみたいなやつ
2019年に公開され、2020に新機能が公開、リリース目前になっています。
今回はVR側の機能の紹介を行います。
質問
Q. OculusI ntegrationと比べた時のメリットは何?
A. XR Interaction ToolkitはUPMでインストールされます。Assets配下に置かれないためリポジトリの容量が増えない。
一般LT#4 「Unityでチャットに使えるモバイルキーボードを実現する」
📝先ほどの発表資料です!(画像は抜粋)たくさんの人にご清聴いただきありがとうございました!! #CA_Unity
— なかじ (@nkjzm) 2021年2月19日
Unityでチャットに使えるモバイルキーボードの実現https://t.co/nJmO4vIlgE pic.twitter.com/7DgCQ4Osit
モバイルキーボードを気持ちよく実装する方法についてのお話
キーボードの高さを取得し、RectTransformのBottomに反映させたり、解像度の調整など。
(Androidの場合はこちら)
サンプルはこちらで公開しています。
来週Roppongi.unityを開催しますのでよろしくお願いします
おわり
新しい○○.unity勉強会が誕生しました。
今回主催運営をしているのはサイバーエージェントさんです。
実は過去にごたゆにの会場提供をされていたこともあります。
第一回目の開催にも関わらずなんと参加者が700人超え!
Unite 2019の会場グランドニッコーでは、1ルームの収容人数が400人ほどなので実質Uniteと言っても過言ではない?
企業LT#1で紹介されていた、ChinemachineのFramingTransposerは
Unityショートセッション勉強会でとと様が2Dで使用していました。
こちらも合わせてチェック
間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。