Raspberlyのブログ

Raspberlyのブログ

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

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

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

roppongiunity.connpass.com

ハッシュタグ#roppongiunity

 

動画アーカイブはこちら 


Roppongi.unity #8 in YouTube Live

 

 

 

Roppongi.unityとは

イベントページから引用

概要

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

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

発表者一覧

タイトル 発表者
unitypackageのリリース作業をCIで自動化した話 @sansuke05_vr
MRのカーレース作成にチャレンジした @sbubu12
フィットネスバイクでVR空間を乗り回す話 @zawazawatw
AR開発高速化!「CFA」作りました! @okprogramming
休憩 -
MLAPIでマルチゲームを作ってみた @xrdnk
オンラインでもVRの体験をしてもらいたい!!Unityで360度動画を録画してYoutubeで上げるまで @nanaki_pg
初心者向け自作Humanoidモーションの作り方 @yunoda_3DCG
ゲームで上がるフィットネスモチベーション @ichgv

 

 

 

#1 unitypackageのリリース作業をCIで自動化した話

 

趣味でアバターのクリエイター向けUnityエディタ拡張作っています

sansuke05.booth.pm

こういうエディタ拡張は定期的にアップデートをかけますがunitypackageの更新が結構しんどい。
なのでCIで自動化しました。その時のお話。

CIの概要

GitでTAGをつけGithubにPush、PushされるとGithub Actionsが走る構成になっています。
Github Actionsでは、Unityのアクティベート後unitypackageを作成しリリースします。

Github Actions

Github上で使えるビルドやリリースを自動化できるCI。Unity Actionsが使える。

Unity Actions

UnityのテストやビルドをCIで実行できるパッケージ

CIの構築手順

1.Unityのアクティベートファイルを作成

 Unity - Request Activation Fileを使ってアクティベートファイルを作成

github.com

2.アクティベートファイルを使ってライセンスを取得

Unity - Activationにアクセスし、ライセンスファイルを取得

3.ライセンスをリポジトリのシークレットに登録

 リポジトリのシークレット(環境変数みたいなもの)に登録

4.ワークフローを実際に書いてCIを回していく

 unitypackageをリリースするワークフローを書く。

github.com

まとめ

個人開発でもどんどんリリース自動化していきましょう

 

ClusterではUnityエンジニア募集しているのでお声がけください

www.wantedly.com

 

 

 

#2 MRのカーレース作成にチャレンジした

Mixed Realityデバイス HoloLens2で作成したゲームの紹介と、
技術的な知見としてホログラムにタッチした時にメソッドを発動する方法を紹介します。

作成したゲーム

www.youtube.com

ホログラムにTouchしたらメソッドを発動する方法

MRTKを使用します。
ColliderInteractable.csNearInteractionTachable.csを使用します。

NearInteractionTachableはホログラムをさわったり掴んだりする設定をする時に必要です。
Interactableはどういう挙動をするかをカスタマイズできる。

 

 

MRTKはOculusQuestでも使えるので遊んでみてください。

 

 

 

#3 フィットネスバイクでVR空間を乗り回す話

今とっても運動不足。なので家でも運動できるようフィットネスバイクを買いました。
それについてきたオーディオプラグっぽい端子にESP32という基盤をくっつけてWifiとかBluetoochで情報を飛ばせばUnityやVRでおもしろいことができるんじゃねという緩い発想で始めたときのお話。

 

ESP32をフィットネスバイクに取り付け

Arduinoの制御ライブラリはArduinoOSCを使い、ペダルの回転にかかった時間をUnityに送信。
Unity側はuOSCというライブラリを使用しました。

tips.hecomi.com

 

VRChatに持ち込んで空中サイクリングしてみよう

SpaceDragVMTTrackingOverrideを組み合わせて実装しました

SpaceDrag:コントローラーで空間を掴んで移動できる機能

VMT:SteamVRに仮想トラッカーを追加登録できる

TrackingOverride:HMDやコントローラの既存のトラッカーの位置を上書きする機能

セルフフィードバック

ペダルをこぐ行為と映像が一致しているため酔わなかった。
簡単に高所に行けてしまうため3D空間が安っぽくなってしまった。

→頑張ってこげばこぐほど上にいくようにした

 

Steam VRでは動作したが、VRChatだと一瞬しか動かなかった。

 

 

 

 

#4 AR開発高速化!「CFA」作りました!

マーカーレス型ビジョンベースARの問題点、CFAとCFA実装で得た知見についてのお話。

マーカーレス型ビジョンベースARの問題点

・見た目の確認修正が何度もできない
・絵コンテではイメージしずらい
・モック制作に時間をかけられない

そこでCFAをつくりました

CFAって何

Contents Formatter for AR
マーカーレス型ビジョンベースARの問題点を解決し、ARコンテンツの開発を加速させる内製ツールです。

配置ツールで空間アンカーを元に配置データを作成し、作成ツールで配置データを受け取りARコンテンツを配置し、ビューワーアプリで動作確認を行います。

CFAの実装で得た知見と工夫

Azure Spatial Anchorについて

SpatialAnchorManagerクラスが空間アンカーに関する処理の中心だったため、CFA用に使いやすくしました。
UniRxを利用し、各機能にアンカーの状態を通知するようにしました。

Boltでノードを自作

非エンジニアでも作成に参加でき、処理をパーツとして使えるため制作が高速化できる

HoloLens2対応

CFAは3つのプラットフォームに対応しています。
対応させるためにインターフェースを継承したクラスとして実装し、単機能をモジュール化。

 

CFAについてはこちら

cfa.upft.jp

 

 

 

#5 MLAPIでマルチゲームを作ってみた

MLAPIの説明

Unityが買収した(もともとOSS)GameObject向けネットワークソリューション

blogs.unity3d.com

 

問題点

・ドキュメントが充実してない
・サンプルがほぼ皆無

現在改修中

MLAPIの機能

MLAPIの動作検証は動画をご覧ください

 

おわりに

・新しいドキュメントがでました

mp-docs.dlt.it.unity3d.com

・現時点でMLAPIをふれるのはつらい
・素直にドキュメントやサンプルが整ってから触れよう
・しばらくマルチゲームを作る時はPhotonかMirrorに触れてマルチゲームの仕組みに慣れよう

参考資料

www.youtube.com

www.youtube.com

 

 

 

 

#6 オンラインでもVRの体験をしてもらいたい!!Unityで360度動画を録画してYoutubeで上げるまで

オンラインイベントが多くなったため展示する機会する機会がなくなってしまった。
そこでスマホでもHMDでも見れるYoutubeに360度動画をアップロードすることにしました。

録画に便利なアセット

・UnityRecoder(UPMからインストール)

VR Panorama 360 PRO Renderer (有料アセット)

アップロード

アップロードする前にメタデータを仕込みます

github.com

動画はこちら

www.youtube.com

備考

 エンコードした動画した動画はDeoVRを使いOculus Questで確認しました

www.oculus.com

軽量化はこちらのアセットを使用しました

 

 

 

 

#7 初心者向け自作Humanoidモーションの作り方

Unityで使うアニメーションをBlenderで作成するお話。

Rigify

Blender公式アドオンRigifyを使っています。

3dcg-school.pro

ボタン1つで人体のリグコントローラを作成できる(IKとFKを一発で作れる)
Unityでも使える少しボーンを入れ替える必要がある

 

もう少し詳しい記事を公開予定です。

まとめ

・アニメの工数はめちゃくちゃ重たい
アニメーションを自作する前に、必要なのか?ストアで見つからないのか?代用できないのか考えよう。
・Unityだけでのモーション制作はおすすめしない
モデリングできなくてもアニメは作れる
Blender楽しいぜ

 

 

 

#8 ゲームで上がるフィットネスモチベーション

ゲームとフィットネスを掛け合わせた作品の紹介と、制作方法とコツについてのお話。

作品紹介

しゃくとりっぷ

ストレッチチューブをゲームに取り入れる

ぽよころあどべんちゃー

バランスボールで操作

制作方法

ストレッチチューブの伸び縮みはWebカメラを用いた画像処理(Open CV)で取得
バランスボールの傾きは3軸加速度センサを取り付けることで取得

制作のコツ

ノイズ、ブレが絶対発生する
しきい値を設定して連続的な値をそのまま使用しないようにする。
どれくらいの値から変化するかを設定することで見栄えがよくなる。

まとめ

Webカメラやセンサを使えばコントローラの可能性が広がる
ゲームと何か掛け合わせると面白いものがどんどんできる

 

 

 

協賛企業紹介

Cluster

バーチャルプラットフォームClusterを作っています。
詳しくはSpeakerDeckの資料をご覧ください。

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

 

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

ご応募お待ちしています。

www.wantedly.com

 

 

ハシラス

テクノロジーと五感をだますテクニックを駆使することで高臨場感を作ることをミッションとしています。
(実は経営陣の創業メンバーが全員元マジシャンです)

 

感染症流行後は、マルチプレーフリーローム技術をビジネス活用しています。
商談・プレゼン用ですがめちゃめちゃ面白いので、状況がマシになったら何か面白いものを作ろうと狙っています。

 

現在ソフトウェアエンジニアを募集中です

hashilus.co.jp

 

会社紹介を行うオープンデイをやっています。
情勢が情勢ですので今回はクローズドなオープンデイをします。
お気軽にDMやメンションをください。お待ちしています。 

 

 

 

終わり

次回開催について

・2か月に1回開催を予定しています。
しばらくはオンライン開催の予定です。一か月前をめどに告知予定です。

・登壇側での参加もお待ちしています。
初心者も大歓迎

その他勉強会紹介

meetup.unity3d.jp

yokohamaunity.connpass.com

vrm.connpass.com

 

 

 

 

感想

今回も参加しましたRonnpongi.unity。

LT 7番目を担当したyunodaさんは、過去にUnity内でモーションを作成できるアセットUMotion Proの紹介LTをされていました。
当時はUnity内でのモーション作成を推していましたがいったい何があったんだ・・・

raspberly.hateblo.jp私はVery Animationを使ってUnity内でモーション作成をしたことがありますが、
多機能なアセットは使いこなすのが本当に難しいため、Blenderで作るのも手かもしれません。


 

ハシラスさんの紹介でもありましたハシラスオープンデイですが、過去に参加したことがあります。
いろいろなコンテンツを体験できるのでオススメです。
当時はハードウェアエンジニアのみ募集していましたが、現在はソフトウェアエンジニアを募集中!

raspberly.hateblo.jp

 

 

 

過去のRoppongi.unityのレポはこちら

raspberly.hateblo.jp

 

 

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