From 5e6e2bd11c60b88b69ed7f531dae857e930fee63 Mon Sep 17 00:00:00 2001 From: "James B. Pollack" Date: Mon, 28 Dec 2015 13:06:43 -0800 Subject: [PATCH] work --- .../example/avatarcontrol/doppelganger.js | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/examples/example/avatarcontrol/doppelganger.js b/examples/example/avatarcontrol/doppelganger.js index 6fb7026ea1..11b29cbb2a 100644 --- a/examples/example/avatarcontrol/doppelganger.js +++ b/examples/example/avatarcontrol/doppelganger.js @@ -1,4 +1,4 @@ -var TEST_MODEL_URL = ''; +var TEST_MODEL_URL = 'http://hifi-content.s3.amazonaws.com/james/avatars/Jack_Skellington/Jack_Skellington.fbx'; var doppelgangers = []; @@ -7,7 +7,7 @@ function Doppelganger(avatar) { name: 'Hifi-Doppelganger', type: 'Model', modelURL: TEST_MODEL_URL, - dimensions: getAvatarDimensions(avatar), + // dimensions: getAvatarDimensions(avatar), position: putDoppelgangerAcrossFromAvatar(this, avatar), rotation: rotateDoppelgangerTowardAvatar(this, avatar), }; @@ -17,8 +17,17 @@ function Doppelganger(avatar) { return this; } -function getJointData() { - return jointData; +function getJointData(avatar) { + var allJointData; + var jointNames = MyAvatar.jointNames; + + jointNames.forEach(function(joint) { + print('getting info for joint:' + joint); + var jointData = MyAvatar.getJointPosition(joint); + print('joint data:'+JSON.stringify(jointData)); + }); + + return allJointData; } function setJointData(doppelganger, jointData) { @@ -34,11 +43,13 @@ function createDoppelganger(avatar) { } function createDoppelgangerEntity(doppelganger) { - return Entities.addEntitiy(doppelganger.initialProperties); + return Entities.addEntity(doppelganger.initialProperties); } function putDoppelgangerAcrossFromAvatar(doppelganger, avatar) { - return position; + var avatarRot = Quat.fromPitchYawRollDegrees(0, avatar.bodyYaw, 0.0); + var basePosition = Vec3.sum(avatar.position, Vec3.multiply(1.5, Quat.getFront(avatarRot))); + return basePosition; } function getAvatarDimensions(avatar) { @@ -46,7 +57,9 @@ function getAvatarDimensions(avatar) { } function rotateDoppelgangerTowardAvatar(doppelganger, avatar) { - return rotation; + var avatarRot = Quat.fromPitchYawRollDegrees(0, avatar.bodyYaw, 0.0); + avatarRot = Vec3.multiply(-1,avatarRot); + return avatarRot; } function connectDoppelgangerUpdates() { @@ -59,7 +72,7 @@ function disconnectDoppelgangerUpdates() { function updateDoppelganger() { doppelgangers.forEach(function(doppelganger) { - var joints = getJointData(doppelganger.avatar.id); + var joints = getJointData(MyAvatar); var mirroredJoints = mirrorJointData(joints); setJointData(doppelganger, mirroredJoints); }); @@ -69,9 +82,12 @@ function updateDoppelganger() { function makeDoppelgangerForMyAvatar() { var doppelganger = createDoppelganger(MyAvatar); doppelgangers.push(doppelganger); - connectDoppelgangerUpdates(); + // connectDoppelgangerUpdates(); } + +makeDoppelgangerForMyAvatar(); + function cleanup() { disconnectDoppelgangerUpdates(); @@ -81,4 +97,9 @@ function cleanup() { } -Script.scriptEnding.connect(cleanup); \ No newline at end of file +Script.scriptEnding.connect(cleanup); + +// APPEND_ENTITY_PROPERTY(PROP_JOINT_ROTATIONS_SET, getJointRotationsSet()); +// APPEND_ENTITY_PROPERTY(PROP_JOINT_ROTATIONS, getJointRotations()); +// APPEND_ENTITY_PROPERTY(PROP_JOINT_TRANSLATIONS_SET, getJointTranslationsSet()); +// APPEND_ENTITY_PROPERTY(PROP_JOINT_TRANSLATIONS, getJointTranslations()); \ No newline at end of file