I don't think there is a straightforward way to do that when using the Interaction Engine, certainly no way as easy as setting a scaling value. It is actually the rigged hands that are wrong here, if you scale the hand models by the same amount, they will then line up with the colliders. I can tell you how to scale movement of the graphics hands without scaling the size, but the Interaction Engine is quite a bit more complicated since it is dealing with essentially two physics engines and what you are asking for isn't one of the Interaction Engine's features. There may be a way to hack the interaction engine scripts, but I'm afraid that is something you will have to work out on your own.
For what it is worth, adding extra motion to graphics hands and rigid hands can be done with something like the following script -- which essentially moves the hand object by an extra amount based on its distance from the Leap Motion device. For fun, it uses an animation curve to adjust how much extra movement is added based on how far the hand is from the controller.
using UnityEngine;
using Leap;
using Leap.Unity;
using Leap.Unity.Attributes;
public class HandMovementScaler : MonoBehaviour {
public IHandModel parentModel;
[AutoFind]
public LeapHandController LeapController;
public AnimationCurve ScaleFunction = new AnimationCurve(new Keyframe(0, 0), new Keyframe(0, .25f), new Keyframe(1, 1));
public bool UpdateGraphics = true;
public bool UpdatePhysics = false;
void Start () {
parentModel = this.GetComponent<IHandModel>();
}
// Update is called once per frame
void Update () {
if(UpdateGraphics) AdjustMovement();
}
void FixedUpdate() {
if (UpdatePhysics) AdjustMovement();
}
void AdjustMovement() {
if (parentModel != null && LeapController != null) {
Hand hand = parentModel.GetLeapHand();
if (hand != null) {
Vector3 currentPosition = this.transform.position;
float distance = hand.PalmPosition.DistanceTo(LeapController.gameObject.transform.position.ToVector());
currentPosition += hand.PalmPosition.ToVector3() * ScaleFunction.Evaluate(distance);
this.transform.position = currentPosition;
}
}
}
}
But as I said above, this technique won't work for the Interaction Engine hands.