public sqrDistanceBetweenVectors ( |
||
a | ||
b | ||
Résultat | float |
void Update() { // we dont want the z component to influence anything var position = _transform.position; position.z = 0f; var nearestLightPosition = _slkLightManager.getAffectedAverageLightPos(position, maxLightSqrDistance); //Debug.DrawLine( position, nearestLightPosition, Color.red, 0.1f ); var lightDistance = _slkLightManager.sqrDistanceBetweenVectors(position, nearestLightPosition); var lightDir = (position - nearestLightPosition).normalized * lightDistance * shadowDistanceMultiplier; lightDir /= maxLightSqrDistance; _material.SetFloat("_HorizontalTranslation", Mathf.Clamp(lightDir.x, -maxShadowTranslation, maxShadowTranslation)); _material.SetFloat("_VerticalTranslation", Mathf.Clamp(lightDir.y, -maxShadowTranslation, maxShadowTranslation)); }