Raspberlyのブログ

Raspberlyのブログ

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

【勉強会レポ】: CA.unity #1

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

meetup.unity3d.jpハッシュタグ : #CA_Unity

 

後日動画アーカイブやログミーの書き起こしが公開されるようです。

www.youtube.comこのレポでは大まかな内容のみメモしているので、詳しい内容はそちらをどうぞ。
また一部のLTはUnityLearningMaterialsに公開されます。公開されました。

CA.Unity | 検索結果: | Unity Learning Materials

 

3月15日追記 イベントレポートも公開されました

developers.cyberagent.co.jp

 

CA.unityとは

以下イベントページより引用

● CA.unityとは
CA.unityはサイバーエージェントが運営するUnityをテーマにした勉強会です。

サイバーエージェントのサービス開発者と社外の開発者を交えて、Unityに関する知見を共有する場となります。

● イベント概要
Unityエンジニア、学生向けのオンラインLT勉強会です。

LT発表者はZoomで発表を行い、その様子がYoutubeで限定配信されます。

初回である今回の企業枠はユニティ・テクノロジーズ・ジャパン様とサイバーエージェントが登壇いたします。

一般枠のLT発表者も積極的に募集しております。お気軽にご参加ください!

 

 

サイバーエージェント会社説明

サイバーエージェントのゲーム事業はCygamesSGEの2つあります。
今回、このCA.unityを運営しているのはSGEになります。
12の子会社があり、それぞれ得意分野があります。

技術の面

クライアント開発はUnityがメイン。
幅広い分野の開発がありノウハウが蓄積されています。
アウトプットも積極的に行っています

creator.game.cyberagent.co.jp

 

 

 

企業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本日扱うソースコードはこちらにあります

github.com

去年のcedecで講演したのがあります、細かい話はこちらをどうぞ。

learning.unity3d.jp


burstは早いがいろいろ使えないものも多い。
そこで今回はBurstでファイル入力をする話をします。
Job System向けにAsyncReadManagerというファイル読み込みをする仕組みがあります。

おまけ

SHA-256の逆変換をBurstでやる場合、計算してみるとおよそ1000那由他年かかります。

crowdworks.jp



 

 

一般LT#1 「Addressables の Catalog 外部読込を試してみた」

プロジェクトをAddressables Assets Systemを使って分割した時のお話。

 

プロジェクト側でビルドしたcatalogをLoadContentCatalogAsyncで読み込むだけ
UniTask.Addressablesを参照しておくと便利。
思いのほかすんなりいけましたが、製品版としてリリースしているわけではないので注意。

 

 

 

 

 

一般LT#2 「Unityにおける設計のパターン」

 

 

最近本を出しました

www.kadokawa.co.jp

 

設計アーキテクチャについてのお話
発表はだいぶ端折っていきます。公開している資料はフルバージョンです。

設計とは

どう作るかという指針のこと、これを俯瞰してみたのがアーキテクチャ
開発・運用コストを最小限にするのが目的

設計レベル

Unityにおける設計レベルを(勝手に)決めました。
レベルを上げると長期開発におけるコストが下がっていく、ただし開発者に対する負担が上がる。
どのレベルにするかはバランスを見てください。

まとめ

完璧なアーキテクチャは存在しない。
クリーンアーキテクチャになっていなかったり密結合でも、それがやりやすいならそれが良い。
ただし設計しなくていいというわけではない。

参考資料

www.nuits.jp

www.nikkeibp.co.jp

www.kadokawa.co.jp

 

 

 

 

企業LT#3 「A quick tour of the Cysharp OSS

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

クッソ早いデータベース

GitHub - Cysharp/MasterMemory: Embedded Typed Readonly In-Memory Document Database for .NET Core and Unity.

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の開発」

NieR Re[in]carnationの開発について

nierreincarnation.jp

・ノードベースのツールを作成しました

・アウトゲームの作り方
UIにこだわりたかったため、Rapid開発という独自の開発をしました
photoshop to Unity Prefabツールを作成

・設計はMVPパターンに沿った実装

・UIアニメーションはUnityのAnimator+AnimationClipで実装、エンジニアはAnimationを指定

・アセット管理はPerforceを使用

・通信回り:通信はgRPCのUnary方式

デバッグ回り:SRDebuggerを使用(これにバグ報告機能を組み込んでいます)

 

 

2月24日追記 アプリボット技術ブログTechbotにて、
「NieR Re[in]carnation」のアウトゲーム開発フローと開発に用いたツールの紹介記事が投稿されました。

blog.applibot.co.jp

 

 

 

 

 

一般LT#3 「XR Interaction Toolkit 1.0.0-pre で VR 開発してみよう」

XR Interaction Toolkitとは

Unityが提供するツールキットです、Oculus Integrationみたいなやつ
2019年に公開され、2020に新機能が公開、リリース目前になっています。
今回はVR側の機能の紹介を行います。

質問

Q. OculusI ntegrationと比べた時のメリットは何?


A. XR Interaction ToolkitはUPMでインストールされます。Assets配下に置かれないためリポジトリの容量が増えない。

 

 

 

一般LT#4 「Unityでチャットに使えるモバイルキーボードを実現する」

モバイルキーボードを気持ちよく実装する方法についてのお話

キーボードの高さを取得し、RectTransformのBottomに反映させたり、解像度の調整など。

(Androidの場合はこちら)

baba-s.hatenablog.com

 

 

サンプルはこちらで公開しています。

github.com

 

来週Roppongi.unityを開催しますのでよろしくお願いします

roppongiunity.connpass.com

 

  

 

おわり

新しい○○.unity勉強会が誕生しました。
今回主催運営をしているのはサイバーエージェントさんです。
実は過去にごたゆにの会場提供をされていたこともあります。

raspberly.hateblo.jp

第一回目の開催にも関わらずなんと参加者が700人超え!
Unite 2019の会場グランドニッコーでは、1ルームの収容人数が400人ほどなので実質Uniteと言っても過言ではない?

 

 

企業LT#1で紹介されていた、ChinemachineのFramingTransposerは
Unityショートセッション勉強会でとと様が2Dで使用していました。
こちらも合わせてチェック

raspberly.hateblo.jp

 

 

 

 

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