示例#1
0
        public static InteractorHandler GetFirstInteractor(ProxyHandModel proxyHand)
        {
            for (int i = 0; i < proxyHand.relatedHandlers.Count; i++)
            {
                if (proxyHand.relatedHandlers[i] is InteractorHandler)
                {
                    // Return the first Interactor found
                    return(proxyHand.relatedHandlers[i] as InteractorHandler);
                }
            }

            return(null);
        }
示例#2
0
        public static void SetHandPhysics(ProxyHandModel phModel, bool enabled)
        {
            SlaveBoneModel wristBone = phModel.slave.wrist as SlaveBoneModel;

            SetBonePhysics(wristBone, enabled);

            for (int f = 0; f < phModel.slave.fingers.Length; f++)
            {
                for (int b = 0; b < phModel.slave.fingers[f].bones.Length; b++)
                {
                    SlaveBoneModel slaveBone = phModel.slave.fingers[f].bones[b] as SlaveBoneModel;
                    SetBonePhysics(slaveBone, enabled);
                }
            }
        }
示例#3
0
    void SetupProxyHandModule()
    {
        // CustomHand > [Modules] > ProxyHandModule
        GameObject proxyHandModule = Instantiate(proxyHandModulePrefab, modules.transform.position, modules.transform.rotation);

        proxyHandModule.transform.parent = modules.transform;
        proxyHandModule.transform.name   = "ProxyHandModule." + handType.ToString();

        phModel = proxyHandModule.GetComponentInChildren <ProxyHandModel>();

        // CustomHand > [Modules] > ProxyHandModule > ProxyHandModel > Master
        GameObject masterHandModelObj = BasicHelpers.InstantiateEmptyChild(phModel.gameObject);

        masterHandModelObj.name = "Master." + handType.ToString();
        masterHandModel         = masterHandModelObj.AddComponent <MasterHandModel>();

        // CustomHand > [Modules] > ProxyHandModule > ProxyHandModel > Slave
        GameObject slaveHandModelObj = BasicHelpers.InstantiateEmptyChild(phModel.gameObject);

        slaveHandModelObj.name = "Slave." + handType.ToString();
        slaveHandModel         = slaveHandModelObj.AddComponent <SlaveHandModel>();

        // CustomHand > [Modules] > ProxyHandModule > ProxyHandModel > Ghost
        GameObject ghostHandModelObj = BasicHelpers.InstantiateEmptyChild(phModel.gameObject);

        ghostHandModelObj.name = "Ghost." + handType.ToString();
        ghostHandModel         = ghostHandModelObj.AddComponent <HandModel>();

        // Make HandModels accessible from ProxyHandModel
        phModel.master = masterHandModel;
        phModel.slave  = slaveHandModel;
        phModel.ghost  = ghostHandModel;

        // Make ProxyHandModel accessible from HandModel
        masterHandModel.proxyHand = phModel;
        slaveHandModel.proxyHand  = phModel;
        ghostHandModel.proxyHand  = phModel;
    }
示例#4
0
 public ProxyHandViewModel(ProxyHandModel model)
 {
     this.model = model;
 }