プラベのVRChatブログ

VRChatで楽しく過ごすためのTipsをまとめてます。

Valve Index を接続したまま Quest 3(Virtual Desktop)で SteamVR を起動する方法

 Valve Index と Meta Quest 3 を併用していると、Quest 3 で Virtual Desktop を使って SteamVR を起動したいのに、PC に有線接続されている Valve Index 側で SteamVR が起動してしまう、という問題に遭遇することがあります。
 Index のケーブルを物理的に引き抜けば Quest 3 で起動されますが、ケーブルを毎回抜き差しするのは端子への負担が大きく、できれば避けたいところです。

 この記事では、Valve Index を PC に接続したまま、Quest 3(Virtual Desktop)で SteamVR を起動できるようにする方法を、Windows 標準機能と PowerShell を使った手順としてまとめます。

 同じ構成で悩んでいる方の解決策になれば幸いです。

続きを読む

VRChat Creator Economy で Udon Product を作ってみよう

概要

 本稿では、Creator Economy 商品のひとつである Udon Product に着目して、日本語で読みたい人向けに以下の内容をまとめています。

  • Udon Product 対応ワールドの開発方法
  • Udon Product 対応ギミック公式 Example Prefabs の使い方

 Udon Product とは、ワールドクリエイターが販売することを想定された商品であり、例えば以下のようなサービスを販売できます。

  • 購入者専用のVIPルーム
  • 購入者専用にカスタマイズ表示があるワールド
    • 無課金が追い出されるようなワールドはNG
  • 購入者への感謝やクレジット表示

 Udon Product を販売するには、前提として Creator Economy の申込み・Tilia と VRChat からの承認が必要です。
 参考: VRChat Creator Economy に申し込んでみよう - プラベのVRChatブログ

 ※この記事の情報は 2025/5/9 現在のものです。最新の情報については VRChat 公式ドキュメントをご参照ください。
 Creator Economy

続きを読む

VRChat Creator Economy に申し込んでみよう

概要

 ながらく BOOTH 等の外部ストアに経済活動を依存していた VRChat で、公式プラットフォームを使った経済活動ができるようになりました。
 本稿では、 Creator Economy 申込みについて日本語で把握したい人向けに、以下をまとめています。

  • 受入れ基準 (acceptance criteria) の和訳と注釈
  • 承認されたパターンの一例

 Creator Economy 商品を販売するには、Tilia と VRChat それぞれに申し込み、承認される必要があります。

 ※この記事の情報は 2025/5/9 現在のものです。最新の情報については VRChat 公式ドキュメントをご参照ください。
 Creator Economy


目次

Tilia への申込み手順

 Tilia は、料金支払いを担当する会社です。VRChat に代わり、申込者に犯罪歴や詐欺歴などの問題がないかチェックします。

 参考: Getting Started With Tilia

  1. VRChat.com をブラウザで開く
  2. 左メニューから Marketplace を開く
  3. Storefront タブを開く
  4. Get Started with Tilia というボタンから Tilia のサイトに飛ぶ
  5. 利用規約を確認する
  6. フォームに沿って個人情報を入力する
  7. Tilia の承認を待つ

VRChat への申込み

 クリエイターとしての実績や、承認されたら何を販売するつもりかについての説明を書いて申し込みます。VRChat からの承認が得られれば、晴れて Creator Economy 販売者となれます。
 申し込み後、30 日以内に VRChat 運営から承認可否のメールが届きます。

 申込窓口: Seller Application

受入れ基準 (acceptance criteria)

 特に重要なのは エンゲージメント基準 であり、申込書の中で強くアピールする必要がある。
 なお、VRChat を始めたばかりのユーザーは基本的に承認されないことに注意。

 参考: Seller Application (What are the acceptance criteria?)

アカウント基準

  • VRChat アカウントを所持していること
  • 上記は、過去 12ヶ月の間 BANされていない VRChat アカウントであること
  • 収入を受け取るための PayPal アカウントを所有していること
  • 連絡用の Discord アカウントを所有していること

人物基準

  • VRChat または その他のプラットフォーム( Roblox, Horizon Worlds, Unity Asset Store, Fortnite, Second Life など)において、高品質なコンテンツを作成した最近の経歴を持つこと
  • Creator Economy について VRChat からの連絡を許可すること
  • 18歳以上であること

コンテンツ基準

  • 申込書に、自分のコンテンツへの direct URLs が含まれていること
  • 申込書で、自分のコンテンツをどのようにマネタイズするかの計画が説明されていること
  • 所有するコンテンツが Creator Economy を通じてマネタイズ可能であること
  • 自分のコンテンツを public で公開したことがある(例:ワールド、ストア、展示場など)、または、 private commission として公開した実績があること
  • 他のユーザー達による自分のコンテンツへのエンゲージメントが既にあること

 ただし、物議を醸す内容 (controversial content) が含まれる場合、それを理由に却下される可能性がある。

エンゲージメント基準

ワールド クリエイター

  • アップロードしたワールドのいずれか1つが過去12ヶ月中に 10,000 回訪問されていること
  • そのワールドは public であり、Community Labs 内にないこと
    • 前述の条件満たせば普通は public になります
  • そのワールドは最新版の Unity を使って作られていること
    • VRChat 用の Unity として最新版 (2022.3.22f1) という解釈でいいと思う

アバター クリエイター

  • 過去12ヶ月中に 2 アバター以上を作成していること
  • 上記のアバターは最新版の Unity を使って作られていること
    • VRChat 用の Unity として最新版 (2022.3.22f1) という解釈でいいと思う
  • 申込書に そのアバターの VRChat.com でのURL、または 3rd party のストアへのURLが含まれること
    • BOOTH 販売ページへのリンクとか

グループ オーナー、イベント ホスト、パフォーマー

  • 所有グループに 350 人以上のメンバーが所属していること
  • 上記グループは調整管理されており、明確なルールが設定されていること
  • 上記グループにおいて 過去12ヶ月中に グループ インスタンスやイベントが定期的に開催されていること

コンテンツ クリエイター

  • 所有グループに 100 人以上のメンバーが所属していること
  • Twitch, YouTube, または 似たような競争的ソーシャル プラットフォームで最低 1,000 人以上のフォロワーが居ること

VRChat を始めたばかり or 上記のいずれにも当てはまらない場合

  • Roblox や Rec Room などのイマーシブ(※没入感がある、つまり VR 応用可能な) 3D プラットフォームにおける経験者であること
  • 自分の著作物、または参画した大きなプロジェクトを通じて、目覚ましいエンゲージメントを披露できること
  • 上記 2 項目のいずれにも当てはまらない場合、通常は承認されない。それでも希望する場合は、申込書に十分詳細な説明を記載すること。

承認されたパターンの一例

 プラベの場合、GW中に申し込んで3日後に晴れて一発承認いただきました。その際の申込み概要は以下です。

  • VRChat アカウントのプロフィール
    • Trusted User である
    • 18+ Verify 済である
    • 4年間 VRChat+ 課金実績バッジがある
    • 英語もできる
    • 過去 12ヶ月間(というか一度も)BANされたことない
  • コンテンツについて
    • 主にワールド ギミック スクリプトを書きます!
    • コラボ実績あります!スクリプトを担当しました。
    • パーツ購入してアバター改変なら よくします
      • 年に6体とかいうレベルではないくらい沢山改変アップしてる
      • というか年100体くらいアップして…ねん…ひゃく…?
    • ワールド ギミックの販売 BOOTH ページへの URL を記載
      • 今思うと direct URLs では無かったか?と思ったけど、実績あるストアページだから良いよね? BOOTH は公式に VRChat と提携したし
    • public ワールドで過去 12ヶ月に 10,000 visits ありまぁす!
      • 過去 12ヶ月かは正直分かんないけど、手持ちの public ワールドの visits が 16,929・38,671・30,778 あるから多分いってる…どれかは
      • 「どれがそのワールド?」は聞かれなかった
  • マネタイズ計画について
    • とりあえず最近人気でてた Lift Up! ワールドの購入者向け追加機能を作ろうと思いますって話

 よき Creator Economy ライフを!

AudioLink対応アセットが上手くアニメーションしないときの対処法

概要

VRChat (Unity) ワールドで AudioLink 対応アセットを置いたとき、 iwaSync3 オーディオに合った期待通りのアニメーションを得られませんでした。
その対処に手間取ったため、ここに対処方法を記事として置いておきます。

結論

Spatial Blend が3Dモードだったせい。

続きを読む

Unity Udon/U#/C# 数あるオブジェクトの中からランダムに1つを選出する

Twitterの相互さんからのお題で、VRChatワールド用の簡単な U# (UdonSharp) 作例ひとつ書きました。

あらかじめ指定した複数のオブジェクトの中からランダムで1つ選択し、デバッグコンソールにオブジェクト名をメッセージ出力するだけの簡単なスクリプトです。

RandomSelect Example

コード

using UdonSharp;
using UnityEngine;

namespace Example
{
    /// <summary>
    /// あらかじめ指定されたオブジェクト群の中からランダムで1つ選択して処理するU#作例
    /// </summary>
    [UdonBehaviourSyncMode(BehaviourSyncMode.None)]
    public class RandomSelect : UdonSharpBehaviour
    {
        [SerializeField, Header("選択対象オブジェクト")]
        private GameObject[] targets;

        /// <summary>
        /// インタラクトでオブジェクトの1つを選択処理
        /// </summary>
        public override void Interact()
        {
            // 選択オブジェクトのインデックスをランダム取得
            int selectedIndex = Random.Range(0, targets.Length);
            // 選択オブジェクトに対して処理実行
            SomeProcess(selectedIndex);
        }

        /// <summary>
        /// 選択したオブジェクトに実行する処理など
        /// </summary>
        /// <param name="index">インデックス番号</param>
        private void SomeProcess(int index)
        {
            Debug.Log("オブジェクト " + targets[index].name + " が選択されました");
        }
    }
}

Unity イベントカメラにポストプロセスが反映されないときの対処

黒鳥様作のイベントカメラシステムを組み込んだところ、イベントカメラ画面にポストプロセスが反映されなかった(Unity 2022.3.6f1にて確認)。
booth.pm

原因

Render Textureにポストプロセス(特にBloom)を反映させるには、Render TextureがHDRに対応している必要があるらしい。

対処方法

Target Texture に指定されている Render Texture のプロパティで、Color Format : R16G16B16A16_SFLOAT にすると反映されるようになる。

Unity U#/C#でクラス参照できないスクリプトがあるときの対策

Asset/ 配下に作ったU#スクリプトから、Package/ 配下にあるU#スクリプトのクラスを参照できない場合の対策についての記事です。

Unityである必要はないです。個人的につまづいたのでメモ。

  • トラブル概要
  • 対処方法
    • 方法1
    • 方法2
  • 謝辞
続きを読む