🐛[bugfix] Model : 起動処理/終了処理を修正 未起動でのパラメータ変更時のエラーを修正
This commit is contained in:
@@ -177,26 +177,26 @@ class Overlay:
|
|||||||
self.settings[size]["z_rotation"] = z_rotation
|
self.settings[size]["z_rotation"] = z_rotation
|
||||||
self.settings[size]["tracker"] = tracker
|
self.settings[size]["tracker"] = tracker
|
||||||
|
|
||||||
match tracker:
|
|
||||||
case "HMD":
|
|
||||||
base_matrix = getHMDBaseMatrix()
|
|
||||||
trackerIndex = openvr.k_unTrackedDeviceIndex_Hmd
|
|
||||||
case "LeftHand":
|
|
||||||
base_matrix = getLeftHandBaseMatrix()
|
|
||||||
trackerIndex = self.overlay_system.getTrackedDeviceIndexForControllerRole(openvr.TrackedControllerRole_LeftHand)
|
|
||||||
case "RightHand":
|
|
||||||
base_matrix = getRightHandBaseMatrix()
|
|
||||||
trackerIndex = self.overlay_system.getTrackedDeviceIndexForControllerRole(openvr.TrackedControllerRole_RightHand)
|
|
||||||
case _:
|
|
||||||
base_matrix = getHMDBaseMatrix()
|
|
||||||
trackerIndex = openvr.k_unTrackedDeviceIndex_Hmd
|
|
||||||
|
|
||||||
translation = (self.settings[size]["x_pos"], self.settings[size]["y_pos"], - self.settings[size]["z_pos"])
|
|
||||||
rotation = (self.settings[size]["x_rotation"], self.settings[size]["y_rotation"], self.settings[size]["z_rotation"])
|
|
||||||
transform = utils.transform_matrix(base_matrix, translation, rotation)
|
|
||||||
transform = mat34Id(transform)
|
|
||||||
|
|
||||||
if self.initialized is True:
|
if self.initialized is True:
|
||||||
|
match tracker:
|
||||||
|
case "HMD":
|
||||||
|
base_matrix = getHMDBaseMatrix()
|
||||||
|
trackerIndex = openvr.k_unTrackedDeviceIndex_Hmd
|
||||||
|
case "LeftHand":
|
||||||
|
base_matrix = getLeftHandBaseMatrix()
|
||||||
|
trackerIndex = self.overlay_system.getTrackedDeviceIndexForControllerRole(openvr.TrackedControllerRole_LeftHand)
|
||||||
|
case "RightHand":
|
||||||
|
base_matrix = getRightHandBaseMatrix()
|
||||||
|
trackerIndex = self.overlay_system.getTrackedDeviceIndexForControllerRole(openvr.TrackedControllerRole_RightHand)
|
||||||
|
case _:
|
||||||
|
base_matrix = getHMDBaseMatrix()
|
||||||
|
trackerIndex = openvr.k_unTrackedDeviceIndex_Hmd
|
||||||
|
|
||||||
|
translation = (self.settings[size]["x_pos"], self.settings[size]["y_pos"], - self.settings[size]["z_pos"])
|
||||||
|
rotation = (self.settings[size]["x_rotation"], self.settings[size]["y_rotation"], self.settings[size]["z_rotation"])
|
||||||
|
transform = utils.transform_matrix(base_matrix, translation, rotation)
|
||||||
|
transform = mat34Id(transform)
|
||||||
|
|
||||||
self.overlay.setOverlayTransformTrackedDeviceRelative(
|
self.overlay.setOverlayTransformTrackedDeviceRelative(
|
||||||
self.handle[size],
|
self.handle[size],
|
||||||
trackerIndex,
|
trackerIndex,
|
||||||
@@ -261,19 +261,20 @@ class Overlay:
|
|||||||
self.thread_overlay.start()
|
self.thread_overlay.start()
|
||||||
|
|
||||||
def shutdownOverlay(self):
|
def shutdownOverlay(self):
|
||||||
if isinstance(self.thread_overlay, Thread):
|
if self.initialized is True and self.init_process is False:
|
||||||
self.loop = False
|
if isinstance(self.thread_overlay, Thread):
|
||||||
self.thread_overlay.join()
|
self.loop = False
|
||||||
self.thread_overlay = None
|
self.thread_overlay.join()
|
||||||
if isinstance(self.overlay, openvr.IVROverlay):
|
self.thread_overlay = None
|
||||||
for size in self.settings.keys():
|
if isinstance(self.overlay, openvr.IVROverlay):
|
||||||
if isinstance(self.handle[size], int):
|
for size in self.settings.keys():
|
||||||
self.overlay.destroyOverlay(self.handle[size])
|
if isinstance(self.handle[size], int):
|
||||||
self.overlay = None
|
self.overlay.destroyOverlay(self.handle[size])
|
||||||
if isinstance(self.system, openvr.IVRSystem):
|
self.overlay = None
|
||||||
openvr.shutdown()
|
if isinstance(self.system, openvr.IVRSystem):
|
||||||
self.system = None
|
openvr.shutdown()
|
||||||
self.initialized = False
|
self.system = None
|
||||||
|
self.initialized = False
|
||||||
|
|
||||||
def reStartOverlay(self):
|
def reStartOverlay(self):
|
||||||
self.shutdownOverlay()
|
self.shutdownOverlay()
|
||||||
|
|||||||
Reference in New Issue
Block a user