モデルに SimpleAvatarProtection を設定します。これを設定しておけば、設定者以外は保存できなくなります。設定する場所はオブジェクトのルートと、各 MeshRenderer/SkinnedMeshRenderer の付与されたスロットに設定します(通常であれば RootNode
以下)。また、追加で Assets
以下のMeshとTextureにも付けておくと安全です。
SimpleAvatarProtection の設定方法は、設定したいスロットのインスペクターを開いて、 コンポーネントをアタッチ > Users > Common Avatar System > SimpleAvatarProtection を選択することで設定できます。
<aside> 💡 通常のアバターセットアップでプロテクトを付けた場合にはアバターのルートと各 SkinnedMeshRenderer のスロットに SimpleAvatarProtection が付与されるため、これを参考にしています。
</aside>
この状態でモデルをワールドで使用することで基本的には問題ないです。
ただし、SimpleAvatarProtection を付与したユーザーがセッションから離脱した際に、SimpleAvatarProtection の付いたアイテムがワールド内から取り除かれてしまいます。自分がホストするワールドでのみ使用するのであれば問題はありませんが、他人がホストのセッションで取り出す場合には問題が出ます。
この問題の回避策は、自分が普段遊ぶのに使うユーザーとは別のサブアカウントを作成し、そのサブアカウントに SimpleAvatarProtection を付与させる方法があります。そのセッションに SimpleAvatarProtection を付与したユーザーがいるうちにワールドを保存することで、ワールド内に自分以外のユーザーの SimpleAvatarProtection の付いたモデルを配置することが出来ます。
また、サブアカウントのインベントリに保存してパブリックフォルダを作成することで、メインアカウントで様々なセッションで取り出すことが可能になり、誰にも保存されないようにすることができます。その場合、パブリックフォルダへアクセスできるユーザーはどこでも取り出しが可能になるため、取り扱いには注意してください。自分以外は取り出させない想定の場合は、他のユーザーがいる場所でパブリックフォルダをスポーンさせないでください。
自分の作成した特定のワールドでのみで使用する場合はワールドの権限を変更することで保存を禁止することができます。
設定項目は下記です。1と2の両方を設定しないと意味がないため、確実に両方の設定をしてください。
ワールドのインスペクターを開き、 Roles
の中のスロットに付いている WorldPermissions コンポーネントを編集します。通常は以下の3つのスロットに付与されています。
これらのスロットを選択し、WorldPermissions コンポーネントを変更していきます。