示例#1
0
    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);
        }
    }
示例#2
0
    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;
            }
        }
    }
示例#3
0
文件: MegaBookNew.cs 项目: pocdev/ar
	// 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
	}
示例#4
0
    // 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
    }