From 6f2f80e334dd84e35ce97bbd8cfaea94c3f077a4 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Wed, 29 Mar 2017 14:06:11 -0700 Subject: [PATCH 1/4] make sure kinect plugin debugging setting is actually saved and loaded --- plugins/hifiKinect/src/KinectPlugin.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/hifiKinect/src/KinectPlugin.cpp b/plugins/hifiKinect/src/KinectPlugin.cpp index 8313ea0d49..72c7926ec1 100644 --- a/plugins/hifiKinect/src/KinectPlugin.cpp +++ b/plugins/hifiKinect/src/KinectPlugin.cpp @@ -228,7 +228,8 @@ void KinectPlugin::init() { { auto getter = [this]()->bool { return _enabled; }; auto setter = [this](bool value) { - _enabled = value; saveSettings(); + _enabled = value; + saveSettings(); if (!_enabled) { auto userInputMapper = DependencyManager::get(); userInputMapper->withLock([&, this]() { @@ -240,9 +241,10 @@ void KinectPlugin::init() { preferences->addPreference(preference); } { - auto debugGetter = [this]()->bool { return _enabled; }; + auto debugGetter = [this]()->bool { return _debug; }; auto debugSetter = [this](bool value) { - _debug = value; saveSettings(); + _debug = value; + saveSettings(); }; auto preference = new CheckPreference(KINECT_PLUGIN, "Extra Debugging", debugGetter, debugSetter); preferences->addPreference(preference); @@ -573,8 +575,8 @@ void KinectPlugin::loadSettings() { QString idString = getID(); settings.beginGroup(idString); { - // enabled _enabled = settings.value("enabled", QVariant(DEFAULT_ENABLED)).toBool(); + _debug = settings.value("extraDebug", QVariant(DEFAULT_ENABLED)).toBool(); } settings.endGroup(); } From 4ed5219b57cec3076d48c922cc01c48eb31161af Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Wed, 29 Mar 2017 14:36:27 -0700 Subject: [PATCH 2/4] add a sample script to drive feet --- .../controllers/kinectToAnimation.js | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 script-archive/controllers/kinectToAnimation.js diff --git a/script-archive/controllers/kinectToAnimation.js b/script-archive/controllers/kinectToAnimation.js new file mode 100644 index 0000000000..0451acccc9 --- /dev/null +++ b/script-archive/controllers/kinectToAnimation.js @@ -0,0 +1,59 @@ +var handlerId = 0; + +var ikTypes = { + RotationAndPosition: 0, + RotationOnly: 1, + HmdHead: 2, + HipsRelativeRotationAndPosition: 3, + Off: 4 +}; + +var MAPPING_NAME = "com.highfidelity.examples.kinectToAnimation"; +var mapping = Controller.newMapping(MAPPING_NAME); + +var recentLeftHand; +var recentRightHand; +var recentLeftFoot; +var recentRightFoot; + +mapping.from(Controller.Hardware.Kinect.LeftHand).debug(true).to(function(pose) { recentLeftHand = pose; }); +mapping.from(Controller.Hardware.Kinect.RightHand).debug(true).to(function(pose) { recentRightHand = pose; }); +mapping.from(Controller.Hardware.Kinect.LeftFoot).debug(true).to(function(pose) { recentLeftFoot = pose; }); +mapping.from(Controller.Hardware.Kinect.RightFoot).debug(true).to(function(pose) { recentRightFoot = pose; }); + +function init() { + var t = 0; + var propList = [ + "leftHandType", "leftHandPosition", "leftHandRotation", "rightHandType", "rightHandPosition", "rightHandPosition", + "leftFootType", "leftFootPosition", "leftFootRotation", "rightFootType", "rightFootPosition", "rightFootPosition" + ]; + handlerId = MyAvatar.addAnimationStateHandler(function (props) { + return { + rightHandType: ikTypes["HipsRelativeRotationAndPosition"], + rightHandPosition: recentRightHand.translation, + rightHandRotation: recentRightHand.rotation, + leftHandType: ikTypes["HipsRelativeRotationAndPosition"], + leftHandPosition: recentLeftHand.translation, + leftHandRotation: recentLeftHand.rotation, + + rightFootType: ikTypes["HipsRelativeRotationAndPosition"], + rightFootPosition: recentRightFoot.translation, + rightFootRotation: recentRightFoot.rotation, + leftFootType: ikTypes["HipsRelativeRotationAndPosition"], + leftFootPosition: recentLeftFoot.translation, + leftFootRotation: recentLeftFoot.rotation, + + }; + }, propList); + + Controller.enableMapping(MAPPING_NAME); +} + +init(); +Script.scriptEnding.connect(function(){ + MyAvatar.removeAnimationStateHandler(handlerId); + mapping.disable(); +}); + + + From a4d1db1aeb218f4daafb23cd121a35c0161d205d Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Wed, 29 Mar 2017 14:40:47 -0700 Subject: [PATCH 3/4] tweak --- script-archive/controllers/kinectToAnimation.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/script-archive/controllers/kinectToAnimation.js b/script-archive/controllers/kinectToAnimation.js index 0451acccc9..84e5da866c 100644 --- a/script-archive/controllers/kinectToAnimation.js +++ b/script-archive/controllers/kinectToAnimation.js @@ -29,17 +29,18 @@ function init() { ]; handlerId = MyAvatar.addAnimationStateHandler(function (props) { return { - rightHandType: ikTypes["HipsRelativeRotationAndPosition"], + + rightHandType: ikTypes["RotationAndPosition"], rightHandPosition: recentRightHand.translation, rightHandRotation: recentRightHand.rotation, - leftHandType: ikTypes["HipsRelativeRotationAndPosition"], + leftHandType: ikTypes["RotationAndPosition"], leftHandPosition: recentLeftHand.translation, leftHandRotation: recentLeftHand.rotation, - rightFootType: ikTypes["HipsRelativeRotationAndPosition"], + rightFootType: ikTypes["RotationAndPosition"], rightFootPosition: recentRightFoot.translation, rightFootRotation: recentRightFoot.rotation, - leftFootType: ikTypes["HipsRelativeRotationAndPosition"], + leftFootType: ikTypes["RotationAndPosition"], leftFootPosition: recentLeftFoot.translation, leftFootRotation: recentLeftFoot.rotation, From 047a3b8d71759489621fe9a7dd97f7084b6510fb Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Wed, 29 Mar 2017 14:51:42 -0700 Subject: [PATCH 4/4] add debugging --- script-archive/controllers/kinectToAnimation.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/script-archive/controllers/kinectToAnimation.js b/script-archive/controllers/kinectToAnimation.js index 84e5da866c..3965b4e4bb 100644 --- a/script-archive/controllers/kinectToAnimation.js +++ b/script-archive/controllers/kinectToAnimation.js @@ -24,10 +24,16 @@ mapping.from(Controller.Hardware.Kinect.RightFoot).debug(true).to(function(pose) function init() { var t = 0; var propList = [ - "leftHandType", "leftHandPosition", "leftHandRotation", "rightHandType", "rightHandPosition", "rightHandPosition", - "leftFootType", "leftFootPosition", "leftFootRotation", "rightFootType", "rightFootPosition", "rightFootPosition" + "leftHandType", "leftHandPosition", "leftHandRotation", "rightHandType", "rightHandPosition", "rightHandRotation", + "leftFootType", "leftFootPosition", "leftFootRotation", "rightFootType", "rightFootPosition", "rightFootRotation" ]; handlerId = MyAvatar.addAnimationStateHandler(function (props) { + + Vec3.print("recentRightHand.translation:", recentRightHand.translation); + Vec3.print("recentLeftHand.translation:", recentLeftHand.translation); + Vec3.print("recentRightFoot.translation:", recentRightFoot.translation); + Vec3.print("recentLeftFoot.translation:", recentLeftFoot.translation); + return { rightHandType: ikTypes["RotationAndPosition"],