示例#1
0
    protected override void Unfreeze(GameObject o)
    {
        base.Unfreeze(o);

        if (o.GetComponent <CuttableMesh>() == this.cutTarget)
        {
            this.cutTarget.DisableCut();
            this.cutTarget = null;
        }
    }
示例#2
0
    protected override void Freeze(GameObject o)
    {
        base.Freeze(o);

        if (this.cutTarget == null)
        {
            this.cutTarget = o.GetComponent <CuttableMesh>();
            this.cutTarget.EnableCut(transform, colliders[1]);
        }
    }
示例#3
0
    // Update is called once per frame
    void Update()
    {
        m_cutter = new CuttableMesh(this.GetComponent <MeshFilter>().mesh);
        Plane plane = new Plane(CuttingPlane.up, CuttingPlane.position);

        m_cutter.CutByPlane(CuttingPlane.position, plane, out Mesh right, out Mesh left);

        //Tranform the mesh
        //RightMesh.mesh = right;
        //LeftMesh.mesh = left;
    }
示例#4
0
 // Start is called before the first frame update
 void Start()
 {
     m_filterer = this.GetComponent <MeshFilter>();
     m_cutter   = new CuttableMesh(m_filterer.mesh);
 }