概要

PC VR状態ならばカメラを使用、デスクトップならばF12キーを押すことで写真を取ることができます。

このページはそれの仕様などを書き留める場所です。

保存先

デフォルトではC:\Users\(UserName)\Pictures\VRChatのようなMy Pictures/VRChatに保存されます。(確認:Build 1134)

ただし、Build 1137(執筆時点ではβ)以降はC:\Users\(UserName)\Pictures\VRChat\(Year)-(Month)に保存されています。

命名規則

VRChat_1280x720_2021-10-09_11-42-22.508.png のような VRChat_(Width)x(Height)_(yyyy)-(MM)-(dd)_(HH)-(mm)-(ss).(コンマ秒).pngの形式で保存されます。

新しいフォルダー階層にするPowerShellスクリプト

Pictures/VRChatで実行してください。 自分の環境では動いた。 二度とPowerShell書かない。

echo "VRChatの新しいフォルダー構造にするスクリプトです。"
pause
Get-ChildItem -File -Name -Filter VRChat_*.png | ForEach-Object {
  $filename = $_
  $filename -match "[0-9]{4}-[0-9]{2}"
  $foldername = [string]$Matches[0]
  New-Item $foldername -type directory -Force
  Move-Item ./$filename ./$foldername/$filename
}
echo "終了しました。"
pause

スクショのファイル名からタイムスタンプを抽出して作成日・更新日ともにそれに置き換えるPowerShellスクリプト

Google Photoが更新日を基準にソートするので。 なぜか、ps1すると構文エラーで動かない

# 子フォルダの中のVRChat関連の画像を探し、ForEachをぶん回す。
Get-ChildItem -File -Name -Filter "VRChat_*.png" -Recurse | ForEach-Object {
  # $_ にファイルパスが格納されるので、ファイルパスから撮影日時を取得。
  $file_path = $_
  echo $file_path
  $file_path -match "VRChat_(?<resolution>[0-9]{4}x[0-9]{4}?)_(?<shooting_date>[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}?).[0-9]{3}.png"
  # $Matchesに配列としてマッチした文字列が格納される。
  $shooting_date = [string]$Matches.shooting_date
  echo $shooting_date
  # StringからDateTime型にキャストする
  $time_stamp = [DateTime]::ParseExact($shooting_date, "yyyy-MM-dd_HH-mm-ss", $null)
  echo $time_stamp
  # $time_stampに格納した日付情報を使い、対象ファイルの更新日時と作成日時を書き換える。
  Set-ItemProperty $file_path -Name CreationTime -Value $time_stamp
  Set-ItemProperty $file_path -Name LastWriteTime -Value $time_stamp
  echo "======"
}