{

	// "VRモードの描画設定"
  "vr": {

    "stage_height": 67.0  // ステージの高さ。変更しないことを推奨
  , "scale_down_rate": 0.012  // 全体の縮小率。変更しないことを推奨
	,	"Gamma":2.587 // トーンマップによる色の調整。ガンマ
	,	"Exposure":0.065 // トーンマップによる色の調整。露出
	,	"Saturation":-0.0000 // トーンマップによる色の調整。強度
	,	"Bleach":-0.00  // トーンマップによる色の調整。白っぽくなる。
	,	"Defog":0.01 // FogColorで設定された色を減算する。
	,	"FogColor":[0.1, 0.0, 0.0] //FogColor。RGBで指定する。
	,	"RayForShade": [1, 0.2, 0] // ホストガールに陰影をつけるための光源
	,	"RayForStageAndHair": [0.000, 0.050, 0.000] // ステージ及び髪のハイライトのための光源
	,	"OutlineThreshold": 0.00065 // アウトラインを描画するためのしきい値
	,	"HairHighlightPosition": 0.15 // 髪のハイライトの位置
	,	"HairHighlightSharpness": 65.0 // 髪のハイライトのシャープネス
	,	"HairHighlightIntensity": 0.12 // 髪のハイライトの強度。0.0～1.0
	,	"DiffuseThreshold": 0.2 // 陰影のしきい値
	,	"CameraHomeingLimitX": 120.0 // カメラのホストガール追尾設定(X軸)。この値以上動いた場合、カメラを自動で動かす
	,	"CameraHomeingLimitZ": 5.0  // カメラのホストガール追尾設定(Z軸)
	,	"specular_val": 5
	,	"specular_rate": 0.035
	,	"tessellation_factor_outside": 2.0  //テッセレーションの分割数。外周（辺の分割数）
	,	"tessellation_factor_inside": 2.0  //テッセレーションの分割数。内部
  },

	//ウィンドウモードの描画設定。内容はVRモードと同じ
  "window": {

    "stage_height": 67.0
  , "scale_down_rate": 1.00
	,	"Gamma":1.185
	,	"Exposure":-0.000
	,	"Saturation":0.3225
	,	"Bleach":-0.00
	,	"Defog":0.01
	,	"FogColor":[0.1, 0.0, 0.0]
	,	"RayForShade": [0.5, 0.2, 0.3]
	,	"RayForStageAndHair": [0.5, 0.2, 0.3]
	,	"OutlineThreshold": 0.0000115
	,	"HairHighlightPosition": 0.15 // 髪のハイライトの位置
	,	"HairHighlightSharpness": 65.0 // 髪のハイライトのシャープネス
	,	"HairHighlightIntensity": 0.12 // 髪のハイライトの強度。0.0～1.0
	,	"DiffuseThreshold": 0.2
	,	"CameraHomeingLimitX": 15.0
	,	"CameraHomeingLimitZ": 15.0
	,	"specular_val": 5
	,	"specular_rate": 0.000
	,	"tessellation_factor_outside": 2.0  //テッセレーションの分割数。外周（辺の分割数）
	,	"tessellation_factor_inside": 2.0  //テッセレーションの分割数。内部
	,	"window_x": 2500 //
	,	"window_y": 1500 //
	,	"render_scale": 1 //
  },

	//どのステージを使うか。ZERO or Gogo.
	"stage_type":"Gogo.",

	//全体の音量
	"master_volume":0.3,

	//玲香の制服は簡易モデルを使用する
	"use_simpler_model_reika": true,
	//あすかの制服は簡易モデルを使用する
	"use_simpler_model_asuka": true,


	//物理演算の設定。以下の説明は、ほとんどPhysXのドキュメントの機械翻訳となっている。
	"physx": {

		//physxのスレッド数
		"num_threads": 6,

		//スカート、胴体の装飾の物理演算の設定
		"skirt": {

		 	"mass": 25.0 // 剛体の質量"
		,	"MaxLinearVelocity":  55.0000 // 最大線速度
		,	"MaxAngularVelocity":  55.0000 // 最大角速度
		,	"MaxDepenetrationVelocity": 45.0000 // 最大浸透速度
		, "minPositionIters": 4  // 位置の反復回数。PhysXのデフォルトは4
		, "minVelocityIters": 1  // 速度の反復回数。PhysXのデフォルトは1
		, "materialStaticFriction": 1000.5 // 静摩擦係数
		, "materialDynamicFriction": 1000.5 // 動摩擦係数
		, "materialRestitution": 0.6 // 反発係数
		, "bone_x": 1.4 // 太さX
		, "bone_z": 1.4 // 太さZ
		, "joint_count": 1 // 同じジョイントを複数作成する場合のオプション。現在機能していない

			//縦のジョイントの設定
		, "joint_vertical" : {
				  "enable_joint_limit_swing1": true // ジョイントの回転の制限を有効にする(PxJointLimitConeを作る)。swing1
				, "enable_joint_limit_swing2": true // ジョイントの回転の制限を有効にする(PxJointLimitConeを作る)。swing2
				, "enable_joint_limit_twist":  true // ジョイントの回転の制限を有効にする(PxJointLimitConeを作る)。twist
				,	"limit_angle":  90.0 // 回転の制限の角度。0~360
				,	"limit_stiffness": 1000.95 // 回転の制限の剛性。0以上
				,	"limit_damping":  80.9 // 回転の制限の減退。0以上
				,	"limit_restitution": 0.1 // 回転の制限が限界に達したときのバウンスの量。0~1
				,	"limit_bounceThreshold": 0.1 // ジョイントをバウンスさせる最小衝撃速度。0以上
				,	"limit_contactDistance": 1.5 // リミットをアクティブとみなす距離。値を大きくするとより早くリミットがアクティブになる。0以上
				, "enable_joint_projection": true // プロジェクションを有効にする。有効にすることで剛体に強い力が加わった場合の吹き飛びを抑止する。
				, "projection_angular": 15.0 // プロジェクションが有効になる角度
				, "projection_linear": 1.5 // プロジェクションが有効になる距離
				, "enable_free_angle": false // 角度の制限をしない
				, "enable_joint_drive": true // ドライブの有効化
				, "drive_stiffness": 9500.0 // ドライブの硬さ
				, "drive_damping": 2.5 // ドライブの減退
				, "enable_reverse_joint": true  // 逆方向のジョイントを作成するか
			}

		, "enable_yoko_joint": true // 横のジョイントを有効にするか

			//横のジョイントの設定。内容に関しては縦のジョイントと同様
		, "joint_horizontal" : {
					"limit_angle": 50.0
				,	"limit_stiffness": 1.0
				,	"limit_damping": 1.0
				,	"limit_restitution": 1.0
				,	"limit_bounceThreshold": 1.0
				, "enable_joint_projection": false
				, "projection_angular": 1.0
				, "projection_linear": 1.0
				, "enable_joint_drive": true
				, "drive_stiffness": 1060.0
				, "drive_damping": 0.2
				, "enable_free_angle": true
				, "enable_distance_limit": true
				, "distance_limit": 0.3
				, "distance_spring_stiffness": 3500.5
				, "distance_spring_damping": 0.95
			}
		},

		//髪の物理演算の設定。内容に関してはスカートの物理演算設定と同様
		"hair": {
		 	"mass": 3000.0
		,	"MaxLinearVelocity": 80
		,	"MaxAngularVelocity": 80
		,	"MaxDepenetrationVelocity": 80
		, "minPositionIters": 4
		, "minVelocityIters": 1
		, "materialStaticFriction": 10.5
		, "materialDynamicFriction": 10.5
		, "materialRestitution": 0.9
		, "bone_x": 1.7
		, "bone_z": 1.7
		, "joint_count": 1
		, "joint_vertical" : {
				  "enable_joint_limit_swing1": true
				, "enable_joint_limit_swing2": true
				, "enable_joint_limit_twist":  true
				,	"limit_angle":  180
				,	"limit_stiffness": 100.95
				,	"limit_damping":   5.5
				,	"limit_restitution": 0.9
				,	"limit_bounceThreshold": 1000.1
				,	"limit_contactDistance": 0.1
				, "enable_joint_projection": true
				, "projection_angular": 0.1
				, "projection_linear": 0.1
				, "enable_joint_drive": true
				, "drive_stiffness": 90000.0
				, "drive_damping": 0.6
				, "enable_reverse_joint": true  // 逆方向のジョイントを作成するか
			}
		, "enable_yoko_joint": false
		, "joint_horizontal" : {
				  "enable_joint_projection": false
				, "projection_angular": 1.0
				, "projection_linear": 1.0
				, "enable_joint_drive": true
				, "drive_stiffness": 160.0
				, "drive_damping": 0.1
				, "enable_free_angle": true
				, "enable_distance_limit": true
				, "distance_limit": 0.3
				, "distance_spring_stiffness": 1000.5
				, "distance_spring_damping": 6.5
			}
		}

	, "leg_bone_x": 6.0 // 脚の剛体のサイズX
	, "leg_bone_z": 6.0 // 脚の剛体のサイズZ


	,	"breast_s": {
		 	"mass": 50.0
		,	"MaxLinearVelocity": 35.0
		,	"MaxAngularVelocity": 35.0
		,	"MaxDepenetrationVelocity": 30.5
		, "minPositionIters": 6 
		, "minVelocityIters": 2
		, "materialStaticFriction": 1000.5
		, "materialDynamicFriction": 1000.5
		, "materialRestitution": 0.06
		, "bone_x": 0.1
		, "bone_z": 0.1
		, "joint_count": 1
		}

		//胸の剛体の設定。Sサイズ用。スカートや髪のジョイント設定と同じ値も指定可能
	, "breast_joint_s": [
			{
				"enable_linear_limit_x": true
			, "enable_linear_limit_y": true
			, "enable_linear_limit_z": false
			, "linear_limit_x_min": -2.0
			, "linear_limit_x_max":  2.0
			, "linear_limit_y_min": -3.0
			, "linear_limit_y_max":  3.0
			, "linear_limit_z_min":  0.0
			, "linear_limit_z_max":  0.5
			, "enable_joint_projection": true // プロジェクションを有効にする。有効にすることで剛体に強い力が加わった場合の吹き飛びを抑止する。
			, "projection_angular": 1         // プロジェクションが有効になる角度
			, "projection_linear": 1          // プロジェクションが有効になる距離
		, "enable_joint_drive": true
			, "drive_stiffness": 120
			, "drive_damping": 0.1
			}
		]


	,	"breast_m": {
		 	"mass": 450.0
		,	"MaxLinearVelocity": 35.0
		,	"MaxAngularVelocity": 35.0
		,	"MaxDepenetrationVelocity": 30.5
		, "minPositionIters": 6 
		, "minVelocityIters": 2
		, "materialStaticFriction": 1000.5
		, "materialDynamicFriction": 1000.5
		, "materialRestitution": 0.06
		, "bone_x": 0.1
		, "bone_z": 0.1
		, "joint_count": 1
	}

		//胸の剛体の設定。Mサイズ用。内容はSサイズと同じ
	, "breast_joint_m": [
			{
		  "enable_linear_limit_x": true
		, "enable_linear_limit_y": true
		, "enable_linear_limit_z": false
			, "linear_limit_x_min": -2.0
			, "linear_limit_x_max":  2.0
			, "linear_limit_y_min": -3.0
			, "linear_limit_y_max":  3.0
		, "linear_limit_z_min":  0.0
		, "linear_limit_z_max":  0.5
			, "enable_joint_projection": true // プロジェクションを有効にする。有効にすることで剛体に強い力が加わった場合の吹き飛びを抑止する。
			, "projection_angular": 1         // プロジェクションが有効になる角度
			, "projection_linear": 1          // プロジェクションが有効になる距離
			, "enable_joint_drive": true
			, "drive_stiffness": 160
			, "drive_damping": 0.01
			}
			,
			{
        "enable_joint_limit_swing1": true  //横回転
      , "enable_joint_limit_swing2": false //ひねり回転
      , "enable_joint_limit_twist":  true  //縦回転
      , "limit_angle":  15
      , "limit_stiffness": 3150
      , "limit_damping":  90
      , "limit_restitution": 0.9
      , "limit_bounceThreshold": 6.5
      , "limit_contactDistance": 0.0
			, "enable_joint_projection": true // プロジェクションを有効にする。有効にすることで剛体に強い力が加わった場合の吹き飛びを抑止する。
			, "projection_angular": 0.1       // プロジェクションが有効になる角度
			, "projection_linear": 1          // プロジェクションが有効になる距離
		, "enable_joint_drive": true
			, "drive_stiffness": 860
			, "drive_damping": 0.35
			}
		]


	,	"breast_l": {
		 	"mass": 450
		,	"MaxLinearVelocity":  50.0000 // 最大線速度
		,	"MaxAngularVelocity":  250.0000 // 最大角速度
		,	"MaxDepenetrationVelocity":  1.0000 // 最大浸透速度
		, "minPositionIters": 4  // 位置の反復回数。PhysXのデフォルトは4
		, "minVelocityIters": 1  // 速度の反復回数。PhysXのデフォルトは1
		, "materialStaticFriction": 1000.5 // 静摩擦係数
		, "materialDynamicFriction": 0.1000 // 動摩擦係数
		, "materialRestitution": 0.9 // 反発係数

		, "bone_x": 1
		, "bone_z": 1
		, "joint_count": 1
		}

		//胸の剛体の設定。Lサイズ用。内容はSサイズと同じ
	, "breast_joint_l": [
			{
		  "enable_linear_limit_x": true
		, "enable_linear_limit_y": true
		, "enable_linear_limit_z": false
			, "linear_limit_x_min": -2.0
			, "linear_limit_x_max":  2.0
			, "linear_limit_y_min": -3.0
			, "linear_limit_y_max":  3.0
		, "linear_limit_z_min":  0.0
			, "linear_limit_z_max":  0.5
			, "enable_joint_projection": true // プロジェクションを有効にする。有効にすることで剛体に強い力が加わった場合の吹き飛びを抑止する。
			, "projection_angular": 1         // プロジェクションが有効になる角度
			, "projection_linear": 1          // プロジェクションが有効になる距離
			, "enable_joint_drive": true
			, "drive_stiffness": 260
			, "drive_damping": 0.01
			}
			,
			{
        "enable_joint_limit_swing1": true //横回転
      , "enable_joint_limit_swing2": false //ひねり回転
      , "enable_joint_limit_twist":  true  //縦回転
      , "limit_angle":  15
      , "limit_stiffness": 3150
      , "limit_damping":  90
      , "limit_restitution": 0.9
      , "limit_bounceThreshold": 6.5
      , "limit_contactDistance": 0.0
			, "enable_joint_projection": true // プロジェクションを有効にする。有効にすることで剛体に強い力が加わった場合の吹き飛びを抑止する。
			, "projection_angular": 0.1       // プロジェクションが有効になる角度
			, "projection_linear": 1          // プロジェクションが有効になる距離
		, "enable_joint_drive": true
			, "drive_stiffness": 860
			, "drive_damping": 0.35
		}

		]


	},

	// キーコンフィグ。キー定義とアクションのペアで指定する。設定内容に関してはreadmeを参照
	"KeyConfig": { 
	 	"A": "Application.Camera.Left"
	,	"D": "Application.Camera.Right"
	,	"S": "Application.Camera.Backward"
	,	"W": "Application.Camera.Forward"
	,	"S-S": "Application.Camera.Down"
	,	"S-W": "Application.Camera.Up"
	,	"S-A": "Application.Camera.Next"
	,	"S-D": "Application.Camera.Prev"
	,	"R": "Application.Show.Reset"
	,	"N": "Application.Show.Next"
	,	"P": "Application.Show.Prev"
	,	"Down": "Application.Render.Tonemap.Bleach.Down"
	,	"Up":   "Application.Render.Tonemap.Bleach.Up"
	,	"U": "Application.Render.Tonemap.Gamma.Up"
	,	"J": "Application.Render.Tonemap.Gamma.Down"
	,	"I": "Application.Render.Tonemap.Exposure.Up"
	,	"K": "Application.Render.Tonemap.Exposure.Down"
	,	"O": "Application.Render.Tonemap.Saturation.Up"
	,	"L": "Application.Render.Tonemap.Saturation.Down"
	},

	//ウィンドウモード用のキーコンフィグ。KeyConfigで定義したものより優先される
	"KeyConfig_Window": {
		 	"C-A": "Application.Camera.Rotate.Left"
		,	"C-D": "Application.Camera.Rotate.Right"
		,	"C-S": "Application.Camera.Rotate.Down"
		,	"C-W": "Application.Camera.Rotate.Up"
		,	"Space": "Application.Camera.Homeing.Toggle"
	},	

	//VRモード用のキーコンフィグ。KeyConfigで定義したものより優先される
	"KeyConfig_VR": {
		  "Space": "Application.Camera.Homeing.Enable"
		, "Controller.Button.Touchpad.Center": "Application.Show.Reset"
		,	"Controller.Swipe.Touchpad.Up": "Application.Camera.Forward"
		,	"Controller.Swipe.Touchpad.Down": "Application.Camera.Backward"
		,	"Controller.Swipe.Touchpad.Left": "Application.Camera.Left"
		,	"Controller.Swipe.Touchpad.Right": "Application.Camera.Right"
		,	"Controller.Button.Touchpad.Up": "Application.Camera.Up"
		,	"Controller.Button.Touchpad.Down": "Application.Camera.Down"
		,	"Controller.Button.Touchpad.Left": "Application.Show.Prev"
		,	"Controller.Button.Touchpad.Right": "Application.Show.Next"
		,	"Controller.Button.Trigger": "Application.Camera.Homeing.Toggle"
		,	"Controller.Button.Menu": "Application.Camera.Homeing.Toggle"
		,	"Controller.Button.Grip": "Application.Camera.Next"
	},



	//VRモード用のカメラの指定。複数指定可能
	"vr_hmd_pose_list": [
		{"rotate": [ 0,    0.0, 0], "translate": [  0  ,   1.25,    0.5 ]},
		{"rotate": [ 0, -180.0, 0], "translate": [  0  ,   0.75,   -1.0]}
	],

	//ウィンドウモード用のカメラの指定。複数指定可能
	"switcher_camera_list": [
	 	{"rotate": [ 0,  0.0, 0 ], "position": [  0  ,   170.0,    130.0 ]}
	,	{"rotate": [ 30,  0.0, 0 ], "position": [  0  ,   120.0,    130.0 ]}
	,	{"rotate": [-20,  0.0, 0 ], "position": [  0  ,   200.0,    130.0 ]}
	,	{"rotate": [ 0,  -180, 0 ], "position": [  0  ,   150.0,    -130.0 ]}
	]
}

// vim: ft=jsonc

