現在、config.json から設定を変更することは非推奨となっています。
設定を変更したい場合は タイトル画面の詳細設定の一覧を確認してください。
設定画面上で、バーチャルキャストの設定を行うと [プロファイル名]_config.json (プロファイル名未指定時は default_config.json) ファイルが作成されます。
設定画面はタイトルの左上の歯車のマークを押すと表示されます。
ファイルの中身はJSON形式となっており各種設定が定義されております。
ファイルは【ドキュメント/My Games/VirtualCast/[プロファイル名]_config.json】に作成されます。
(ドキュメント | my Document | Document などWindowsの環境によって微妙に言葉が違う場合もあります)
config.jsonはバックアップやコピー、直接編集を行うことが可能です
2020/12/10更新
niconico
┗ broadcaster_comments 運営コメントの登録
comment
┠ display_anonymous_card ニコニコ生放送の184コメント窓の生成設定
┗ display_anonymous_flying ニコニコ生放送の落ちてくる184コメントの生成設定
humanoid
┗ use_fast_spring_bone SpringBone最適化
import
┠ video_content_uris 動画プレイヤーの動画URL
┗ video_playlist_uris 動画プレイヤーの動画URLプレイリスト
studio
┠ max_performers スタジオに存在出来るユーザーの最大人数
┗ max_direct_viewers スタジオに存在出来るダイレクトビューモード使用者の最大人数
item
┠ whiteboard ホワイトボードの画像登録
┃ ┗ source_urls 画像URLリスト
┠ cue_card カンペの画像登録
┃ ┗ source_urls 画像URLリスト
┠ enable_displaycapture_chromakey ディスプレイアイテムのクロマキー合成
┠ enable_videoboard_chromakey 外部入力モニターのクロマキー合成
┠projectable_item ホワイトボード及びカンペなどの画像の設定
┃ ┗ enable_cache_all テクスチャキャッシュの設定
┠ movie_audio_recording_enabled ムービー撮影時の録音設定
┠ capture_format キャプチャ撮影、ホワイトボードの保存形式の設定
┠ steam_screenshot 撮影した画像をSteam Screenshotsに追加するかの設定
┠ disable_highlighting_item アイテムに接触した際のハイライト表示の設定
┗ hide_camera_from_viewers 視聴者にカメラの表示設定
background
┠ panorama 背景にパノラマ画像を登録
┃ ┗ source_urls 画像URLリスト
┗ chroma_key_background_color クロマキースタジオの色の設定
persistent_object
┠ image_url 永続化画像の登録
┠ hidden_image_urls 永続化画像(放送非表示)の登録
┠ double_sided_image_urls 両面画像の登録
┗ hidden_double_sided_image_urls 両面画像(放送非表示)の登録
keyboard
┠ switch_rendering_to_desktop デスクトップへの描画内容を切り替えるキーの設定
┠ keycode_vci_forward VCI操作のforwardキーの設定
┠ keycode_vci_backward VCI操作のbackwardキーの設定
┠ keycode_vci_left VCI操作のleftキーの設定
┠ keycode_vci_right VCI操作のrightキーの設定
┠ keycode_vci_up VCI操作のupキーの設定
┠ keycode_vci_down VCI操作のdownキーの設定
┠ keycode_vci_1 VCI操作のキー1の設定
┠ keycode_vci_2 VCI操作のキー2の設定
┠ keycode_vci_3 VCI操作のキー3の設定
┗ keycode_vci_4 VCI操作のキー4の設定
embedded_script
┠ websocket_console_port VCIスクリプトのロガーをHostするTCPポート番号の設定
┗ moonsharp_debugger_port VCIスクリプトのデバッカーのTCPポート番号の設定
mode 起動モードの設定
use_tcp TCP接続使用の設定
vr_input_controller_type 使用中のVRコントローラの種別設定
enable_looking_glass The Looking Glassに対応するかの設定
enable_vivesranipal_eye VIVE Pro Eyeの眼球の動きを同期
vivesranipal_eye_adjust_x VIVE Pro Eyeの眼球の移動量の設定
vivesranipal_eye_adjust_y 〃
enable_vivesranipal_blink VIVE Pro Eyeのまばたきを同期
enable_vivesranipal_lip VIVE Pro Eyeの口元の動きを同期
enable_vivesranipal_eye_with_emotion VIVE Pro Eyeの眼球の動きを表情変更中に使用するかの設定
vibration_power コントローラーの振動の設定
運営コメントを登録して、バーチャルキャスト内から投稿することができます。
{ "niconico": { "broadcaster_comments": [ "コメント1", "コメント2", "コメント3" ] } }
184コメント(匿名でのコメント)をスタジオに生成するか設定できます。
設定を行うことで184コメント(匿名でのコメント)の窓を生成するかの設定が出来ます。
未入力の場合、184コメント(匿名でのコメント)の窓が生成されます。
{ "comment": { "display_anonymous_card": true } }
184コメント(匿名でのコメント)をスタジオに生成するか設定できます。
設定を行うことで184コメント(匿名でのコメント)を文字オブジェクトとして落下させるかの設定が出来ます。
未入力の場合、184コメント(匿名でのコメント)が文字オブジェクトとして落下します。
{ "comment": { "display_anonymous_flying": true } }
SpringBoneの最適化を行うかどうかを制御します。
デフォルトではONになっており、アバターの揺れ物に関する動作の最適化が図られ動作が軽くなります。
ただし、一部モデルよっては正しく動かない場合もあるため、設定をOFFにする場合は下記のように記述します。
{ "humanoid": { "use_fast_spring_bone" : false } }
動画プレイヤーで再生する動画URLを設定できます。
{ "import": { "video_content_uris": [ "https://example/video1", "https://example/video2" ] } }
動画プレイヤーで再生する動画URLのプレイリストを設定できます。
{ "import": { "video_playlist_uris": [ "https://example/playlist1", "https://example/playlist2" ] } }
スタジオ内の最大人数を設定できます。
2~16人の設定が可能です。
未入力の場合は 4 に設定されています。
{ "studio": { "max_performers" : 4 } }
スタジオに凸出来るダイレクトビューモードの最大人数を設定できます。
0~6人の設定が可能です。
0 に指定すると、入室を許可しない状態と同等になります。
未入力の場合は 0 に設定されています。
{ "studio": { "max_direct_viewers" : 0 } }
ホワイトボードに画像を登録します。
画像の切替方法は、ホワイトボードにレーザーポインターを当てて使うと次の画像へ切り替わります。
画像は全てURLで記述しますが、誰でもアクセスできる状態にしてください。
{ "item": { "whiteboard": { "source_urls": [ "http://example/test1.png", "http://example/test2.png", "http://example/test3.png" ] } } }
カンペに画像を登録します。
画像の切替方法は、カンペにレーザーポインターを当てて使うと次の画像へ切り替わります。
画像は全てURLで記述しますが、誰でもアクセスできる状態にしてください。
{ "item": { "cue_card": { "source_urls": [ "http://example.com/test1.png", "http://example.com/test2.png", "http://example.com/test3.png" ] } } }
アイテムのディスプレイに、クロマキー合成を適用するか設定します。
クロマキーの設定はレーザーポインターでクロマキーにするHSVを操作します。
この設定はユーザーごとに設定されますので、企画等で凸者さんにも適用する必要がある場合は設定を促してください。
未入力の場合はクロマキー合成は適用されません。
{ "item": { "enable_displaycapture_chromakey": true } }
アイテムの外部入力モニターに、クロマキー合成を適用するか設定します。
クロマキーの設定はレーザーポインターでクロマキーにするHSVを操作します。
この設定はユーザーごとに設定されますので、企画等で凸者さんにも適用する必要がある場合は設定を促してください。
未入力の場合はクロマキー合成は適用されません。
{ "item": { "enable_videoboard_chromakey": true } }
アイテムのホワイトボード・カンペの画像は読み込む度にダウンロードしますが、キャッシュに保存することでリロード時に高速で読み込むことが出来ます。
※ただし一度キャッシュに保存されると、URLから画像データを読まなくなるので、URL先の画像が変更されてもキャッシュに保存した画像が表示されます。
未入力の場合は.png, .jpeg, .jpg のみキャッシュします。
{ "item"{ "projectable_item": { "enable_cache_all": false } } }
アイテムの「動画キャプチャー」でムービー撮影をする時、音も録音するか設定します。
未入力の場合、バーチャルキャスト内の音を含めたムービー撮影ができます。
{ "item"{ "movie_audio_recording_enabled": true } }
キャプチャー、ホワイトボードで画像保存時のファイル形式を設定します。
現在はjpg,pngでのみ保存でき、未設定の場合はjpgで保存されます。
{ "item": { "capture_format": "png" } }
キャプチャーカメラ、ホワイトボード、スクリーンショット(F1)で保存した画像を Steam コミュニティーの「 スクリーンショット」に投稿できるようになります。
このチェックボックスをオンにして画像を撮影すると、通常の保存先 (/マイピクチャ/VirtualCast) とは別に Steam のスクリーンショット専用フォルダーにも同じ画像が保存されます。
保存した写真の確認方法は撮影した画像をSteamのスクリーンショットライブラリに追加する[Steam版 詳細設定]を参照してください。
未入力の場合、出力をSteam Screenshotsに追加されません。
{ "item": { "steam_screenshot": false } }
視聴者にカメラオブジェクトを表示するか設定します。
未入力の場合、表示されます。
{ "item": { "hide_camera_from_viewers": false } }
アイテムに触れた際に、青白くハイライトするか設定します。
未入力の場合、ハイライトされます。
{ "item": { "disable_highlighting_item": false } }
背景にパノラマ画像を登録します。
画像は全てURLで記述しますが、誰でもアクセスできる状態にしてください。
入力例では、以下のパノラマ画像を登録する記述になります。
{ "background": { "panorama": { "source_urls": [ "https://www.virtualcast.jp/download/panoramas/IL_entrance.JPG", "https://www.virtualcast.jp/download/panoramas/chromakey.jpg", "https://www.virtualcast.jp/download/panoramas/chromakey_white.jpg" ] } } }
クロマキースタジオの色を緑・青・黒の3色から設定できます。
それぞれgreen、blue、black で指定できます。
未入力の場合、greenで指定されます。
{ "background": { "chroma_key_background_color": "green" } }
画像を使っても消えない画像をスタジオに設置します。
画像は全てURLで記述しますが、誰でもアクセスできる状態にしてください。
下記の例では、あねえるたん制作のチワワ画像を3つバーチャルキャスト内に設置します。
{ "persistent_object": { "image_urls": [ "https://pbs.twimg.com/media/DXNT_9WV4AEqKqU.jpg", "https://pbs.twimg.com/media/DXNT_9WV4AEqKqU.jpg", "https://pbs.twimg.com/media/DXNT_9WV4AEqKqU.jpg" ] } }
消えない画像をスタジオに設置できます。この画像は視聴者側には見えません。
画像は全てURLで記述しますが、誰でもアクセスできる状態にしてください。
下記の例では、あねえるたん制作のチワワ画像を3つバーチャルキャスト内に設置します。
{ "persistent_object": { "hidden_image_urls": [ "https://pbs.twimg.com/media/DXNT_9WV4AEqKqU.jpg", "https://pbs.twimg.com/media/DXNT_9WV4AEqKqU.jpg", "https://pbs.twimg.com/media/DXNT_9WV4AEqKqU.jpg" ] } }
裏表で別々の画像を貼った永続化画像を設置します。
画像は全てURLで記述しますが、誰でもアクセスできる状態にしてください。
一つの配列に表裏の2個の画像URLを登録し、複数作成する場合は配列を増やしていきます。
下記の例では、表裏の画像を2個登録します。
{ "persistent_object": { "double_sided_image_urls ": [ [ "http://example.com/omote1.png", "http://example.com/ura1.png" ], [ "http://example.com/omote2.png", "http://example.com/ura2.png" ] ] } }
裏表で別々の画像を貼った永続化画像を設置します。この画像は視聴者側には見えません。
画像は全てURLで記述しますが、誰でもアクセスできる状態にしてください。
一つの配列に表裏の2個の画像URLを登録し、複数作成する場合は配列を増やしていきます。
下記の例では、表裏の画像を2個登録します。
{ "persistent_object": { "hidden_double_sided_image_urls": [ [ "http://example.com/omote1.png", "http://example.com/ura1.png" ], [ "http://example.com/omote2.png", "http://example.com/ura2.png" ] ] } }
デスクトップ上のウィンドウへ映像を描画しないよう切り替えるキーの割り当てを設定します。
詳しくはデスクトップへの描画を止める[Steam版 詳細設定]を参照してください。
未入力の場合「X」が設定されています。
{ "keyboard": { "switch_rendering_to_desktop": "X" } }
VCIに送るキー入力の設定です。
{ "keyboard": { "keycode_vci_forward": "UpArrow", "keycode_vci_backward": "DownArrow", "keycode_vci_left": "LeftArrow", "keycode_vci_right": "RightArrow", "keycode_vci_up": "U", "keycode_vci_down": "I", "keycode_vci_1": "Alpha1", "keycode_vci_2": "Alpha2", "keycode_vci_3": "Alpha3", "keycode_vci_4": "Alpha4" } }
UnityのKeyCodeが入りますが、一部、使用できないコードもありますので、VirtualCastの設定画面から設定をお願いします。
https://docs.unity3d.com/ja/2017.4/ScriptReference/KeyCode.html
VCIスクリプトのWebSocketロガーをホストする「TCPポート番号」を設定します。
未入力の場合「0」が設定されます。
0より大きい数値が入力されている時に起動します。
ロガーについてはコンソールを参照してください。
{ "embedded_script": { "websocket_console_port": 0 } }
VCCode向けにMoonSharp RemoteデバッガーのTCPポート番号を設定します。
0より大きい数値が入力されている時に起動します。
未入力の場合「0」が設定されます。
デバッグ方法についてはVScodeでデバッガを使用する方法を参照してください。
{ "embedded_script": { "moonsharp_debugger_port": 0 } }
起動モードを変更します。現在はダイレクトビューモードにする時のみこの記述をします。
{ "mode": "direct-view" }
基本は使用しないでください。
通常スタジオ内での同期は UDP で行われますが、 UDP を使用している場合一部の環境でスタジオに入れないという例がありました。
スタジオ入室時に「必ずオフラインスタジオに戻される」「アプリが停止する」などの不具合が起きている場合、お試しください。
未入力の場合UDPを使用します。
{ "use_tcp": false, }
バージョン2.0.0から実装された設定です。
現在使用中のVRコントローラーの識別を指定できます。
「AutoDetect(自動判別)」でうまくコントローラーが識別されない場合に手動で種別を切り替えることが出来ます。
未入力の場合「AutoDetect」が設定されます。
{ "vr_input_controller_type": "AutoDetect" }
Looking Glassへの投影が可能になります。
Looking Glassを接続した状態でダイレクトモードで凸を行うと、キャラクターやアイテムが立体的に見えます。
投影を行うためには「ダイレクトビューモード」で起動する必要がありますので、“mode”:“direct-view”も合わせて表記します。
{ "mode": "direct-view", "enable_looking_glass": true }
VIVE Pro Eyeの目の動きを設定します。
詳しい設定方法はアイトラッキング (VIVE Pro Eye)を参照してください。
enable_vivesranipal_eye | VIVE Pro Eyeの眼球の動きを検出するかどうか |
vivesranipal_eye_adjust_x | 左右の眼球の移動量 |
vivesranipal_eye_adjust_y | 上下の眼球の移動量 |
enable_vivesranipal_blink | VIVE Pro Eyeのまばたきの動きを検出するかどうか |
enable_vivesranipal_lip | VIVE Pro Eyeの口元トラッキングを検出するかどうか |
enable_vivesranipal_eye_with_emotion | ViveProEyeのアイトラッキングを表情変更中に使用するかどうか |
{ "enable_vivesranipal_eye": true, "vivesranipal_eye_adjust_x": 1.0, "vivesranipal_eye_adjust_y": 1.0, "enable_vivesranipal_blink": true, "enable_vivesranipal_lip": false, "enable_vivesranipal_eye_with_emotion": false }
バーチャルキャスト内で起こるコントローラーの振動の強さを0.0~1.0までで設定します。
0に設定すると振動が無効化されます。
未入力の場合0.5が設定されます。
{ "vibration_power": 0.5 }
下記のconfig.jsonをVirtualCast.exeと同じ場所に保存してください。
{ "niconico": { "broadcaster_comments": [], "broadcaster_comments.description": "放送者コメントのリスト" }, "comment": { "display_anonymous_card": true, "display_anonymous_card.description": "匿名らしきコメントからコメントカードを生成するか", "display_anonymous_flying": true, "display_anonymous_flying.description": "匿名らしきコメントからフライングコメントを生成するか" }, "humanoid": { "use_fast_spring_bone": true, "use_fast_spring_bone.description": "JobSystemで実装されたSpringBoneを使用するか" }, "import": { "video_content_uris": [], "video_playlist_uris": []: "動画プレイヤーで再生する動画URLのプレイリスト" }, "studio": { "max_performers": 4, "max_performers.description": "スタジオに存在出来る演者の最大人数", "max_direct_viewers": 0, "max_direct_viewers.description": "スタジオに存在出来るダイレクトビューモード使用者の最大人数" }, "item": { "whiteboard": { "source_urls": [], "source_urls.description": "レーザーポインタでホワイトボードに切り替えするときの画像のURLリスト" }, "cue_card": { "source_urls": [], "source_urls.description": "レーザーポインタでカンペに切り替えするときの画像のURLリスト" }, "enable_displaycapture_chromakey": false, "enable_displaycapture_chromakey.description": "ディスプレイキャプチャーをクロマキーシェーダにするかどうか", "enable_videoboard_chromakey": false, "enable_videoboard_chromakey.description": "外部入力モニターをクロマキーシェーダにするかどうか", "projectable_item": { "enable_cache_all": false, "enable_cache_all.description": "ProjectableItemのテクスチャキャッシュを全てのテクスチャで有効にするかどうか\nデフォルトでは .png, .jpeg, .jpg のみキャッシュする" }, "movie_audio_recording_enabled": true, "movie_audio_recording_enabled.description": "ムービー撮影時の録音が有効か", "capture_format": "JPEG", "capture_format.description": "キャプチャーカメラの出力形式(JPEG PNG)", "steam_screenshot": false, "steam_screenshot.description": "キャプチャーカメラ、ホワイトボード保存、スクリーンショットの出力をSteam Screenshotsに追加", "hide_camera_from_viewers": false, "hide_camera_from_viewers.description": "カメラオブジェクトの(視聴者への)表示/非表示", "disable_highlighting_item": false, "disable_highlighting_item.description": "アイテムに接触した際のハイライト表示を無効にする" }, "background": { "panorama": { "source_urls": [], "source_urls.description": "Equirectangular形式のパノラマ画像のURLリスト" }, "chroma_key_background_color": "green", "chroma_key_background_color.description": "クロマキー背景の色。\"green\"、\"blue\"、\"black\" で指定" }, "persistent_object": { "image_urls": [], "image_urls.description": "初期表示を行う永続化画像のURLリスト", "hidden_image_urls": [], "hidden_image_urls.description": "視聴者に見せない永続化画像のURLリスト", "double_sided_image_urls": [], "double_sided_image_urls.description": "初期表示を行う永続化画像のURLリスト(両面指定)", "hidden_double_sided_image_urls": [], "hidden_double_sided_image_urls.description": "視聴者に見せない永続化画像のURLリスト(両面指定)", }, "keyboard": { "switch_rendering_to_desktop": "X", "switch_rendering_to_desktop.description": "デスクトップへの描画内容を切り替えるキー", "keycode_vci_forward": "UpArrow", "keycode_vci_forward.description": "VCI操作の前キー", "keycode_vci_backward": "DownArrow", "keycode_vci_backward.description": "VCI操作の後キー", "keycode_vci_left": "LeftArrow", "keycode_vci_left.description": "VCI操作の左キー", "keycode_vci_right": "RightArrow", "keycode_vci_right.description": "VCI操作の右キー", "keycode_vci_up": "U", "keycode_vci_up.description": "VCI操作の上キー", "keycode_vci_down": "I", "keycode_vci_down.description": "VCI操作の下キー", "keycode_vci_1": "Alpha1", "keycode_vci_1.description": "VCI操作のキー1", "keycode_vci_2": "Alpha2", "keycode_vci_2.description": "VCI操作のキー2", "keycode_vci_3": "Alpha3", "keycode_vci_3.description": "VCI操作のキー3", "keycode_vci_4": "Alpha4", "keycode_vci_4.description": "VCI操作のキー4" }, "embedded_script": { "websocket_console_port": 0, "websocket_console_port.description": "VCI-Embedded-ScriptのWebSocket LoggerをHostするTCP Port番号。0より大きい値の時に起動する", "moonsharp_debugger_port": 0, "moonsharp_debugger_port.description": "VCI-Embedded-ScriptのVSCode向けのMoonSharp RemoteデバッガーのTCP Port番号。0より大きい値の時に起動する。41912がデフォルト値" }, "mode": "default", "mode.description": "アプリケーションの起動形態", "use_tcp": false, "use_tcp.description": "TCP接続を使用するかどうか (デフォルトはUDP)", "vr_input_controller_type": "AutoDetect", "vr_input_controller_type.description": "使用中のVRコントローラの種別", "enable_looking_glass": false, "enable_looking_glass.description": "LookingGlass用のレンダリングをするかどうか(ダイレクトビューモードでのみ有効)", "enable_vivesranipal_eye": false, "enable_vivesranipal_eye.description": "ViveProEyeの眼球トラッキングを使用するか", "vivesranipal_eye_adjust_x": 1.0, "vivesranipal_eye_adjust_x.description": "ViveProEyeの眼球トラッキングの値のX補正値", "vivesranipal_eye_adjust_y": 1.0, "vivesranipal_eye_adjust_y.description": "ViveProEyeの眼球トラッキングの値のY補正値", "enable_vivesranipal_blink": false, "enable_vivesranipal_blink.description": "ViveProEyeの瞼トラッキングを使用するか", "enable_vivesranipal_lip": false, "enable_vivesranipal_lip.description": "ViveProの口元トラッキングを使用するか", "enable_vivesranipal_eye_with_emotion": false, "enable_vivesranipal_eye_with_emotion.description": "ViveProEyeのアイトラッキングを表情変更中に使用するか", "vibration_power": 0.5, "vibration_power.description": "振動の強弱を調整できる。0にすると無振動になってしまう。" }
config.jsonの読み込みに失敗しています。
以下の原因が考えられます。
正しいURLであるか確認してください。
悪い例としては、下記のようにTwitterのツイートURLを登録した場合、画像として認識できません。
https://twitter.com/priramen/status/1078961465481060352
この場合は、「.jpg」「.png」等で終わる画像のURLを指定することで読み込むことができます。
画像を右クリックで「新しいタブで開く」等をすると画像のURLがわかります。
https://pbs.twimg.com/media/Dvk9ZvaU0AAt3yj.jpg