// 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); }