パッケージビルダーを使ってみよう

fpajpje.jpg
前回はVer.1.19で導入されたVARパッケージの使い方を解説しました。今回はその作り方を解説します。
パッケージは主に作品の配布を目的としたものなので、特に何かを配布する予定は無いという方はこの記事を適当に読み飛ばしても大丈夫です。

まずはパッケージ化を前提にしたシーン作り

モーフ、服、髪、スクリプト等々、VARで配布されているリソースはVAR版を導入してそれを使用してシーンを構築しましょう。VARパッケージは解凍したりせず、必ずそのまま使ってください。
VaM 2020_0113
拙作の髪型を例に説明します。旧来の方法で配布されていたものとVARパッケージの両方を導入すると上の写真のように同じアイテムが並ぶ状態になります。ピンク色はパッケージの物、灰色はルーズファイルの物です。※パッケージ化されていないバラ状態のリソースファイルはルーズファイルと呼ばれます。
ルーズファイルをシーンに使用した場合、後でビルドする時それも含めてパッケージ化されてしまいます。既にVARで流通しているアイテムを他の人がVARに含めて流通させると重複が発生するので好ましくありません。

重複が発生しちゃった例
iris000.jpg
大人気の衣服アイテム、Oeshii氏によるIrisReflectionです。作者本人がVAR版をリリースするのが少し遅かったため、他のクリエイターが自分の作品にルーズファイルのIrisReflectionを含めてパッケージ化する事が多発した結果です。作者以外の人がパッケージ化したアイテムは依存関係が面倒くさいことになるので間違って使わないようにしましょう。

iris002.jpg
黒い箱のアイコンをターゲットすると、そのアイテムがどのパッケージに属しているのかが確認できます。上の写真のはDamarmau氏のVARに含まれているものですね。このアイテムを使うとDamarmau.Jesse.3に依存することになります。

iris003.jpg
これが作者のOeshii氏による正式なIrisReflectionです。使うときはこれを選びましょう。

プラグインの選び方
プラグインを追加する時デフォルトで\Custom\Scriptsフォルダが右側に表示されていますが、これらは旧来の方法で配布されたルーズファイルです。VAR版を使うには左のペインで目的のプラグインアドオンを選びましょう。
plugin002.jpg
検索窓もあるにはありますが、All Packagesで検索すると同じ名前のファイルが大量に出てきて間違いの元になることも。作者によってリリースされた正式なものを選びましょう。間違うと依存関係が面倒くさいことになったりエラーの原因になります。
plugin004.jpg
歯車のアイコンをクリックすることでそのファイルがどのパッケージに属しているか確認できます。でも素直に左のペインから選んだ方が良いかも知れません。左のペインに対して検索できないのがもどかしい。

こうしてVARリソースを使用して作られたシーンは、依存関係にあるVARファイルと併せて初めて使用できるものになります。だけどそれでいいんです。すべてを1個のパッケージに纏めようとする必要はないということを踏まえてシーンを作りましょう。
作成したシーンは通常通りSaveSceneで保存しておきます。


パッケージビルダーの使い方

VaM 2020_05464

クリエイター名を設定しておく
パッケージビルダーを使うためにはクリエイター名を設定しておく必要があります。
VaM 202059645
User PreferencesのMiscタブを開いてYour Creator Nameの欄に記入しておきましょう。ここが空欄だとパッケージが作れません。ちなみにAnonymous(匿名)は使えませんでした。

パッケージ名を付ける
VaM 20006_0942
パッケージビルダーを開き、名前を付けます。最終的に出力されるファイル名は[クリエイター名].[パッケージ名].[バージョン].varになります。

コンテンツ追加
Add DirectoryまたはAdd Fileでコンテンツを構成するファイルを追加します。VARをVARに含めることはできないので、それ以外のファイルを追加します。
dajiwdjihdf.jpg
次に、左下の緑色のPrep Packageボタンをクリックします。するとコンテンツの依存関係がチェックされ、入れ忘れていた必要ファイルがあればピックアップされます。Fix~のボタンをワンタッチで全て自動で追加できます。便利!
VaM 2020_06_09fix
手動で全てのファイルを追加するのは面倒なのでシーンの場合は[シーン名].jsonだけ追加して残りのファイルはこの自動追加の機能に頼るのが楽チンです。めっちゃ便利。

依存関係の確認
Va020fe09.jpg
右下のReference License Reportに必要となるVARパッケージが表示されます。使った覚えのない物が表示されていたらシーンの内容を再確認!
各パッケージのライセンス内容も確認しましょう。再配布OKなパッケージなら自分のVARと一緒に配っても大丈夫です。再配布禁止の物は各ユーザーに自前で調達してもらうことになります。そして自分の作品を有料コンテンツにする場合は商利用禁止のリソースは使えません。
依存するVARの入手しやすさにも注意が必要です。公開停止されたものや入手場所がわかりにくいものに依存する作品は、正しく鑑賞することが困難になります。

ライセンス設定
VaM 2020_06_09 22_06_09
クリエイティブ・コモンズを参照して、自分のコンテンツをどのように流通させたいかを考えて決定しましょう。

作者コメント欄の記入
解説・クレジット・取扱説明・サポートURLを記入できます。
VaM 2020_10_08 2_01_10
ここで記入するサポートURLはそのVARを持っていないユーザーに入手先として表示される情報です。これが空欄だと入手場所のわかりにくいファイルってことになります。※Hubでホストされるファイルなら空欄でも問題ないです。
配布ページのURLが先に取得できればあらかじめ記入することができますね。Patreonの場合は公開前の編集中のページはURLの末尾に/editが付いていますが公開後のURLはこの/editが取り除かれたものになるのでその部分をコピペすればOKです。
urlajejoaej393.jpg


バージョンオプション
VaM fefjia06_09
標準アドオンとスクリプトアドオンに対して、自動的に最新版を使用するか正確に一致するバージョンを使用するかを設定します。推奨設定のままが良いと思います。

ファイナライズ!(完成)
準備が整ったら右下のFinalize Packageをクリックすれば完成!AddonPackagesフォルダにパッケージが追加され、使用できる状態になります。同時にパッケージと同名のdepend.txtが出力されます。depend.txtの内容は依存パッケージの名前とそのサポートURLです。そのまま一緒に配布するか、Readmeにコピペするなどして活用できます。
ここまで文章で説明すると長いようですが、実際のパッケージ作業は驚くほど簡単です。


配布しよう!Virt-A-Mate Hubの紹介

近い将来、VaMクライアントでVirtA-Mate Hubから直接ダウンロードすることが主流になると思われます。当面の間はRedditなども併せて利用される状態が続くと思われますが、主軸は間違いなくHubになります。Redditはアプロダじゃなくて掲示板なので当然といえば当然ですね。
Hubでは100MB以下のサイズなら直接アップロードできます。サイズ上限は後々拡張される可能性があるとのこと。(追記:サイズ上限は500MBになりました。)
MegaやGoogleDriveのような自前のクラウドストレージで管理せずに済むのはありがたい!
rihefaawdal.jpg
Add resourceから投稿できます。投稿フォームはわかりやすくデザインされ、親切なガイドもついているので初見でも迷わず利用できると思います。
フリーコンテンツのVARファイルは直リン状態でダウンロードできるようにしておくことが推奨されています。ZIPなどに梱包してアップしたり外部サイトにリンクする形態だとVaMクライアントによる自動ダウンロードの機能に対応しない為、不便です。


VARをバージョンアップする

コンテンツを改善したり中身を追加してバージョンアップする場合もパッケージビルダーを使います。
最上段のNew Version of Existingを開いて、更新したいVARを選択します。あとは最初にビルドした時と同じ要領です。更新したいファイルを入れてビルドすればバージョン番号がひとつ増えたVARが\AddonPackagesに追加されます。
服や髪の更新をする際、アイテムIDを変更してしまわないように注意!拡張子が.vamのファイルを開いてみると"uid"として定義されているのがアイテムIDです。これが変更されると別のアイテムとして扱われてしまいます。
バージョンアップしたパッケージをHubで再アップすると、前のバージョンをHubで入手していた人に更新の通知が表示されます。


ややこしいのは今だけ

新旧のやり方が入り混じっている今は少し混乱しますが(英語圏の人も戸惑っている)、移行が完了してみると良いシステムだと思います。この記事がスムースな移行の一助となれば幸いです。
Hubは今後VaMクライアントとの連動で更に本領発揮していくと思われるのでいずれ時期をみてまた解説したいと思います。


関連記事