void UpdateModifier(GameObject go) { for (int i = 0; i < pages.Length; i++) { MegaPage page = pages[i]; page.bendmods[0].axis = MegaAxis.X; page.bendmods[0].doRegion = true; page.bendmods[0].to = flexer_crease_area; page.bendmods[0].from = 0.0f; page.bendmods[0].Offset = new Vector3(flexer_crease_center, 0.0f, 0.0f); page.bendmods[1].axis = MegaAxis.X; page.bendmods[1].doRegion = true; page.bendmods[1].to = turner_crease_area; page.bendmods[1].from = 0.0f; page.bendmods[1].Offset = new Vector3(-(page_width / 2.0f + turner_crease_center), 0.0f, 0.0f); page.bendmods[1].gizmoRot = new Vector3(0.0f, ext_rot, 0.0f); page.bendmods[1].gizmoPos = new Vector3((-((page_width / 2.0f) - (Mathf.Cos((Mathf.Deg2Rad * ext_rot)) * (page_width / 2.0f)))), 0.0f, (((Mathf.Abs(Mathf.Sin((Mathf.Deg2Rad * ext_rot)))) * (page_width / 2.0f)) + ((Mathf.Abs(Mathf.Sin(Mathf.Rad2Deg * 0.0f))) * (page_width / 2.0f)))); page.bendmods[2].axis = MegaAxis.X; page.bendmods[2].doRegion = true; page.bendmods[2].to = 0.0f; page.bendmods[2].from = -lander_crease_area; page.bendmods[2].Offset = new Vector3(-page_width + lander_crease_center, 0.0f, 0.0f); } }
void UpdatePages() { for (int i = 0; i < pages.Length; i++) { MegaPage page = pages[i]; // if page alpha not changed then we can disable the modobj if (page.alpha != page.lastalpha) { page.modobj.Enabled = true; page.lastalpha = page.alpha; } else { page.modobj.Enabled = false; } } }
// just delete all objects // only call this num pages change void BuildPageObjects() { //for ( int i = numpages; i < transform.childCount; i++ ) //{ // GameObject go = transform.GetChild(i).gameObject; // if ( Application.isEditor && !Application.isPlaying ) // GameObject.DestroyImmediate(go); // else // GameObject.Destroy(go); //} for ( int i = 0; i < transform.childCount; i++ ) { GameObject go = transform.GetChild(i).gameObject; if ( Application.isEditor && !Application.isPlaying ) GameObject.DestroyImmediate(go); else GameObject.Destroy(go); } Vector3 pos = Vector3.zero; //for ( int i = 0; i < transform.childCount; i++ ) //{ // GameObject go = transform.GetChild(i).gameObject; // go.name = "Page " + i; // go.transform.localPosition = pos; // pos.y += pagegap; //((float)i / (float)numpages) // MeshRenderer mr1 = (MeshRenderer)go.GetComponent<MeshRenderer>(); // MeshFilter mf1 = (MeshFilter)go.GetComponent<MeshFilter>(); // Mesh mesh = mf1.sharedMesh; // BuildMesh(mesh); // mf1.sharedMesh = mesh; //} //meshes = new Mesh[numpages]; pages = new MegaPage[numpages]; for ( int i = 0; i < numpages; i++ ) { GameObject go = new GameObject(); //(GameObject)Instantiate(LinkObj); //linkMesh); //, Vectp, Quaternion.identity); go.name = "Page " + i; go.transform.localPosition = pos; pos.y += pagegap; //((float)i / (float)numpages) //MeshRenderer mr1 = (MeshRenderer)go.AddComponent<MeshRenderer>(); MeshFilter mf1 = (MeshFilter)go.AddComponent<MeshFilter>(); Mesh mesh = new Mesh(); BuildMesh(mesh); mf1.sharedMesh = mesh; //meshes[i] = mesh; go.transform.parent = transform; MegaModifyObject modobj = go.AddComponent<MegaModifyObject>(); modobj.NormalMethod = MegaNormalMethod.Unity; go.AddComponent<MegaBend>(); go.AddComponent<MegaBend>(); go.AddComponent<MegaBend>(); modobj.MeshUpdated(); MegaPage page = new MegaPage(); page.bendmods = GetComponents<MegaBend>(); page.mesh = mesh; page.modobj = modobj; pages[i] = page; //UpdateModifier(go); } // So now need to add the modifiers etc to each game object // add modify object, set norm mode to unity // add 3 bend modifiers }
// just delete all objects // only call this num pages change void BuildPageObjects() { //for ( int i = numpages; i < transform.childCount; i++ ) //{ // GameObject go = transform.GetChild(i).gameObject; // if ( Application.isEditor && !Application.isPlaying ) // GameObject.DestroyImmediate(go); // else // GameObject.Destroy(go); //} for (int i = 0; i < transform.childCount; i++) { GameObject go = transform.GetChild(i).gameObject; if (Application.isEditor && !Application.isPlaying) { GameObject.DestroyImmediate(go); } else { GameObject.Destroy(go); } } Vector3 pos = Vector3.zero; //for ( int i = 0; i < transform.childCount; i++ ) //{ // GameObject go = transform.GetChild(i).gameObject; // go.name = "Page " + i; // go.transform.localPosition = pos; // pos.y += pagegap; //((float)i / (float)numpages) // MeshRenderer mr1 = (MeshRenderer)go.GetComponent<MeshRenderer>(); // MeshFilter mf1 = (MeshFilter)go.GetComponent<MeshFilter>(); // Mesh mesh = mf1.sharedMesh; // BuildMesh(mesh); // mf1.sharedMesh = mesh; //} //meshes = new Mesh[numpages]; pages = new MegaPage[numpages]; for (int i = 0; i < numpages; i++) { GameObject go = new GameObject(); //(GameObject)Instantiate(LinkObj); //linkMesh); //, Vectp, Quaternion.identity); go.name = "Page " + i; go.transform.localPosition = pos; pos.y += pagegap; //((float)i / (float)numpages) //MeshRenderer mr1 = (MeshRenderer)go.AddComponent<MeshRenderer>(); MeshFilter mf1 = (MeshFilter)go.AddComponent <MeshFilter>(); Mesh mesh = new Mesh(); BuildMesh(mesh); mf1.sharedMesh = mesh; //meshes[i] = mesh; go.transform.parent = transform; MegaModifyObject modobj = go.AddComponent <MegaModifyObject>(); modobj.NormalMethod = MegaNormalMethod.Unity; go.AddComponent <MegaBend>(); go.AddComponent <MegaBend>(); go.AddComponent <MegaBend>(); modobj.MeshUpdated(); MegaPage page = new MegaPage(); page.bendmods = GetComponents <MegaBend>(); page.mesh = mesh; page.modobj = modobj; pages[i] = page; //UpdateModifier(go); } // So now need to add the modifiers etc to each game object // add modify object, set norm mode to unity // add 3 bend modifiers }