- 投稿日:2020-10-18T17:31:36+09:00
[Unity]Unity Recorderをインストールしよう(2020)
今現在、AssetStoreから消えていてインストールできませんでした。
PackageManagerにあるのでそこからインストールします
Window -> Package Manager -> 右上の歯車から設定画面を開きます
そこの
Enable Preview Packages
にチェック。これで開発途中のパッケージがでてくるようになります。Unity Recorderを探してインストール
- 投稿日:2020-10-18T16:47:11+09:00
VSCodeにてUniRx、UniTaskの補完が効かない時の対処
VSCodeにて、UniTaskとUniRxの補完が効かず、半日ぐらいハマって補完が効くようにできたので参考になったページなど。
◇ monoをアンインストールしてインストールすると補完できるようになる
https://unity-yuji.xyz/editor-visual-studio-code-complement/◇ VSCodeのSettingsで「Omnisharp: Use Global Mono」という項目を「always」
https://unity-yuji.xyz/vscode-unity-omnisharp-netframework-mono/◇ Visual Studio Code Editor を最新版にUpdate
https://unity-yuji.xyz/unity2019-2-later-vscode-visual-studio-code-dont-open/◇ プロジェクトファイル、*.csprojが壊れてる時には生成し直す。
https://qiita.com/honmaaax/items/da39d7b854c39c3ea110◇
あと、私の場合は、UniRxとUniTaskがパッケージとプラグインの両方に入っていたので、Pluginの方を消してからPackagesの方を再インストールしました。
(Unityのフォルダ)/asset/Plugins ← ここのUniRx、UniTaskを消した。
(Unityのフォルダ)/Packages ← ここのUniRx、UniTaskを再インストール。(実行環境用に、Buildした時に動くもののエラーが出てたので気がついた。)
◇
環境はUnity 2020.1.9f1でMacにて
- 投稿日:2020-10-18T15:52:34+09:00
【Unity】MRTK導入してQuest2のハンドトラッキングでボタンを押す
MRTK-Quest
MRTK v2.5 で Oculus Quest がサポートされました!
— たるこす (@tarukosu) October 1, 2020
自分が作って公開した Oculus Quest 拡張が大本なので、MRTK のライセンスをみると HoloLabInc の名前が入ってますhttps://t.co/5uSPkWzCzu pic.twitter.com/RLA4ZwnXiIというツイートを見ました。
Quest2が発売されたということもあるので
MRTK×OculusQuest2×ハンドトラッキングで
ボタンを押すところまでやってみようと思います。バージョン情報
Unity 2019.4.8f1
Oculus Integration Version 20.1
Microsoft Mixed Reality Toolkit v2.5.0
MRTK-Quest v1.1.0準備
まずはOculus IntegrationをAssetStoreからインポートします。
次に
Microsoft Mixed Reality Toolkit
から必要なunitypackageを
ダウンロードしてプロジェクトにインポートします。今回は、
Microsoft.MixedReality.Toolkit.Unity.Foundation
Microsoft.MixedReality.Toolkit.Unity.Tools
の2つを下記リンクからダウンロードします。【リンク】:MixedRealityToolkit-Unity
インポートしたら初期設定画面が出ると思うので
Applyを押します。いろいろ必要な設定をやってくれます。
次にQuest対応のMRTK-Questを導入します。
下記からMRTK-Quest_v110_Core.unitypackage
をダウンロードしてインポートします。【リンク】:MRTK-Quest
Profileの設定
最初にいろいろな設定が利用可能となるProfileを使える状態にします。
下記画像のように
Mixed Reality Toolkit
>Add to Scene and Configure...
を選択すればOKです。次にMRTK-QuestのProfileを使えるように下記画像のように設定します。
稀にProfileの設定ができないことがあります。(インポートの順番とかバージョンの違いかも)
うまくいかなかったら
下記のサンプルプロジェクトをクローンして
Profileがまとめられたファイルをプロジェクトに丸ごとコピーすれば大丈夫でした。【リンク】:MRTK-Quest-Sample
Profileがまとめられたファイルのディレクトリは下記です。
MRTK-Quest-Sample\Assets\MRTK.ThirdParty\MRTK-Quest\Profiles
今回はやりませんが、ここまでいろいろダウンロードしたものは
manifest.json
に自分で書き込めば勝手にインポートしてくれるらしいです。【参考リンク】:MRTK 2.5 を Unity Package Manager を使って取り込む
【参考リンク】:Oculus Quest 2でMRTK使って豆腐と戯れる最小手順
ポインター、ゲイズ、テレポートを削除
下記はMRTK-Questのデモです。
引用元:MRTK-Quest
ただし、これは機能をてんこ盛りにしたバージョンのデモです。
今回は人差し指でボタンを押せる機能だけに絞りたいと思います。ポインター削除
まずはポインターです。
MixedRealityToolkit
のInput
設定から
下記画像のように不要なポインター機能を削除してPokePointer
だけの状態にします。ゲイズ削除
手の入力を検知するまでゲイズ(HMDの向きに照射されるポインター)が出ます。
これ正直なところどうやって消せばいいかいまいちわかりませんでした。
なのでオブジェクトを非アクティブにするというパワープレイで非表示にしました。テレポート削除
MixedRealityToolkit
のTeleport
設定からオフにできます。ボタンを配置、常にカメラの前に表示する
ボタンは
Mixed Reality Toolkit
>Toolbox
から
下記画像のように選択できます。
Prefabを直接Hierarchyに置いてもOKです。
表示位置を調整してデバッグするのが面倒なので
常にカメラの前に表示します。下記にまとめたScriptを使用します。
【参考リンク】:【Unity(C#)】Lerp、Slerpを使った減速表現デバッグ
ここまででもう下記動画のようにボタンは押せるようになっているはずです。
MRTK導入してQuest2のハンドトラッキングでボタンを押すだけの動画です?#OculusQuest2 #MRTK pic.twitter.com/246Oy32c42
— KENTO⚽️XRエンジニア?Zenn100記事マラソン挑戦中5/100 (@okprogramming) October 18, 2020Editor上でも確認できます。下記にまとめてます。
【参考リンク】:【Unity】Oculus Link使ってEditor上でデバッグ実機での確認は(ビルドの設定は省いて)1つ設定しなければならない箇所があります。
下記画像の通り、Hands Only
にする必要があります。設定用Configのディレクトリは
Asset/oculus/OculusProjectConfig
です。ボタンに処理を追加する
ボタンを押すとキューブの表示が切り替わるデモです。
コード
using Microsoft.MixedReality.Toolkit.UI; using UnityEngine; /// <summary> /// ボタン押下時のイベントを管理 /// 適当なオブジェクトにアタッチ /// </summary> public class ButtonEventManager : MonoBehaviour { /// <summary> /// ボタン /// </summary> [SerializeField] private Interactable _interactableButton; [SerializeField] private GameObject _cube; void Start() { _interactableButton.OnClick.AddListener(() => { //ボタン押下時行いたい処理 _cube.SetActive(!_cube.activeInHierarchy); }); } }MRTKのボタンに
Interactable
というコンポーネントがついているので
その中のリスナーにイベント登録しています。おわりに
VRで物理的なUIを一から自分で作るのは面倒なので
これからもお世話になろうと思います。参考リンク
Oculus Quest 2でMRTK使って豆腐と戯れる最小手順
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
- 投稿日:2020-10-18T13:46:47+09:00
[Unity] resource busy or lockedがでてきてPackageManagerがインストールできない
現象
Package ManagerでCinemachineをインストールしようとすると、以下のエラーメッセージが表示
Cannot perform upm operation: EBUSY: resource busy or locked, open '~~~' [NotFound].See console for more details UnityEditor.EditorApplication:Internal_CallUpdateFunctions()解決方法
Unity以外のアプリを全て閉じ、再インストール
エラーメッセージ的に、何かで影響するファイルが読み込み中の可能性が高いです。
自分は開発中だったため、VSCodeやVimで編集中にしたファイルがあったため閉じて再実行すれば解決しました。