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; } }
void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { VHUtils.ApplicationQuit(); } if (Input.GetKeyDown(KeyCode.Z)) { GameObject.FindObjectOfType <DebugInfo>().NextMode(); } }
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(); } } } } }
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"); }
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)); }; }
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(); }
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(); }