public override void UpdateHover(InputState input) { ToolSide eSide = context.ToolManager.FindSide(tool); Frame3f sideHandF = (eSide == ToolSide.Left) ? input.LeftHandFrame : input.RightHandFrame; sideHandF.Origin += SceneGraphConfig.VRHandTipOffset * sideHandF.Z; //update_last_hit(tool, input.vMouseWorldRay); tool.UpdateBrushPreview(sideHandF); Vector2f vStick = (eSide == ToolSide.Left) ? input.vLeftStickDelta2D : input.vRightStickDelta2D; if (Math.Abs(vStick[1]) > 0.5f) { tool.Radius.Add(fDimension.World(vStick[1] * resize_speed(ref input))); } // cycle brush on press+left/right bool stick_up = (eSide == ToolSide.Left) ? input.bLeftStickReleased : input.bRightStickReleased; if (stick_up && Math.Abs(vStick[0]) > 0.9) { int n = (int)tool.ActiveBrush; n = MathUtil.ModuloClamp(n + (vStick[0] < 0 ? -1 : 1), 2); tool.ActiveBrush = (SculptCurveTool.BrushTool)n; } }