public async void CreatePrimitive(PrimitiveType type) #endif { var go = GameObject.CreatePrimitive(type); go.transform.position = new UnityEngine.Vector3(defaultPosition.x, defaultPosition.y, defaultPosition.z); var draggableHandComponent = go.AddComponent <HandDraggable>(); draggableHandComponent.RotationMode = HandDraggable.RotationModeEnum.LockObjectRotation; var primitive = new UnityPrimitive(); primitive.Type = (int)type; primitive.Vector = new MixedRealityData.Models.Vector3() { X = defaultPosition.x, Y = defaultPosition.y, Z = defaultPosition.z }; #if UNITY_EDITOR UnityPrimitive prim = ObjectsAPI.CreateObject(primitive); #else UnityPrimitive prim = await ObjectsAPI.CreateObject(primitive); #endif var storedObjectComponent = go.AddComponent <StoredObject>(); storedObjectComponent.storedObject = prim; }
public static async Task <UnityPrimitive> CreateObject(UnityPrimitive updatedObject) #endif { //Here is an example of how to use WebClient class and HttpClient class in UWP var url = string.Format(UrlTemplate, "CreateObject"); var data = JsonConvert.SerializeObject(updatedObject, Formatting.Indented); #if UNITY_EDITOR var webClient = new WebClient(); webClient.Headers["content-type"] = "application/json"; /* Always returns a byte[] array data as a response. */ var response_data = webClient.UploadString(url, "POST", data); // Parse the returned data (if any) if needed. var responseString = response_data; Debug.LogWarning(responseString); return(JsonConvert.DeserializeObject <UnityPrimitive>(response_data)); #else var client = new Windows.Web.Http.HttpClient(); var content = new Windows.Web.Http.HttpStringContent(data, Windows.Storage.Streams.UnicodeEncoding.Utf8, "application/json"); Windows.Web.Http.HttpResponseMessage response = await client.PostAsync(new Uri(url), content); UnityPrimitive result = null; if (response.IsSuccessStatusCode) { var stringres = await response.Content.ReadAsStringAsync(); result = JsonConvert.DeserializeObject <UnityPrimitive>(stringres); } return(result); #endif }
private void OnExit(UnityPrimitive unityPrimitive) { var gameObject = colliderWithText[unityPrimitive.Name]; var meshRenderer = gameObject.GetComponent <MeshRenderer>(); meshRenderer.enabled = false; }
private void BuildCollider(UnityPrimitive unityPrimitive) { var text3dPrefab = Resources.Load("3DTextPrefabResource", typeof(GameObject)); textGameObject = Instantiate(text3dPrefab) as GameObject; var collider = GameObject.CreatePrimitive(PrimitiveType.Capsule); var capsuleCollider = collider.AddComponent <CapsuleCollider>(); var position = unityPrimitive.Transform.Position; var rotation = unityPrimitive.Transform.Rotation; var scale = unityPrimitive.Transform.Scale; collider.transform.position = new Vector3(position.X, position.Y, position.Z); collider.transform.eulerAngles = new Vector3(rotation.X, rotation.Y, rotation.Z); collider.transform.localScale = new Vector3(scale.X, scale.Y, scale.Z); var colliderRenderer = collider.GetComponent <MeshRenderer>(); colliderRenderer.enabled = false; var camera = CameraGameObject.GetComponent <Camera>(); var cameraPosition = camera.transform.position; textGameObject.transform.position = new Vector3(cameraPosition.x, cameraPosition.y, cameraPosition.z + 1); var textRenderer = textGameObject.GetComponent <MeshRenderer>(); textRenderer.enabled = false; var textMesh = textGameObject.GetComponent <TextMesh>(); textMesh.text = unityPrimitive.Description; textMesh.fontSize = 256; var eventTrigger = collider.AddComponent <EventTrigger>(); var enterTrigger = new EventTrigger.TriggerEvent(); enterTrigger.AddListener((eventData) => OnEnter(unityPrimitive)); var exitTrigger = new EventTrigger.TriggerEvent(); exitTrigger.AddListener((eventData) => OnExit(unityPrimitive)); var entryTriggerEntry = new EventTrigger.Entry() { callback = enterTrigger, eventID = EventTriggerType.PointerEnter }; eventTrigger.triggers.Add(entryTriggerEntry); var exitTriggerEntry = new EventTrigger.Entry() { callback = exitTrigger, eventID = EventTriggerType.PointerExit }; eventTrigger.triggers.Add(exitTriggerEntry); colliderWithText.Add(unityPrimitive.Name, textGameObject); }
public static void UpdateObject(UnityPrimitive updatedObject) { //Here is an example of how to use WWW class var url = string.Format(UrlTemplate, "UpdateObject"); Dictionary <string, string> headers = new Dictionary <string, string>(); headers.Add("Content-Type", "application/json"); string data = JsonConvert.SerializeObject(updatedObject); byte[] pData = System.Text.Encoding.ASCII.GetBytes(data.ToCharArray()); WWW api = new WWW(url, pData, headers); }
private void BuildUnityItem(UnityPrimitive unityPrimitive) { var unityResource = Resources.Load(unityPrimitive.PrimativeType, typeof(GameObject)); var unityInstance = Instantiate(unityResource) as GameObject; var position = unityPrimitive.Transform.Position; var rotation = unityPrimitive.Transform.Rotation; var scale = unityPrimitive.Transform.Scale; unityInstance.transform.position = new Vector3(position.X, position.Y, position.Z); unityInstance.transform.eulerAngles = new Vector3(rotation.X, rotation.Y, rotation.Z); unityInstance.transform.localScale = new Vector3(scale.X, scale.Y, scale.Z); }
public static UnityPrimitive CreateObject(UnityPrimitive updatedObject)