예제 #1
0
    // Update is called once per frame
    void Update()
    {
        if (!Input.GetMouseButton(0))
        {
            return;
        }

        var pos = GetComponent <Camera>().ScreenToWorldPoint(Input.mousePosition);

        pos.z = 0f;
        var spGO   = (GameObject)Instantiate(_selectedBrushfab);
        var brush  = spGO.GetComponent <Brush>();
        var splats = spGO.GetComponentsInChildren <Splat>();

        foreach (var splat in splats)
        {
            var vertices = splat.vertices;
            for (var i = 0; i < vertices.Length; i++)
            {
                vertices[i] += pos;
            }
        }
        _splatRenderer.Add(brush, (int)pos.x, (int)pos.y);

        foreach (var splat in splats)
        {
            splat.transform.parent = null;
        }
        Destroy(spGO, 0f);
    }