Unity | Плавное перемещение камеры 2D

Небольшой скрипт, перемещающий камеру за целью с небольшой задержкой, зависящей от скорости. using System.Collections; using UnityEngine; public class SmoothFollow2D : MonoBehaviour { public Transform Target; public Vector3 Offset; public float Velocity; public float MinDistance; // Update is called once per frame void LateUpdate() { if (Target == null) { return; } var targetPos = Target.transform.position […]

Unity | Маштабировать BoxCollider2D по спрайту

Небольшой скрипт, который будет полезен, если ваш объект меняет спрайты различного размера. public static void MatchToSize(GameObject obj, BoxCollider2D collider = null, SpriteRenderer renderer = null) { collider = collider ?? obj.GetComponent(); renderer = renderer ?? obj.GetComponent(); Vector2 S = renderer.sprite.bounds.size; collider.size = S; collider.offset = Vector2.zero; } UPD: Сделал возможность небольшой оптимизации при помощи передачи […]

Unity | 2D Color Fade

Небольшой скрипт на C# для Unity, позволяющий легко реализовать переход между двумя цветами Sprite Renderer’а за заданное время. Не подходит для 3D объектов. using System; using UnityEngine; public class FadeExt { public static IEnumerator Fade(GameObject obj, Color startcolor, Color endcolor, float time, SpriteRenderer renderer = null, float tick = 0.01f) { renderer = renderer ?? […]