Skip to content

Commit f08da80

Browse files
committed
腰無しで胸だけでも良い感じに動くことが分かったので自動再割り当てをオプションに変更
1 parent 47c2870 commit f08da80

10 files changed

Lines changed: 50 additions & 1 deletion

File tree

Assets/Scripts/Avatar/MotionTracking/IKManager.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -796,7 +796,8 @@ public IEnumerator Calibrate(PipeCommands.CalibrateType calibrateType)
796796
}
797797
catch { }
798798

799-
if (bodyTracker == null && chestTracker != null)
799+
// 胸だけでも良い感じに動くことが分かったので、オプション対応に変更
800+
if (Settings.Current.TrackerReassignmentWhenChestAvailable && bodyTracker == null && chestTracker != null)
800801
{
801802
Debug.LogWarning("*No waist tracker. Reassign chest tracker to waist.");
802803
bodyTracker = chestTracker;

Assets/Scripts/ControlWPFWindow.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,18 @@ await server.SendCommandAsync(new PipeCommands.SetLaunchSteamVROnStartup
752752
Enable = CommonSettings.Current.LaunchSteamVROnStartup,
753753
}, e.RequestId);
754754
}
755+
else if (e.CommandType == typeof(PipeCommands.EnableTrackerReassignmentWhenChestAvailable))
756+
{
757+
var d = (PipeCommands.EnableTrackerReassignmentWhenChestAvailable)e.Data;
758+
Settings.Current.TrackerReassignmentWhenChestAvailable = d.TrackerReassignmentWhenChestAvailable;
759+
}
760+
else if (e.CommandType == typeof(PipeCommands.GetTrackerReassignmentWhenChestAvailable))
761+
{
762+
await server.SendCommandAsync(new PipeCommands.EnableTrackerReassignmentWhenChestAvailable
763+
{
764+
TrackerReassignmentWhenChestAvailable = Settings.Current.TrackerReassignmentWhenChestAvailable
765+
}, e.RequestId);
766+
}
755767
else if (e.CommandType == typeof(PipeCommands.GetQualitySettings))
756768
{
757769
await server.SendCommandAsync(new PipeCommands.SetQualitySettings

Assets/Scripts/Setting/Settings.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,9 @@ public class Settings
561561
[OptionalField]
562562
public bool HandleControllerAsTracker;
563563

564+
[OptionalField]
565+
public bool TrackerReassignmentWhenChestAvailable;
566+
564567
[OptionalField]
565568
public int AntiAliasing;
566569

@@ -797,6 +800,8 @@ internal void OnDeserializingMethod(StreamingContext context)
797800

798801
HandleControllerAsTracker = false;
799802

803+
TrackerReassignmentWhenChestAvailable = false;
804+
800805
AntiAliasing = 2;
801806

802807
VirtualMotionTrackerEnable = false;

ControlWindowWPF/ControlWindowWPF/Resources/Chinese.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,8 @@
273273
<system:String x:Key="SettingWindow_QualitySettings">画质设置</system:String>
274274
<system:String x:Key="SettingWindow_AntiAliasing">抗锯齿</system:String>
275275
<system:String x:Key="SettingWindow_SendingIsOnlyFANBOX">VMC Mod/发送动作功能仅在 pixivFANBOX 以及 Patreon 版本下可使用。</system:String>
276+
<system:String x:Key="SettingWindow_TrackerReassignmentWhenChestAvailable">腰部追踪器缺失时如有胸部追踪器则重新分配</system:String>
277+
276278
<system:String x:Key="SettingWindow_VirtualMotionTracker">虚拟追踪器(VMT)</system:String>
277279
<system:String x:Key="SettingWindow_VirtualMotionTrackerEnable">开启</system:String>
278280
<system:String x:Key="SettingWindow_VirtualMotionTrackerInstallSuccess">安装成功!重启 SteamVR 和 VirtualMotionCapture。点击 OK 并等待重启。</system:String>

ControlWindowWPF/ControlWindowWPF/Resources/English.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@
282282
<system:String x:Key="SettingWindow_ReceiveBonesEnable">Receive hand bone</system:String>
283283
<system:String x:Key="SettingWindow_VMCMod">VMC Mod (No warranty/no support)</system:String>
284284
<system:String x:Key="SettingWindow_VMCModSetting">Loaded MOD List</system:String>
285+
<system:String x:Key="SettingWindow_TrackerReassignmentWhenChestAvailable">Use chest tracker if no pelvis</system:String>
285286

286287
<!-- CalibrationSettingWindow -->
287288
<system:String x:Key="CalibrationSettingWindow_BodyHeight">Body Height</system:String>

ControlWindowWPF/ControlWindowWPF/Resources/Japanese.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@
272272
<system:String x:Key="SettingWindow_LaunchSteamVROnStartup">起動時にSteamVRを自動起動する</system:String>
273273
<system:String x:Key="SettingWindow_QualitySettings">描画品質</system:String>
274274
<system:String x:Key="SettingWindow_AntiAliasing">アンチエイリアス</system:String>
275+
<system:String x:Key="SettingWindow_TrackerReassignmentWhenChestAvailable">腰トラッカー無しで胸がある場合再割り当て</system:String>
275276
<system:String x:Key="SettingWindow_SendingIsOnlyFANBOX">モーション送信機能 / VMC ModはpixivFANBOX,Patreon先行配信版限定機能です</system:String>
276277
<system:String x:Key="SettingWindow_VirtualMotionTracker">Virtual Motion Tracker (VMT)</system:String>
277278
<system:String x:Key="SettingWindow_VirtualMotionTrackerEnable">有効</system:String>

ControlWindowWPF/ControlWindowWPF/Resources/Korean.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@
271271
<system:String x:Key="SettingWindow_PauseTracking">Pause Tracking</system:String>
272272
<system:String x:Key="SettingWindow_HandleControllerAsTracker">Handle Controller as Tracker</system:String>
273273
<system:String x:Key="SettingWindow_LaunchSteamVROnStartup">시작 시 SteamVR 실행</system:String>
274+
<system:String x:Key="SettingWindow_TrackerReassignmentWhenChestAvailable">허리 트래커 없을 때 가슴 트래커 있으면 재할당</system:String>
274275
<system:String x:Key="SettingWindow_QualitySettings">Quality Settings</system:String>
275276
<system:String x:Key="SettingWindow_AntiAliasing">AntiAliasing</system:String>
276277
<system:String x:Key="SettingWindow_SendingIsOnlyFANBOX">Sending motion / VMC Mod is only available for pixivFANBOX and Patreon versions.</system:String>

ControlWindowWPF/ControlWindowWPF/SettingWindow.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
<CheckBox Content="{DynamicResource SettingWindow_HandleControllerAsTracker}" Name="HandleControllerAsTrackerCheckBox" Checked="HandleControllerAsTrackerCheckBox_Changed" Unchecked="HandleControllerAsTrackerCheckBox_Changed" />
4848
<CheckBox Content="{DynamicResource SettingWindow_PauseTracking}" Name="PauseTrackingCheckBox" Checked="PauseTrackingCheckBox_Checked" Unchecked="PauseTrackingCheckBox_Unchecked" />
4949
<CheckBox Content="{DynamicResource SettingWindow_LaunchSteamVROnStartup}" Name="LaunchSteamVROnStartupCheckBox" Checked="LaunchSteamVROnStartupCheckBox_Changed" Unchecked="LaunchSteamVROnStartupCheckBox_Changed" />
50+
<CheckBox Content="{DynamicResource SettingWindow_TrackerReassignmentWhenChestAvailable}" Name="TrackerReassignmentWhenChestAvailableCheckBox" Checked="TrackerReassignmentWhenChestAvailableCheckBox_Changed" Unchecked="TrackerReassignmentWhenChestAvailableCheckBox_Changed" />
5051
</StackPanel>
5152
</GroupBox>
5253
<GroupBox Header="{DynamicResource SettingWindow_QualitySettings}">

ControlWindowWPF/ControlWindowWPF/SettingWindow.xaml.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,6 +371,16 @@ private async void Window_Loaded(object sender, RoutedEventArgs e)
371371
isSetting = false;
372372
});
373373
});
374+
await Globals.Client?.SendCommandWaitAsync(new PipeCommands.GetTrackerReassignmentWhenChestAvailable { }, d =>
375+
{
376+
var data = (PipeCommands.EnableTrackerReassignmentWhenChestAvailable)d;
377+
Dispatcher.Invoke(() =>
378+
{
379+
isSetting = true;
380+
TrackerReassignmentWhenChestAvailableCheckBox.IsChecked = data.TrackerReassignmentWhenChestAvailable;
381+
isSetting = false;
382+
});
383+
});
374384
await Globals.Client?.SendCommandWaitAsync(new PipeCommands.GetStatusString { }, d =>
375385
{
376386
var data = (PipeCommands.SetStatusString)d;
@@ -785,6 +795,15 @@ private async void LaunchSteamVROnStartupCheckBox_Changed(object sender, RoutedE
785795
});
786796
}
787797

798+
private async void TrackerReassignmentWhenChestAvailableCheckBox_Changed(object sender, RoutedEventArgs e)
799+
{
800+
if (isSetting) return;
801+
await Globals.Client?.SendCommandAsync(new PipeCommands.EnableTrackerReassignmentWhenChestAvailable
802+
{
803+
TrackerReassignmentWhenChestAvailable = TrackerReassignmentWhenChestAvailableCheckBox.IsChecked.Value,
804+
});
805+
}
806+
788807
private void AntiAliasingComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
789808
{
790809
if (AntiAliasingComboBox.SelectedItem == null) return;

UnityMemoryMappedFile/PipeCommands.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -599,6 +599,12 @@ public class EnableHandleControllerAsTracker
599599
public bool HandleControllerAsTracker { get; set; }
600600
}
601601

602+
public class GetTrackerReassignmentWhenChestAvailable { }
603+
public class EnableTrackerReassignmentWhenChestAvailable
604+
{
605+
public bool TrackerReassignmentWhenChestAvailable { get; set; }
606+
}
607+
602608
public class GetLaunchSteamVROnStartup { }
603609
public class SetLaunchSteamVROnStartup
604610
{

0 commit comments

Comments
 (0)