Programming in VRChat

VRChat でのプログラミングについて調べたことの書き溜め

howto

アニメーション遷移条件を利用した MasterLocal の実現の解説

はじめに VRChat のワールドに複雑な機構を持つギミックを作ったりリアルタイム操作を伴うゲーム的なものを作った場合に、 broadcast type として「マスターでのみのアクション実行」になるものが欲しくなる場合がある。 これは俗に MasterLocal と呼ばれて…

シーン編集時の VRC_Trigger の関係線表示を消す

他のゲームオブジェクトに作用する VRC_Trigger コンポーネントを追加すると、 Unity でのシーン表示にオブジェクト感に関係があることを示す線が表示されるようになります。 この線は関係のあるオブジェクトが迷子にならないので便利なのですが、表示上邪魔…

デスクトップモードでマウス操作できなくなる不具合と回避

(公式 Discord #japanese 2018/2/20 PM8付近の話題より) 発生条件: VRChat 動作開始時に他アプリのウインドウでマウス操作 現象: VRChat は正常にマウス操作で動かせず、他のアプリでもマウスカーソルが固定されて動かせなくなり、実質的に操作不能に陥…

ローカルテストをデスクトップモードで行う(vrchat-launcher)

VRChat のローカルテストをデスクトップモードで起動できるようにするツールを作りました。ついでに単体で使用した際に開始前にワールドをメニューから選択できる機能を実装しました

Timer

VRC_Trigger で扱うトリガーの一つに OnTimer がある API: https://docs.vrchat.com/docs/ontimer タイマーを仕掛けるのも、それに応答するのもその VRC_Trigger 自身。 (通常のオブジェクト指向的タイマー実装を見慣れた少々奇妙にも思える設計だが OnTime…

デスクトップモードでのウィンドウの調整

ウィンドウの大きさ位置の調整 エスケープキーを押してゲーム内メニューを出す、あるいはタブキーを押していると、マウスカーソルが Windows のウィンドウの外へ出られるようになります。 この状態でならウィンドウの大きさ位置を調節できます。 フルスクリ…

PlayerMods

PlayerMods はワールドでのプレイヤーの設定を設定(変更)する機構。 プレイヤーがジャンプ出来るようにしたり、移動速度を変更できる。 追記 この記事が書かれた後、使い方が少しわかった部分があります。 さしあたりポイントだけを列記します。 prop は動…

SteamVR でのスクリーンショットの取り方

HTC VIVE の場合 https://www.vive.com/jp/support/category_howto/how-can-i-capture-screenshots-in-vr.html VR を開いた状態でシステムボタンとトリガーを同時に押します。 とあるが「同時に」というのは少々不親切。 通常のキーボードのシフトやコントロ…

一台のマシンで Steam VR モードとデスクトップモードで同時に同じワールドに入る手順

2018/1/19 追記 最近施されたセキュリティ向上のためのパッチによって、一つのアカウントで同じワールドに入ることは出来なくなったようです。(動作確認バージョン:0.12.0p10) 以下の手順は基本的には有効ですが、二つのアカウントを使う必要があるようで…