勉強会のレポート(メモ)です。
参加したのはこちら、「Roppongi.unity #5」
会場はメルカリさんです。
動画はこちら
Roppongi.unity #5 リアルタイム配信 #roppongiunity
UnityLearningMaterialsでは映りませんが、LT合間にある司会の@nkjzmさんのトークも見どころポイント。
発表者一覧
時間(予定) | タイトル | 発表者 |
---|---|---|
19:30-19:40 | 会場説明など | @nkjzm |
19:40-19:50 | 楽しい!LWRP + 2D Light | @lycoris102 |
19:50-20:00 | Unityでブロックチェーンアプリを作る(仮) | @takayukib |
20:00-20:10 | ぼくとAddressablesの戦いの歴史 | @akinama3 |
20:10-20:20 | Zenject.SceneTestFixtureと向き合った | @naninuneno_y |
21:20-21:25 | 小休憩 | |
20:25-20:35 | UniNativeLinq - Unity2018時代のNativeArrayに対するLINQ | @pCYSl5EDgo |
20:35-20:45 | Unity花火ワークショップ(小中学生)をやった件について。 | @ tomotomospot |
20:45-20:55 | Visual Scripting ライブラリ「UniFlow」のご紹介 | @monry |
20:55-21:05 | Animation Riggingで簡単リアルタイムリターゲット | @_karukaru_ |
21:05-21:10 | 展示紹介 |
順番やタイトル等は適宜変更となる可能性があります。
展示一覧
概要 | 展示者 |
---|---|
ARシューティングバトル「ホロブレ」 | @ok_totti |
遊んで鍛えるワーキングメモリー! | @okprogramming |
azure kinect をいろんなデバイスで試してみた | @xbar_usui |
シューティングゲーム | @singersongse |
ラン&ジャンプゲームを展示します | @yasukiwatanabe |
立体視VRで巨人体験 | @warapuri |
「みくちゅあがーでん」ミクと触れ合えるLookingGlassコンテンツ | @sirohood_exp |
バーチャルショップ Conata | @mogmogvr |
- 発表者一覧
- 展示一覧
- LT1. 楽しい!LWRP + 2D Light
- LT2. Unityでブロックチェーンアプリを作る(仮)
- LT3. ぼくとAddressablesの戦いの歴史
- LT4. Zenject.SceneTestFixtureと向き合った
- LT5. UniNativeLinq - Unity2018時代のNativeArrayに対するLINQ
- LT6. Unity花火ワークショップ(小中学生)をやった件について。
- LT7. Visual Scripting ライブラリ「UniFlow」のご紹介
- LT8. Animation Riggingで簡単リアルタイムリターゲット
- 懇親会 & 展示会
- タイムライン
- 告知
- 他の方の感想ブログ
LT1. 楽しい!LWRP + 2D Light
今日の資料です🔦 #roppongiunity | 楽しい! LWRP + Light2D https://t.co/XuJdEiil55
— 青木とと(ˊᗜˋ*) (@lycoris102) October 23, 2019
Unity1週間ゲームジャムで作ったサーチライトのしくみをはじめ、LWRPとLight2Dについてお話します。
LWRPについて
SRPの1つです。
ビルトインよりも軽量で最適化されたレンダーパイプライン。
設定方法とかはスライドから
2DRenderer
2Dに特化したRendererDataを作成しProjectSettingsで設定します。
準備はこれだけ。
Lightの設置
後はLightを置くだけ。
Lightが何もない状態だとシーン全体が闇になります。
Global Light 2D
Sprite全体に適応できるLight、レイヤーを分けることもできる。
3DでいうとDirectionalLightに近いかも。
Point Light 2D
これは通常のPointLightと同じだが、角度をつけることができスポットライトのようにできる
他にもいろいろなライトを作成できます。
面白い絵作りができるのでぜひ皆様お試しください。
困ったときに見るところ
LT2. Unityでブロックチェーンアプリを作る(仮)
ブロックチェーンとは
ざっくりいうと共有台帳
データを書き込んだら、同じネットワークにあるものも共有される。
分散DBと似ていますが、こちらは非中央集権的な性格を持っています。
また改ざん耐性もあります。
ゲームでの活用法
ゲーム内のアセットをブロックチェーンにのせることで他の人からも共有できる。
unity向けのライブラリにはNethereumというものがあります。
webサービスと違ってリアルタイムでの更新は待ち時間があるので非同期処理を使うようにしましょう。
LT3. ぼくとAddressablesの戦いの歴史
うぇいそいやhttps://t.co/KnYmt7ciJC#roppongiunity
— あきなま is ゼロチェーン大好きっ子 (@akinama3) October 23, 2019
AddressableAssetをプレビュー版から使ってみた際の知見。
情報量が多いのでスライドや動画をご覧ください。
LT4. Zenject.SceneTestFixtureと向き合った
しれっと資料上げましたhttps://t.co/S29cGO1ZHc#roppongiunity
— なにぬね.の (@naninuneno_y) October 23, 2019
SceneTestFixture
テストコード上で専用のBindを行う
そのうち、新テストを行うためのもの.
詳しくはドキュメントを見てください
Zenject/WritingAutomatedTests.md at master · modesttree/Zenject · GitHub
そのままだとないのでテストフレームワークも入れましょう。
したいこと
・画面毎の挙動をテストしたい
・アプリケーションを動かすロジックだけテストしたい
そもそもインターフェースとは
素敵な記事があるので共有します
書籍
Adaptive Code ~ C#実践開発手法 第2版 (マイクロソフト関連書)
- 作者: Gary McLean Hall,長沢智治(監訳),クイープ
- 出版社/メーカー: 日経BP
- 発売日: 2018/02/24
- メディア: 単行本
- この商品を含むブログ (1件) を見る
Clean Architecture 達人に学ぶソフトウェアの構造と設計
- 作者: Robert C.Martin,角征典,高木正弘
- 出版社/メーカー: KADOKAWA
- 発売日: 2018/07/27
- メディア: 単行本
- この商品を含むブログを見る
Clean Architecture
アプリケーションロジックの話をしましたがここででてくるのがクリーンアーキテクチャ。
手掛かり無く抽象化をするよりはアーキテクチャを使った方がいい。
その後
「これ出来たからって何になるんだろう・・・」に行き着いた感がありました。
unityのテストをunityの中だけでやりたかったらこういうことをやらないといけないのかも。
LT5. UniNativeLinq - Unity2018時代のNativeArrayに対するLINQ
スーギ君のLINQ LT資料アップされてるやんけ!!!https://t.co/JKIl5z8Pna
— 猫ちゃんぐbot (@songofsaya_) October 23, 2019
もうすぐ2018.4のみLTSになる、つまりC#7.3の時代が来ます。
C#7.3時代
構造体の使い勝手が大きく向上します。
その中でも大きな特徴がNativeArrayです。これはGCが一切は知らない配列的な構造体。
ですがこれはLINQとの組み合わせが悪い、Whereなどの呼び出しのたびにGC Allocが発生してしまう。
そのためLINQを使えるLINQ to NativeArrayを作りました
全て無料で利用可能です
インストール方法のデモ 詳しくは動画をご覧ください。
うれしいところ
・using変数を書き換え可能
・インデクサアクセサリの戻り値が参照可能
・byte配列への変換が簡単
・基本的に従来のLINQより早い(だいたい30%)
・C#7.3でもunmanagedな相称型のポインタをある程度扱える
スライドにおまけがたくさんあります。ぜひご覧ください。
LT6. Unity花火ワークショップ(小中学生)をやった件について。
資料的な公開。
— tomotomospot@yokohama.unity (@tomotomospot) October 23, 2019
Unity花火ワークショップ(小中学生)をやった件について。https://t.co/M52JyDmaUK
#roppongiunity
なんでワークショップをやったか
最近の小中学生はスクラッチを通じてアルゴリズムを学んだり、プログラムを作っていく。
ただしどこかで詰まるポイントができてしまう。
Unityだとエフェクトや音楽を簡単に作ることができるのでそこをきっかけにしてもらう。
花火ワークショップ
パーティクルを作るワークショップをやりました。
花火のみをテキストを見ながら作っていきます。
難しいんでしょう?と聞いてくる人がいますが、
そういう人の対策に、1分でできる簡単なチュートリアル動画を用意しておくといいでしょう。
機材構成
モニターとスクリーンを用意して上映会的なものをやりました。
「パーティクル」だと敷居が高くなるので、「花火を作る」ことを主体にして敷居を下げました。
花火のいいところ
子供が遊んでくれるので家庭内のヒエラルキーが上がります。
本物と違いUnityでは雨天でもできる。
告知
iwate.unityを立ち上げました
yokohama.unityもあります
よろしくお願いします。
LT7. Visual Scripting ライブラリ「UniFlow」のご紹介
https://t.co/7yFRiZ3pKz
— もんりぃ先生 (@monry) October 23, 2019
本日の資料です!#roppongiunity
今回はUniFlowについてお話します。
今回の対象者
C#を書きたくない人
ドメイン・ビューを切り分けたい人
Unityのコンパイル時間をさけたい人
UniFlowとは
処理の逐次実行をしたり、イベントを待ち受けたり、
シグナルによるドメイン接続をGraphViewで確認できるOSS
処理逐次処理
何かしたら何かするという処理
イベントの待ち受け
ボタンがタップされたらといったイベント処理
今サポートしているのはAudio Animation Timeline
シグナルによるドメイン接続
PureC#で実装されるドメイン処理との橋渡し。
GraphView
UIElementsのGraphViewを使ってビジュアライズされています。
OSSとしてPublicです、ライセンスはMIT License。星をください!
インストール方法や使い方はスライドをご覧ください。
拡張性をがっつり作っています。
うまい具合に拡張するとスクリプトを書かずにゲームを作れたりも。
UniFlowを使うとビュー側の部分は全てC#を書かずにできます。
これから相当破壊的変更が入ると思いますが単語だけでも覚えてもらえれば。
LT8. Animation Riggingで簡単リアルタイムリターゲット
今日の登壇資料です! #roppongiunity
— karukaru (@_karukaru_) October 23, 2019
Animation Riggingで簡単リアルタイムリターゲット https://t.co/fZos5XWug8
話すこと
・リターゲットのおさらい
・アニメーションリギングについて
アニメーションを普段使っている人向けの内容です
リターゲットとは
異なるボーンのモデルでも同じアニメーションをいい感じに使用してくれる機能。
Mecanimが差分を吸収してくれる。
ただし、モーキャプデータをそのままUnityにいれるとなんかおかしい。
実はそのままモーキャプデータを入れると、Boneに直接データが流し込まれるため、
Mecanimのリターゲットが使われない。
大きな違和感の原因は2つ
・足の長さの違い
・移動量の違い
この違いをAnimationRiggingで吸収してあげましょう。
Animation Rigging
再生中のアニメーションをプログラマブルに変更できる機能。
Animation C# Jobsをベースに構築されています。
詳しくはUniteTokyo2019の動画を見てください。
リターゲットに使うコンポーネントは2つ
MultiPositionConstraint
ヒューマノイドの腰ボーンにいれて腰の移動量を吸収します
MultiRotationConstraint
各関節のローテーションに使用して吸収してあげます
これだけだとちゃんと吸収してくれないので
移動量の倍率を変える必要がある。倍率は1を超えることもあるが0~1しか仕様できない
→PositionConstraitを使って1以上設定できるようにします
AnimationRiggingでリターゲットするメリット
これはいろんなパッケージがそろっているスクリプト群のようなものです
いろいろな機能が使えるし、独自のAnimationRigginfを書くことができます。
まとめ
AnimationRiggingで簡単にリターゲットできます。
機能が足りなかったら自分で足せます。
懇親会 & 展示会
Holo Break
ARシューティングバトルです。
二人ペアによるシューティングゲーム。相手を撃墜する以外にも、リスポ封じに拠点の破壊などもできます。
ARシューティングゲーム、HoloBreakを体験しました!自分の周りの空間を対戦フィールドとして、AR技術を使って複数人で同時に対戦します。ARの空間共有は初めての体験でしたが何も違和感がなく、自然に遊べました!(このゲーム、激しく動くので運動になります) 楽しかったです。#roppongiunity https://t.co/6aZxrSevf2
— Take (@MTkzw) October 23, 2019
ARシューティング HoloBreakを体験させていただきました。動き回って敵のプレイヤーとタワーを撃破していくゲームでメチャ楽しめました。
— Kazushige Mori(Cz_mirror) (@Cz_mirror) October 23, 2019
#roppongiunity pic.twitter.com/1tKEx0JnKY
VR版Nバックトレーニング
Nバッグは脳トレの一種です。
なぜVRなのかというと、記憶の定着率は3D空間内での方が高いという論文を発見したからだそうです。
KENTOさんのVR脳トレを体験しました!Nバック課題として、
— Take (@MTkzw) October 23, 2019
ランダム位置のパネルが光る→N回前に光った位置のパネルを選ぶ→ランダム位置のパネルが光る→・・・
という操作を繰り返します。N=1が1番簡単です。今回はN=3, 4に挑戦して脳トレを体感しました! #roppongiunity https://t.co/Vt4cxyavlV
本日こちらのVRアプリをRoppongi.unityにて展示してきました‼️
— KENTO⚽️VRエンジニア😎年内にQiita100記事💻現在78/100 (@okprogramming) October 23, 2019
VR×Nバック課題 はおそらく私が世界で初めて作ったのではないかと勝手に言い張ってますw
とにかく皆さんに新しい体験をもたらすことができて良かったです👏
たくさんフィードバック頂いたので改良して公開します🙆♂️
#roppongiunity https://t.co/ZUSviKIob3
リアル3Dアバター動画に関する展示
当初用意していたものがうまくいかなかったので急遽変更。
遠くのKinectのデータをWebRTCでリアルタイム通信し、LookingGlassに映すアプリ。
今回は神奈川と接続していたようです。
#AzureKinect で生成したデプス情報をWebRTCで別PCに送り、#LookingGlass で受信するアプリ作りました。#roppongiunity ではネットワーク越しに鎌倉から会場に参加してた(*‘ω‘ *) pic.twitter.com/W71oLIIzH7
— ほたてねこまじん🐾 (@HhotateA_xR) October 23, 2019
GlideGlide
デジゲー博に出展するもののプロトタイプ作品です。
エンドレスランのようなシステムで、ジャンプや滑空を使って穴を回避します。
立体視VRで巨人体験
150m級巨人体験ができるアプリ。
コントローラーで特定のポイント爆撃できます。
本日開催のRoppongi Unityhttps://t.co/smkX6WG0th
— 伊藤周@おなかソフト (@warapuri) October 23, 2019
で巨人視点の立体視VR展示します〜。
徹夜明けで眠いので、なんか情報量が多い画像を作ってしまったw pic.twitter.com/edgM1xfBlt
伊藤さん .@warapuri のOculus Goで150メートル級巨人体験させていただいたけど、ビル群のミニチュア感素晴らしかった。ガーデンプレイス展望階の離れた2点からGoProで撮影して視差6メートルの立体視。 #roppongiunity pic.twitter.com/f6kWNqKaoO
— こりん@VR (@korinVR) October 23, 2019
みくちゅあがーでん
ミクさんと触れ合えるLookingGlassアプリ
音声認識+LeapMotion+ミニライブというてんこ盛りコンテンツ。
さらにLookingGlassはタッチパネル化されています。
タッチパネルは、ノートパソコン用のAirBarを使ったとのこと。
LookingGlassLargeにサイズぴったり。
シロフードさんのみくちゅあがーでんを体験させていただきました。デバイスの組み合わせでミクの頭を撫でられたり、発想に感激しました。
— Kazushige Mori(Cz_mirror) (@Cz_mirror) October 23, 2019
#roppongiunity pic.twitter.com/Ph0DvuLOxf
展示してました!
— シロフード (@sirohood_exp) October 23, 2019
お疲れさまでした!#roppongiunity https://t.co/3IvhdLPUxV
よく聞かれる音声認識について
— シロフード (@sirohood_exp) October 23, 2019
「unity 音声認識」でググると
自分の素人時代の記事が割とトップに出てくるのでどうぞ。https://t.co/AiW9xm6WxP#roppongiunity
バーチャルショップ Conata
ブロックチェーンを用いら作られたVtuber向けのグッズショップ
今日のDemoの展示ですが分かりづらいので画像張っておきます。
— mekezzo@XRxBlockchain (@mogmogvr) October 23, 2019
Webで動かしている例なのでその辺掘ってる人と会話できたらうれしいです~
#roppongiunity pic.twitter.com/iZU7tXCRIx
タイムライン
【📛名札シール・属性シール】
— なかじ / リリカちゃん (@nkjzm) October 23, 2019
入り口に名札シールと属性シールを用意しました!
会場に着いたら自分の名札と好きな属性シールを選んで貼ってください!コミュニケーションのきっかけになればと思います🙏 #roppongiunity pic.twitter.com/2OgJnSD6lz
HoloBreak体験会やります!🙌🏽#roppongiunity 参加者ぜひ! pic.twitter.com/fHfwOznvaN
— AR起業家 | Totti (@ok_totti) October 23, 2019
Unityに光と闇があるならば、これは光の話だー
— えむにわ (@m2wasabi) October 23, 2019
#roppongiunity
闇あったやん
— えむにわ (@m2wasabi) October 23, 2019
#roppongiunity
ブロックチェーンの話。
— 伊藤周@おなかソフト (@warapuri) October 23, 2019
共有台帳。
「DBと同じじゃない?」
ブロックチェーンは分散していて、改ざん耐性に強い。#roppongiunity
ブロックチェーン最大の弱点をさらっと流したw
— えむにわ (@m2wasabi) October 23, 2019
つまるところデータ流通量vsトランザクションなんだな
#roppongiunity
今年のUniteでpreview時代からのお話なら聞いたことあり#roppongiunity
— mao (@TEST_H_) October 23, 2019
【リリースが先か】えっ!Addressablesを新規プロジェクトに?【ver1が先か】https://t.co/KN1K3mQ0b7
Addressables0.1.2に触った同志だ……。
— 猫ちゃんぐbot (@songofsaya_) October 23, 2019
おいらが去年触ってた時の記録をブログで紹介します。https://t.co/0qqmYlBJmE#roppongiunity
あった #roppongiunity
— なかじ / リリカちゃん (@nkjzm) October 23, 2019
CleanArchitectureでひとつ『上』 のコードを目指す:実装編 https://t.co/By0nBHWGUp #Qiita
UIテストはだるいので避けるもしくは省エネでいけるライブラリ探すなどを以前しました。 #roppongiunityhttps://t.co/YqchBTEKrf
— いも@ZenjectチョットワカルBook (@adarapata) October 23, 2019
かわいい(リモート登壇) #roppongiunity pic.twitter.com/XSBs1zTL9G
— しちE / 織本 寿々音 (@shichi_14) October 23, 2019
ゆに茶会ではそんなゴリラな雑談から動物園の話まで雑にやってますhttps://t.co/sHF8BK96Fi#roppongiunity
— いも@ZenjectチョットワカルBook (@adarapata) October 23, 2019
Unityアンバサダーでも、MSのMVPでも
— tomotomospot@yokohama.unity (@tomotomospot) October 23, 2019
Unite登壇しても家庭内最下位だとおおおおおお
#roppongiunity
キッズスター社で使ってますが、結構ロジック絡まない紙芝居系の処理が多いのでUniFlow役にたつ場面多いですぞ #roppongiunity pic.twitter.com/KROey5lgnJ
— 青木とと(ˊᗜˋ*) (@lycoris102) October 23, 2019
今日はありがとうございました!
— karukaru (@_karukaru_) October 23, 2019
時間がなくて話せなかった事がいっぱいいっぱいあるので、詳細に書いたものを後日ブログに投稿します#roppongiunity https://t.co/ylkpZL4Lw4
#roppongiunity
— 青木とと(ˊᗜˋ*) (@lycoris102) October 23, 2019
「例えば2DDL (アセット) のように影は落とせないの?」という質問を頂きましたが、Unity2019.3 からの UniversalRP の 7.1.1 にて ShadowCaster2D コンポーネントが追加されており、こちらを使用することで影の表現を実現できました👥 pic.twitter.com/tECVbSLANJ
告知
Gotanda.unity #14
すでに満員ですが増枠の予定とのこと。
Roppongi.unity
次回のRoppongi.unityはメルカリ会場が使えない可能性があります。
会場提供してくれる方、大募集中です。
六本木じゃなくてもいいです!
Weeybleシェーダーもくもく会
他の方の感想ブログ
間違っている箇所、消してほしいツイートがありましたらコメントにお願いします。