/*! * Adds an object to the collider list for the UI items. * Whenever this object enters the bounds of a UI item, * the ENTER event will be raised. */ public void AddCollider(Model collider) { try { Trigger trigger = (Trigger)Root.First(); while (trigger != null) { trigger.AddCollider(collider); trigger = trigger.Next() as Trigger; } } catch (Exception) { }; }
protected override Skeleton ConnectAvatar(SharedWorld world, Scene scene) { Skeleton skeleton = base.ConnectAvatar(world, scene); dynamic anims = null; if (config != null) { anims = config.animation; } if (frontAnimTrigger != null) { frontAnimTrigger.AddCollider(currentAvatar.Head); } if (masterKinect == null) { return(skeleton); } try { Box3 bodysize = new Box3(); Camera cam = scene.Camera; poseMapper = masterKinect.PoseMapper; if (poseMapper != null) { Skeleton source = poseMapper.Source; string havokrig = "Proxy_Waist"; string rig = "genesis"; if ((config != null) && (config.havokrig != null)) { havokrig = config.havokrig; } if ((config != null) && (config.rig != null)) { rig = config.rig; } poseMapper.Target = skeleton; if (!skeleton.GetBoneName(0).Contains(havokrig)) { poseMapper.SelectBoneMap(rig); } else { poseMapper.SelectBoneMap("default"); } if (source != null) { Vec3 waistpos = source.Pose.GetWorldPosition(0); poseMapper.MapWorldToSource(); poseMapper.Source.BindPose = source.Pose; masterKinect.WaistOffset = waistpos; } else { SharedWorld.LogError("MagicMirror: PoseMapper does not have source skeleton"); } } masterKinect.Active = true; } catch (Exception ex) { SharedWorld.LogError("MagicMirror: problem connecting Kinect " + ex.Message); } return(skeleton); }