protected override void Awake()
    {
        base.Awake();

        unityBoneParent = "ChrRachel/CharacterRoot/JtRoot";
        assetPaths.Add(new KeyValuePair <string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/sk"));
        assetPaths.Add(new KeyValuePair <string, string>("ChrRachel.sk", "Art/Characters/SB/ChrRachel/face"));
        assetPaths.Add(new KeyValuePair <string, string>("ChrRachel.sk", "Art/Characters/SB/ChrRachel/locomotion"));
        assetPaths.Add(new KeyValuePair <string, string>("ChrRachel.sk", "Art/Characters/SB/ChrRachel/motion"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/motion-converted"));
        skeletonName       = "ChrRachel.sk";
        loadSkeletonFromSk = false;
        voiceType          = "remote_audiofile";
        voiceCode          = VHUtils.GetExternalAssetsPath() + "Sounds";
        voiceTypeBackup    = "remote";
        voiceCodeBackup    = "Festival_voice_rab_diphone";
        usePhoneBigram     = false;
        startingPosture    = "ChrRachel@Idle02";

        locomotionInitPythonSkeletonName = "ChrBrad.sk";
        locomotionInitPythonFile         = "locomotion-ChrBrad-init.py";
        locomotionSteerPrefix            = "ChrMarine";


        PostLoadEvent += delegate(UnitySmartbodyCharacter character)
        {
            SmartbodyManager.Get().PythonCommand(string.Format(@"bml.execBML('{0}', '<gaze target=""Camera"" sbm:joint-range=""HEAD EYES""/>')", character.SBMCharacterName));
            //SmartbodyManager.Get().PythonCommand(string.Format(@"bml.execBML('{0}', '<saccade mode=""talk""/>')", character.SBMCharacterName));
            SmartbodyManager.Get().PythonCommand(string.Format(@"bml.execBML('{0}', '<animation name=""ChrRachel@Idle02""/>')", character.SBMCharacterName));
        };
    }
    protected override void Awake()
    {
        base.Awake();

        unityBoneParent = "ChrMaarten/CharacterRoot/JtRoot";
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/sk"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/face"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/locomotion"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/motion"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/motion-converted"));
        skeletonName       = "ChrMaarten.sk";
        loadSkeletonFromSk = false;
        voiceType          = "remote_audiofile";
        voiceCode          = VHUtils.GetExternalAssetsPath() + "Sounds";
        voiceTypeBackup    = "remote";
        voiceCodeBackup    = "Festival_voice_rab_diphone";
        usePhoneBigram     = false;
        startingPosture    = "ChrBrad@Idle01";



        PostLoadEvent += delegate(UnitySmartbodyCharacter character)
        {
            SmartbodyManager.Get().PythonCommand(string.Format(@"bml.execBML('{0}', '<gaze target=""ReachSphere8"" sbm:joint-range=""HEAD NECK EYES""/>')", character.SBMCharacterName));
            SmartbodyManager.Get().PythonCommand(string.Format(@"bml.execBML('{0}', '<saccade mode=""talk""/>')", character.SBMCharacterName));
            //SmartbodyManager.Get().PythonCommand(string.Format(@"scene.getCharacter('{0}').setStringAttribute('saccadePolicy', 'alwayson')", character.SBMCharacterName));
            //SmartbodyManager.Get().PythonCommand(string.Format(@"scene.getCharacter('{0}').setBoolAttribute('bmlRequestUsesPolling', False)", character.SBMCharacterName));
        };
    }
 void Start()
 {
     if (VHUtils.IsAndroid() || VHUtils.IsIOS())
     {
         m_debugMenuButtonH = 70;
     }
     else
     {
         m_debugMenuButtonH = 20;
     }
 }
Esempio n. 4
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            VHUtils.ApplicationQuit();
        }

        if (Input.GetKeyDown(KeyCode.Z))
        {
            GameObject.FindObjectOfType <DebugInfo>().NextMode();
        }
    }
Esempio n. 5
0
    void VHMsg_MessageEvent(object sender, VHMsgBase.Message message)
    {
        string [] splitargs = message.s.Split(" ".ToCharArray());

        if (splitargs.Length > 0)
        {
            if (splitargs[0] == "vrAllCall")
            {
                VHMsgBase.Get().SendVHMsg("vrComponent vhmsgemulator");
            }
            else if (splitargs[0] == "vrKillComponent")
            {
                if (splitargs.Length > 1)
                {
                    if (splitargs[1] == "vhmsgemulator" || splitargs[1] == "all")
                    {
                        VHUtils.ApplicationQuit();
                    }
                }
            }
        }
    }
Esempio n. 6
0
    public override void Start()
    {
        base.Start();

        if (VHUtils.HasCommandLineArgument("startserver"))
        {
            Network.InitializeServer(m_MaxConnections, m_ListenPort, m_UseNat);
        }

        string fps = VHUtils.GetCommandLineArgumentValue("fps");

        if (!string.IsNullOrEmpty(fps))
        {
            Application.targetFrameRate = Convert.ToInt32(fps);
        }
        else
        {
            Application.targetFrameRate = 30;
        }

        VHMsgBase.Get().AddMessageEventHandler(VHMsg_MessageEvent);
        VHMsgBase.Get().SubscribeMessage("vrAllCall");
        VHMsgBase.Get().SubscribeMessage("vrKillComponent");
    }
Esempio n. 7
0
    protected override void Awake()
    {
        base.Awake();

        unityBoneParent = "ChrBrad/CharacterRoot/JtRoot";
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/sk"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/face"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/locomotion"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/motion"));
        //assetPaths.Add(new KeyValuePair<string, string>("ChrBrad.sk", "Art/Characters/SB/ChrBrad/motion-converted"));
        skeletonName       = "ChrBrad.sk";
        loadSkeletonFromSk = false;
        voiceType          = "remote_audiofile";
        voiceCode          = VHUtils.GetExternalAssetsPath() + "Sounds";
        voiceTypeBackup    = "remote";
        voiceCodeBackup    = "Festival_voice_rab_diphone";
        usePhoneBigram     = false;
        startingPosture    = "ChrBrad@Idle02";

        locomotionInitPythonSkeletonName = "ChrBrad.sk";
        locomotionInitPythonFile         = "locomotion-ChrBrad-init.py";
        locomotionSteerPrefix            = "ChrMarine";


        PostLoadEvent += delegate(UnitySmartbodyCharacter character)
        {
            SmartbodyManager.Get().PythonCommand(string.Format(@"bml.execBML('{0}', '<gaze target=""Camera"" sbm:joint-range=""NECK EYES""/>')", character.SBMCharacterName));
            SmartbodyManager.Get().PythonCommand(string.Format(@"bml.execBML('{0}', '<saccade mode=""talk""/>')", character.SBMCharacterName));
            SmartbodyManager.Get().PythonCommand(string.Format(@"scene.getCharacter('{0}').setStringAttribute('saccadePolicy', 'alwayson')", character.SBMCharacterName));
            //SmartbodyManager.Get().PythonCommand(string.Format(@"scene.getCharacter('{0}').setBoolAttribute('bmlRequestUsesPolling', False)", character.SBMCharacterName));

            // set up reach
            SmartbodyManager sbm = SmartbodyManager.Get();

            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachCntr01').mirror('ChrBrad_ChrBillFord_Idle01_LReachCntr01', 'ChrBrad.sk')");
            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachFarCornerLf01').mirror('ChrBrad_ChrBillFord_Idle01_LReachFarCornerLf01', 'ChrBrad.sk')");
            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachFarCornerRt01').mirror('ChrBrad_ChrBillFord_Idle01_LReachFarCornerRt01', 'ChrBrad.sk')");
            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachNearCornerLf01').mirror('ChrBrad_ChrBillFord_Idle01_LReachNearCornerLf01', 'ChrBrad.sk')");
            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachNearCornerRt01').mirror('ChrBrad_ChrBillFord_Idle01_LReachNearCornerRt01', 'ChrBrad.sk')");
            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachNearCntr01').mirror('ChrBrad_ChrBillFord_Idle01_LReachNearCntr01', 'ChrBrad.sk')");

            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrHarmony_Relax001_HandGraspSmSphere_Grasp').mirror('ChrBrad_ChrHarmony_Relax001_LHandGraspSmSphere_Grasp', 'ChrBrad.sk')");
            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrHarmony_Relax001_HandGraspSmSphere_Reach').mirror('ChrBrad_ChrHarmony_Relax001_LHandGraspSmSphere_Reach', 'ChrBrad.sk')");
            sbm.PythonCommand(@"scene.getMotion('ChrBrad_ChrHarmony_Relax001_HandGraspSmSphere_Release').mirror('ChrBrad_ChrHarmony_Relax001_LHandGraspSmSphere_Release', 'ChrBrad.sk')");

            sbm.PythonCommand(string.Format(@"scene.getReachManager().createReach('{0}')", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').setInterpolatorType('KNN')", character.SBMCharacterName));

            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('left', scene.getMotion('ChrBrad_ChrBillFord_Idle01_LReachCntr01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('left', scene.getMotion('ChrBrad_ChrBillFord_Idle01_LReachFarCornerLf01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('left', scene.getMotion('ChrBrad_ChrBillFord_Idle01_LReachFarCornerRt01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('left', scene.getMotion('ChrBrad_ChrBillFord_Idle01_LReachNearCornerLf01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('left', scene.getMotion('ChrBrad_ChrBillFord_Idle01_LReachNearCornerRt01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('left', scene.getMotion('ChrBrad_ChrBillFord_Idle01_LReachNearCntr01'))", character.SBMCharacterName));

            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('right', scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachCntr01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('right', scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachFarCornerLf01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('right', scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachFarCornerRt01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('right', scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachNearCntr01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('right', scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachNearCornerLf01'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').addMotion('right', scene.getMotion('ChrBrad_ChrBillFord_Idle01_ReachNearCornerRt01'))", character.SBMCharacterName));

            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').setGrabHandMotion('right', scene.getMotion('ChrBrad_ChrHarmony_Relax001_HandGraspSmSphere_Grasp'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').setGrabHandMotion('left', scene.getMotion('ChrBrad_ChrHarmony_Relax001_LHandGraspSmSphere_Grasp'))", character.SBMCharacterName));

            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').setReachHandMotion('right', scene.getMotion('ChrBrad_ChrHarmony_Relax001_HandGraspSmSphere_Reach'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').setReachHandMotion('left', scene.getMotion('ChrBrad_ChrHarmony_Relax001_LHandGraspSmSphere_Reach'))", character.SBMCharacterName));

            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').setReleaseHandMotion('right', scene.getMotion('ChrBrad_ChrHarmony_Relax001_HandGraspSmSphere_Release'))", character.SBMCharacterName));
            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').setReleaseHandMotion('left', scene.getMotion('ChrBrad_ChrHarmony_Relax001_LHandGraspSmSphere_Release'))", character.SBMCharacterName));

            sbm.PythonCommand(string.Format(@"scene.getReachManager().getReach('{0}', 'default').build(scene.getCharacter('{1}'))", character.SBMCharacterName, character.SBMCharacterName));

            // define and create the grasp handler.  this is currently the only way to get the grasp events to fire.
            sbm.PythonCommand(string.Format("class GraspHandler(SBEventHandler):\n\tdef executeAction(this, event):\n\t\tparams = event.getParameters()\n\t\tscene.command(params)"));
            sbm.PythonCommand(string.Format(@"graspHandler = GraspHandler()"));
            sbm.PythonCommand(string.Format(@"scene.getEventManager().addEventHandler('reach', graspHandler)"));

            // init the reach with a handle
            //sbm.PythonCommand(string.Format(@"bml.execBML('{0}', '<sbm:reach sbm:handle=""rdoctor"" effector=""r_index3"" sbm:fade-in=""1.0""/>')", character.SBMCharacterName));
        };
    }
Esempio n. 8
0
    public override void OnGUI()
    {
        base.OnGUI();

        if (Network.peerType == NetworkPeerType.Disconnected)
        {
            if (GUI.Button(new Rect(10, 10, 90, 25), "Start Server"))
            {
                Network.InitializeServer(m_MaxConnections, m_ListenPort, m_UseNat);
            }

#if false
            // code for connecting to the server

            string m_ConnectionIP   = "127.0.0.1";
            int    m_ConnectionPort = 25000;

            Rect m_ConnectButtonRect  = new Rect(10, 55, 90, 25);
            Rect m_ConnectionIPRect   = new Rect(105, 56.5f, 90, 22);
            Rect m_ConnectionPortRect = new Rect(105, 80.5f, 90, 22);
            if (GUI.Button(m_ConnectButtonRect, "Connect"))
            {
                Network.Connect(m_ConnectionIP, m_ConnectionPort);
            }

            m_ConnectionIP   = GUI.TextField(m_ConnectionIPRect, m_ConnectionIP);
            m_ConnectionPort = int.Parse(GUI.TextField(m_ConnectionPortRect, m_ConnectionPort.ToString()));
#endif
        }
        else
        {
            if (GUI.Button(new Rect(10, 10, 90, 25), "Disconnect"))
            {
                Network.Disconnect(200);
            }
        }


        float      fps        = 0;
        float      averageFps = 0;
        FpsCounter fpsCounter = GetComponent <FpsCounter>();
        if (fpsCounter)
        {
            fps        = fpsCounter.Fps;
            averageFps = fpsCounter.AverageFps;
        }


        GUILayout.BeginArea(new Rect(0, 80, Screen.width, Screen.height));
        GUILayout.BeginVertical();

        VHGUILayout.Label(string.Format("T: {0:f2} F: {1} AVG: {2:f0} FPS: {3:f2}", Time.time, Time.frameCount, averageFps, fps), new Color(1, Math.Min(1.0f, averageFps / 30), Math.Min(1.0f, averageFps / 30)));
        GUILayout.Label(string.Format("{0}x{1}x{2} ({3})", Screen.width, Screen.height, Screen.currentResolution.refreshRate, VHUtils.GetCommonAspectText((float)Screen.width / Screen.height)));

        GUILayout.Label(SystemInfo.operatingSystem);                                                                                                                                                     // Operating system name with version (Read Only).
        GUILayout.Label(string.Format("{0} x {1}", SystemInfo.processorCount, SystemInfo.processorType));                                                                                                // Processor name (Read Only).
        GUILayout.Label(string.Format("Mem: {0:f1}gb", SystemInfo.systemMemorySize / 1000.0f));                                                                                                          // Amount of system memory present (Read Only).
        GUILayout.Label(SystemInfo.graphicsDeviceName);                                                                                                                                                  // The name of the graphics device (Read Only).
        GUILayout.Label(SystemInfo.graphicsDeviceVersion);                                                                                                                                               // The graphics API version supported by the graphics device (Read Only).
        GUILayout.Label(string.Format("VMem: {0}mb", SystemInfo.graphicsMemorySize));                                                                                                                    // Amount of video memory present (Read Only).
        GUILayout.Label(string.Format("Shader Level: {0:f1}", SystemInfo.graphicsShaderLevel / 10.0f));                                                                                                  // Graphics device shader capability level (Read Only).
        GUILayout.Label(string.Format("Shadows:{0} RT:{1} FX:{2}", SystemInfo.supportsShadows ? "y" : "n", SystemInfo.supportsRenderTextures ? "y" : "n", SystemInfo.supportsImageEffects ? "y" : "n")); // Are built-in shadows supported? (Read Only)
        GUILayout.Label(string.Format("deviceUniqueIdentifier: {0}", SystemInfo.deviceUniqueIdentifier));                                                                                                // A unique device identifier. It is guaranteed to be unique for every
        GUILayout.Label(string.Format("deviceName: {0}", SystemInfo.deviceName));                                                                                                                        // The user defined name of the device (Read Only).
        GUILayout.Label(string.Format("deviceModel: {0}", SystemInfo.deviceModel));                                                                                                                      // The model of the device (Read Only).

        GUILayout.EndVertical();
        GUILayout.EndArea();
    }
Esempio n. 9
0
    void OnGUI()
    {
        float buttonH;

        if (Application.platform == RuntimePlatform.IPhonePlayer ||
            Application.platform == RuntimePlatform.Android)
        {
            buttonH = 70;
        }
        else
        {
            buttonH = 20;
        }

        Rect r = new Rect(0.25f, 0.2f, 0.5f, 0.6f);

        GUILayout.BeginArea(VHGUI.ScaleToRes(ref r));
        GUILayout.BeginVertical();

        if (m_loadingLevelStatus != null)
        {
            GUI.enabled = false;
        }

        if (GUILayout.Button("Start Level", GUILayout.Height(buttonH)))
        {
            StartCoroutine(LoadLevel("vhAssetsTestScene"));
        }

        if (GUILayout.Button("Mecanim Test", GUILayout.Height(buttonH)))
        {
            StartCoroutine(LoadLevel("mecanim"));
        }

        if (GUILayout.Button("Mecanim Web Test", GUILayout.Height(buttonH)))
        {
            StartCoroutine(LoadLevel("mecanimWeb"));
        }

        GUILayout.Space(40);

        if (GUILayout.Button("Exit", GUILayout.Height(buttonH)))
        {
            VHUtils.ApplicationQuit();
        }

        if (m_loadingLevelStatus != null)
        {
            GUI.enabled = true;
        }


        if (m_loadingLevelStatus != null)
        {
            GUILayout.Space(40);

            GUILayout.Label("Loading Level");

            GUILayout.Box("", GUILayout.Height(buttonH), GUILayout.Width(m_loadingLevelStatus.progress * r.width));
        }


        GUILayout.EndVertical();
        GUILayout.EndArea();
    }