Installation - mimyquality/FukuroUdon GitHub Wiki

導入手順

リポジトリーのインポート

VCC(VRChat Creator Companion)またはALCOMをインストール済みの場合、以下のどちらか一つの手順を行うことでMimyLabのリポジトリーをインポートできます。
(ALCOM利用者は適宜読み替えてください)

[!NOTE] 既にインポートしている場合はこの手順をスキップできます。VPMパッケージのインポートへ進んでください。

  • https://vpm.mimylab.com/ へアクセスし、「Add to VCC」からhttps://vpm.mimylab.com/index.jsonを追加
  • VCCのウィンドウでSetting - Packages - Add Repositoryの順に開き、https://vpm.mimylab.com/index.jsonを追加

Add Repository

VPM CLIを使用してインポートする場合、コマンドラインを開き以下のコマンドを入力してください。

vpm add repo https://vpm.mimylab.com/index.json

VPMパッケージのインポート

VCCから任意のプロジェクトを選択し、「Manage Project」からManage Packages画面に移動します。
読み込んだパッケージが一覧に出てくるので、 Fukuro Udon の右にある「+」ボタンを押すか「Installed Version」から直接バージョンを選ぶことで、プロジェクトにインポートします。
vcc_userpackages_add

リポジトリーを使わずに導入したい場合は、Releaseからunitypackageファイルをダウンロードして、プロジェクトにインポートしてください。

[!WARNING] VPM版Fukuro Udonパッケージをインポートする前に、BOOTH版アセットからインポートしたものは予め削除しておいてください。

利用方法

パッケージは Assets フォルダーではなく Packages フォルダーに展開されるようになります。サンプルPrefabもここに含まれています。
また、特定のU#スクリプトを決め打ちで使いたい場合は、付けたいオブジェクトの「Add Component」ボタンからスクリプト名で検索してアタッチするのでもOKです。
fukuroudon_location

FukuroUdonスクリプトへの参照方法

本VPMは、モジュール構造を尊重したいのと、最適化の観点から、 Auto Referenced オフにしています。

参考: Assembly Definitionを利用するべきシチュエーション

この状態のFukuro Udon内のU#スクリプトにアクセスする方法としては2パターンあります。

直接クラス名の型を使用せずに、UdonBehaviourのメソッドを使う

引数のない関数であれば UdonBehaviour.SendCustomEvent("関数名") で実行可能です。
変数に対しては UdonBehaviour.GetProgramVariable("変数名") / UdonBehaviour.SetProgramVariable("変数名", 値) で実行可能です。

Fukuro Udonを参照するAssembly Definitionを定義する

こちらは最初の設定が少々複雑ですが、一度設定してしまえばこのフォルダー内のスクリプトからはFukuroUdon内のスクリプトにアクセスできるようになります。

  1. ご自身のU#スクリプトを纏めたフォルダーに、 Assembly Definition ファイルと U# Assembly Definition ファイルを設定します。ファイル名は同じにしてください。
  2. Assembly DefinitionAssembly Definition References に、FukuroUdonのasmdefを追加します。
  3. Assembly DefinitionAssembly Definition References に、UdonSharpRuntimeやその他必要なasmdefを追加していきます。
  4. U# Assembly DefinitionSource AssemblyAssembly Definition ファイルをセットします。

参考: https://vrclibrary.com/wiki/books/varneons-udonsharp-development-practices/page/assembly-definitions

[!NOTE] このAssembly Definitionファイルの Auto Referenced は有効にしても大丈夫です。

image