private void OnCollisionEnter(Collision collision) { var hitVelocity = collision.relativeVelocity.magnitude; if (hitVelocity >= HitVelocityThreshold) { var volume = CoolMath.SmoothStep(0.7f * HitVelocityThreshold, 2 * HitVelocityThreshold, hitVelocity); MirroredAudioSource.PlayClipAtPoint(CollisionSound, transform.position, volume); } }
private void TranslateMarkedSpace() { var grabPos = grabHand.GetGraspPoint(); var delta = grabPos - grabSphere.transform.position; delta /= mark.Radius; delta.x = Mathf.Sign(delta.x) * CoolMath.SmoothStep(0.1f, 0.2f, Mathf.Abs(delta.x)); delta.y = Mathf.Sign(delta.y) * CoolMath.SmoothStep(0.1f, 0.2f, Mathf.Abs(delta.y)); delta.z = Mathf.Sign(delta.z) * CoolMath.SmoothStep(0.1f, 0.2f, Mathf.Abs(delta.z)); delta = Time.deltaTime * delta * mark.Radius; mark.transform.position += delta; }
private void ScaleMarkedSpace() { var grabVec = (grabHand.GetGraspPoint() - transform.position) - initialGrabOffset; var baseVec = grabSphere.transform.position - transform.position; var delta = grabVec.magnitude / baseVec.magnitude - 1; delta = Mathf.Sign(delta) * CoolMath.SmoothStep(0.05f, 0.3f, Mathf.Abs(delta)); delta = Time.deltaTime * delta * mark.Radius; mark.transform.localScale += new Vector3(delta, delta, delta); mark.transform.localScale.Clamp(MinMarkSize, MaxMarkSize); }
void Update() { var dist = Vector3.Distance(Camera.main.transform.position, transform.position); float thickness = 0.04f + CoolMath.SmoothStep(1f, 15f, dist) * 0.36f; material.SetFloat("Vector1_11B6F0C9", thickness); float stripeCount = Mathf.Round(6f + CoolMath.SmoothStep(15f, 1f, dist) * 24f); material.SetFloat("Vector1_DD39A7BF", stripeCount); material.SetColor("Color_80BB22F3", Color); }