public void SendModel(GameObject modelToSend) { // Extracting mesh to use in constructor Mesh mesh = modelToSend.GetComponent <MeshFilter>().mesh; // Extracting material settings/properties to use in constructor Material material = modelToSend.GetComponent <MeshRenderer>().material; float[] materialColour = { material.color.r, material.color.g, material.color.b, material.color.a }; float materialGlossiness = material.GetFloat("_Glossiness"); float materialMetallic = material.GetFloat("_Metallic"); Texture2D texture2D = (Texture2D)material.mainTexture; int textureWidth = texture2D.width; int textureHeight = texture2D.height; TextureFormat textureFormat = texture2D.format; byte[] textureData = texture2D.GetRawTextureData(); //Construct modelWireData from the properties extracted. ModelWireData modelWireData = new ModelWireData(mesh.vertices, mesh.uv, mesh.triangles, materialColour, materialGlossiness, materialMetallic, textureData, textureWidth, textureHeight, textureFormat, modelToSend.name, modelToSend.transform); byte[] data = NetworkTransportManager.Serialize(modelWireData); netTransportManager.SendReliableData(data); }
private void Start() { if (NetworkManager == null) { NetworkManager = FindObjectOfType <NetworkTransportManager>(); } HideAllUI(); }
private void SendPlayerPosition() { TransformWireData transformWireDataHead = new TransformWireData(head); TransformWireData transformWireDataLeft = new TransformWireData(leftHand); TransformWireData transformWireDataRight = new TransformWireData(rightHand); string playerDeviceId = SystemInfo.deviceUniqueIdentifier; PlayerWireData playerWireData = new PlayerWireData(playerDeviceId, transformWireDataHead, transformWireDataLeft, transformWireDataRight); byte[] data = NetworkTransportManager.Serialize(playerWireData); netTransportManager.SendUnreliableData(data); }