Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        Vector3 toolPos = getHitPoint();

        if (toolPos != failureRaycastPoint)
        {
            tool.transform.position = toolPos;
        }
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hitInfo;
            scannedSample = ReturnClickedObject(out hitInfo);
            if (scannedSample != null)
            {
                CSG_Model result = subtraction(scannedSample, tool);
                scannedSample.GetComponent <MeshFilter>().sharedMesh        = result.mesh;
                scannedSample.GetComponent <MeshRenderer>().sharedMaterials = result.materials.ToArray();
                // composite = new GameObject();
                // composite.AddComponent<MeshFilter>().sharedMesh = result.mesh;
                // composite.AddComponent<MeshRenderer>().sharedMaterials = result.materials.ToArray();
            }
        }
    }
Exemple #2
0
    private IEnumerator boolenObject(GameObject objects)
    {
        objects.SetActive(false);
        CSG_Model result = Boolean.Subtract(objects.transform.GetChild(0).gameObject, gameObject);

        yield return(new WaitForFixedUpdate());

        GameObject composite    = new GameObject();
        GameObject parentObject = new GameObject();

        parentObject.transform.SetParent(rows);
        parentObject.transform.position = objects.transform.position;
        composite.AddComponent <MeshFilter>().sharedMesh        = result.mesh;
        composite.AddComponent <MeshRenderer>().sharedMaterials = result.materials.ToArray();
        composite.AddComponent <MeshCollider>();
        parentObject.name = objects.name;
        parentObject.tag  = objects.tag;
        composite.transform.SetParent(parentObject.transform);
        parentObject.AddComponent <BoxCollider>();
        parentObject.GetComponent <BoxCollider>().size      = new UnityEngine.Vector3(4, 0.5f, 1);
        parentObject.GetComponent <BoxCollider>().isTrigger = true;
        Debug.Log("Run");
    }