public void updateMaterials(hypercubeCamera c) { //fill the material array in such a way as to respect any elements that have been overriden by the dev. int count = c.sliceTextures.Length; while (previewMaterials.Count > count) { previewMaterials.RemoveAt(previewMaterials.Count - 1);//rip the end off if its too many. } for (int i = 0; i < count; i++) { if (previewMaterials.Count <= i) { previewMaterials.Add(new Material(previewShader)); } else if (previewMaterials[i] == null) { previewMaterials[i] = new Material(previewShader); } previewMaterials[i].mainTexture = c.sliceTextures[i]; } previewOccludedMaterial.mainTexture = c.occlusionRTT; //don't forget also to update our occlusion rtt updateMesh(); }
float lastTouchAngle = 0f; //used to calculate twist, this is the angle between the two farthest touches in the last frame public Vector3 getAverageTouchWorldPos(hypercubeCamera c) { return(c.transform.TransformPoint(getAverageTouchLocalPos())); }
void OnEnable() { hypercubeCamera.mainCam = this; }