void MobileControls() { if (clickState != ClickState.NONE || clickState != ClickState.UP) { Touch touch = Input.GetTouch(0); Ray ray = cam.ScreenPointToRay(touch.position); scale = Vector3.one * ((radiusIndex + 0.5f) * voxelSize * 2f); RaycastHit singleRayHitInfo; if (Physics.Raycast(ray, out singleRayHitInfo)) { Vector3 singleRayCenter = transform.InverseTransformPoint(singleRayHitInfo.point); gizmoCenter = singleRayCenter; Vector3 center = singleRayCenter; // Debug.DrawRay(ray.origin, ray.direction * 20, Color.red); center.x += halfSize; center.y += halfSize; if (clickState == ClickState.HOLD) { CylinderCast(touch.position); VoxelStencil activeStencil = stencils[stencilIndex]; activeStencil.Initialize(fillTypeIndex == 0, (radiusIndex + 0.5f) * voxelSize); activeStencil.SetCenter(center.x, center.y); activeLayer.EditVoxels(center, activeStencil); } } } }