Raspberlyのブログ

Raspberlyのブログ

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

【勉強会レポ】: Gotanda.unity #19

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

meetup.unity3d.jp

ハッシュタグ : #gotandaunity

 

 

アーカイブはこちら

www.youtube.com

この記事は私の主観でのまとめです。
重要な情報を削っていたり、解釈違いの場合があるのでアーカイブの動画と合わせてどうぞ。

 

Gotanda.unityとは

都内近郊を中心に活動を行うUnityユーザのコミュニティです
Unityに興味がある人であれば、どなたでも気軽にご参加いただけます!
(五反田発の勉強会であることから「Gotanda.unity」というネーミングになっております)

 

 

 

LT#1 (スポンサー枠) tetsu: MirrativでのUnity as a Library活用事例

MirrativでのUnity as a Library活用事例についてお話します

Unity as a Library(UaaL)とは

Unityをネイティブアプリのライブラリとして利用する技術です。
Mirrativのエモモ(3Dアバター)で使用しています。
・ギフト(アイテムやスタンプ)機能の処理はアプリ側で、演出をUnityで行っています。

メリット

・Unityの3D機能が使える
・デザイナーがそのまま作れる
・Unityだけで完結し、確認する時アプリビルドの必要がない

演出の難しさ

・Unityの初期化中やロード中にもアプリ側の処理が行われる→キャンセル処理を適切にいれる必要がある
・演出のタイミングや順番を制御する仕組みが必要
・演出の豪華さと負荷のバランスが大事(許容判断と負荷の改善が必要)

UaaLは×演出はこんな人におすすめ

・Unity+ネイティブ両方の機能を使ってみたい人
・新しい演出で驚きを提供したい人
・新しい技術の先端を追いかけたい人

 

 

 

LT#2 (初登壇枠) Denik: 新MLAPI(v0.1.0)でマルチゲームを作ってみた

MLAPI Quick Start

MirrorのQuick Startを新MLAPIに対応したサンプルを作りました。

xrdnk.hateblo.jp

MLAPIとは

Unityが買収したGameObject向けマルチプレイヤーソリューションです。
TISの「XR Campus ツアーサービス トライアル版」で採用中です。

www.tis.jp

新旧の違い

詳しくはこちら

xrdnk.hateblo.jp

機能紹介

・NetworkObject、NetworkTransformなど同期コンポーネントが用意されています
・1シーンに一つ必要な管理クラスNetworkManagerがあります
・同期させるScriptはNetworkBehaviourを継承する必要があります
・変数の同期を行いたい場合はNetworkVariable型を使用します
・RPCも使用できます

CunstomMessagingManager

NetworkObjectやRPCは、NetworkObjectがアタッチされていてNetworkBehaviourを継承したクラスでないと利用できない。
それらがなくても同期処理を行いたい場合はCustomMessagingManagerを利用する

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

 

 

 

LT#3 むろほし: Unity 2021.1でのUnityパッケージの名称変更について

Unityのパッケージの名称、区分の変更についてお話します

2020.3以前のパッケージ区分

検証済み(Verified):実際のプロジェクトに導入できるもの

プレビュー(Preview):検証中のもの、仕様変更やサポートが終わる可能性があるなど実験的なものも含める

2021.1以降のパッケージ区分

リリース済み(Released):検証済みに相当。PackageManagerから導入できる

プレリリース(Pre-release):その年のLTSリリースまでにReleasedになることが期待されるパッケージ
ProjectSettingから設定しないとPackageManagerに表示されない

実験的(Experimental):実験的、手探り状態のパッケージ。リリースされないかもしれないパッケージ。
PackageManagerには表示されない。2020.3LTSの時点でPreviewだったパッケージは原則Experimental。
そのうちのいくつかは公式ドキュメントの方法で導入できる

リリース候補(Release Candiate)

公式リリースの有力な候補であるパッケージ

Unity - Manual: Release Candidates

非推奨(Deprecated):サポートしていないパッケージ

 

詳しくはこちら

blog.unity.com

まとめ

・パッケージの名称が変わりました
・プレビューはプレリリースとエクスペリメンタルに分かれてわかりやすくなりました

 

 

 

LT#4 こりん: UnityのVR開発環境の現状整理

UnityのVR開発環境の状況が込み入っているので整理して、今どうすればいいのか答えを出しておきます

先に結論

UnityのXR Interaction Toolkit + OpenVR PluginマルチプラットフォームVR開発の未来です

しかし、Oculus IntegrationやSteamVR Pluginを使わなければならないケースがまだある

全体的な動向

UnityはXR Plugin Managementによるプラグイン方式に変更されたが、
実際には特定のSDKプラグインを組み合わせないといけないものが多い

・Oculus Integration + Oculus XR Plugin
・SteamVR Plugin + OpenVR Plugin
・MRTK + OpenXR Plugin + Miced Reality OpenXR Plugin
・XR Interactiobn Toolkit + Oculus Plugin、OpenXR Plugin等
・WebXR Export + プラグインはまだなし

プラグインにはヘッドセットごとの低レイヤーAPIやサポートAPIが入っています。
ヘッドセットごとにバラバラだと大変なので標準化したOpenXR規格が誕生しました。


その後、UnityのXR Plugin ManagementではOpenXRに対応したOpenXR Plugin
Unity純正XRツールキットXR Interaction Toolkitが生まれました。

この二つはUnityの新しい入力システムInput Systemに移行しています。

forpro.unity3d.jp

 

XR Plugin Management、OpenXR Plugin、XR Interaction Toolkit、Input SystemがUnityの標準VR方式になる見込みです

制限と課題

・Oculus Questのハンドトラッキングには未対応
・SteamVRのViveトラッカーをサポートしていない
・SteamworkのターゲットSDKにOpenXRがないため審査に通るか不透明
・OpenXRに対応したランタイムが複数あるがどのランタイムで起動されるかわからないし動作が異なる

結論

・まだ移行期
・アプリをリリースしたり、ヘッドセット固有の機能を使いたい場合は各プラットフォームのSDKを使う状況が続きそう
・学習用途であればXR Interaction Toolkit+OpenXR Pluginを使ってもいいのでは

告知

XR Interaction Toolkitのページを作りました

framesynthesis.jp

 

 

 

 

LT#5 もんりぃ先生: GraphView のすゝめ

GraphViewの基本やカスタマイズについてお話します

GraphViewとは

ShaderGraphやVFXGraphなど、ノードベースなヴィジュアルプログラミング環境を作るためのAPI/UIを提供するものです。
コードを書かなくてもプログラミングできるようになるのが特徴です。

GraphViewの構成要素

・GraphView:GraphViewを作るためのもの
・Node:一つ一つのノードを作るための機能
・Port:ノードの入出力先をつかさどるもの
・Edge:ポートとポートをつなぐための線
・ISearchWindowProvider:検索窓を作るための機能

GraphViewのTips

数が多いのでスライドをどうぞ

まとめ

・現状Experimental
・最低限ノードベースなグラフを構築することはできる
・カスタマイズするにはUIElements力が求められる

リンク

light11.hatenadiary.com

www.youtube.com

qiita.com

creator.game.cyberagent.co.jp

https://virtualcast.jp/blog/2020/04/playwithgraphview/

 

 

 

 

 

 

 

 

LT#6 (スポンサー枠) おはぎ: Mirrativ 着せ替えの仕組みを解説

エモモの着せ替えについてお話します

着せ替えの仕組み

共通の素体に対してアイテムを着せ替えています。
着せ替えるアイテムに応じた異なる仕組みで着せ替えを実現しています。

ボーンスケールの変更

・部位ごとにスケールを変更する
・素体一つにパラメータを読み込ませて実現している
・パラメータが極端だと破綻するためレギュレーションを決めている

ブレンドシェイプによる変形

・口や顔、表情など
・プリセットを渡して変形させる

テクスチャの入れ替え

・シェーダにテクスチャを渡す

メッシュとマテリアルの入れ替え

・アイテムごとにメッシュとマテリアルを入れ替える
・髪、目・衣装など必ず身に着けているものに対して入れ替える

プレハブの入れ替え

・プレハブを生成して入れ替える
・アクセサリーや置物に対して行う

エモモのクオリティアップ

・揺れ物はボーンを設定、DynamicBoneを使用
・アイテムの自由度を下げないようにお互い干渉しないようにしている

 

 

 

 

LT#7 (初登壇枠) 佐藤 英一: 執筆者になろう! & ちょっとだけUnityバイブル2の裏話

出版社から書籍を出すと何が違うのか

SNSやブログでの情報発信、同人誌の作成や勉強会での登壇と何が違うのか

・著者として名前が刻まれる→末代まで残る

・印税が入ります。電子書籍でも当然入ります。ただしあまり金額にこだわるとお願いしにくい

・(重要)開発者の輪が広がる。いろいろな方から声がかかりつながりができる

残念なお知らせ

・Unityバイブルのような多人数の書籍はほとんどない。バイブルはまたやるがしばらく先になる

・普通の場合は一人で書くか4~5名

・執筆期間は決まっているので負荷は高い

負担は大きいが達成感も大きい

バイブルのよくある質問

・著者は勉強会に登壇した方に声をかけることが多い

・執筆期間は3か月でお願いしているが場合によっては1年になることも

・Unity以外のテーマは能力不足でできません

最後に

・執筆に関心がある!

・自分は無理だけど興味がありそうな人を知っている

・このSNSをやっている人に書いてもらってほしい

などなどある方はぜひご気軽にご連絡ください

宣伝

 

 

LT#8 ナナキ: Timelineを使ってターン制RPGの戦闘を演出する

Timelineの利点

・演出を倍速にできる
・エンジニア以外の人に演出を組んでもらえる
・演出が再利用できる(攻撃する演出など)
・人型のキャラクターだとモーションも再利用できる
・テスト用シーンで演出が組める

モーションを作るのが大変な場合

Mixamoで探す
MocapForAllを使う
・アセットストアで購入する
モーションキャプチャーで作る

・人以外の場合は手付けで頑張るしかない

注意点

・キャラクターの位置、回転は親オブジェクトにやらせる
コンポーネントも親オブジェクトにつける
・エフェクトは対象のルートに持たせて、そこからローカル座標や回転を調整
・キャラの大きさによってモーションの調整が必要

PlayableDerector

Timelineの再生、行動側・行動される側を動かしたり、エフェクトを再生させる

・行動者がTimelineの再生
・Signalが対象者に演出を通知
・対象者は受け取って演出を行う
・PlayableAssetがエフェクト再生(Prefabの設定やInspectorの設定を保持できる利点がある)

 

 

 

 

LT#9 (初登壇枠) イワケン: XR時代のプレゼンテーションをUnityで構築したい

XRプレゼンの技術をお話します(内容的にはUnityとUnrealの座標変換の話)

XRプレゼンとは

XR技術を用いた表現でユーザー行動を促す技術(イワケンが定義した言葉)

UnityからUnrealへの座標変換

HoloLensアプリはUnityで、CG空間はUnrealで作る必要があるので連動させないといけない。
変換としては、反転させたり軸を入れ替えるだけ。
XRプレゼンを用いて直感的に座標変換を伝えます。

 

ここでデモ 動画をご覧ください

 

重要なこと

XRデバイスを被らせるよりも映像の方が今のユーザーには届く
スライドとシステムは分ける(組み込むと大変)

XRプレゼンの意義

リアルで見れないモノや回転をプレゼンテーションできるのが強み
情報だけでなく体験を伝えやすくなる

 

 

 

 

 

 

スポンサー企業紹介

株式会社ミラティブ

ゲーム配信ができるコミュニケーションサービス「Mirrativ」を作っています。
文化として毎週ユーザーのフィードバックに向き合い、全員で共有する会をやっています。

 

現在Unityエンジニア、IOSエンジニア、Androidエンジニア、サーバーエンジニア、
データサイエンティストを募集しています。

www.mirrativ.co.jp

 

株式会社キッズスター

子供向けのサービスを作っています。
メインのプロダクトとして「ごっこランド」を展開しています。

biz.kidsstar.co.jp

 

エンジニアに限らずさまざまなジョブを募集しています

www.wantedly.com

 

ワンダープラネット株式会社

エンターテインメント事業を生業としています。
プロダクトとしては「ジャンプチ ヒーローズ」や「クラッシュフィーバー」などシンプルだけど奥深いプロダクトの開発・運営を行っています。

 

エンジニア募集中です(クライアントもサーバーも)

www.wantedly.com

 

 

 

 

 

 

以上です。

 

今回もとてもおもしろいLTが聞けました。発表者のみなさまお疲れ様です👏

 

 

他の方の感想ブログとか

xrdnk.hateblo.jp

note.com

 

 

 

 

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