private void CreateSliderObjects() { bustSliderObject = GameObject.Find("BustHandle").GetComponent <ModelSlider>(); hipSliderObject = GameObject.Find("HipHandle").GetComponent <ModelSlider>(); waistSliderObject = GameObject.Find("WaistHandle").GetComponent <ModelSlider>(); shoulderSliderObject = GameObject.Find("ShoulderHandle").GetComponent <ModelSlider>(); neckSliderObject = GameObject.Find("NeckHandle").GetComponent <ModelSlider>(); }
private static float SetHandleValue(float minScale, float maxScale, ModelSlider handle, int currentValue) { //set range of values - min and max float minSize = handle.GetMinSize(); float maxSize = handle.GetMaxSize(); //Debug.Log(minSize + " for " + handle.name ); //Debug.Log(maxSize + " for " + handle.name ); var fraction = (currentValue - minSize) / (maxSize - minSize); var value = minScale + fraction * (maxScale - minScale); //change scale return(value); }
public void UpdateHandleValue(ModelSlider bustHandle, ModelSlider hipHandle, ModelSlider waistHandle, ModelSlider shoulderHandle, ModelSlider neckHandle, float minScale, float maxScale, float minShoulder, float maxShoulder) { foreach (var key in modelVariables) { var caseSwitch = key; switch (caseSwitch) { case "bust": bustMeasurement = bustHandle.GetPositionValue(); //getters and setters ScaleByValue(SetHandleValue(minScale, maxScale, bustHandle, bustMeasurement), bustBones); break; case "hips": hipsMeasurement = hipHandle.GetPositionValue(); ScaleByValue(SetHandleValue(minScale, maxScale, hipHandle, hipsMeasurement), hipBones); break; case "waist": waistMeasurement = waistHandle.GetPositionValue(); ScaleByValue(SetHandleValue(minScale, maxScale, waistHandle, waistMeasurement), waistBones); break; case "shoulder": shoulderMeasurement = shoulderHandle.GetPositionValue(); ScaleByValueShoulder(SetHandleValue(minShoulder, maxShoulder, shoulderHandle, shoulderMeasurement), SetHandleValue(-minShoulder, -maxShoulder, shoulderHandle, shoulderMeasurement), shoulderBones); break; case "neck": neckMeasurement = neckHandle.GetPositionValue(); ScaleByValue(SetHandleValue(minScale, maxScale, neckHandle, neckMeasurement), neckBones); break; default: Debug.Log("No available handle to scale"); break; } } }