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 ?? […]

Unity Collaboration | Обзор

  Хотелось бы поговорить о том, что может предложить нам Beta система контроля версий Unity Collaboration. Обзор создан на момент версии Unity 5.6. Во-первых, он еще не доработан. Серьезных багов я не заметил, но мелких глюков – предостаточно. Кратковременно теряет репозиторий, не видит коммитов на удаленке, не замечает измененных файлов, все это действует на нервы. […]

ПсевдоГлобальные классы в Unity

Для моей игры мне стало необходимо сделать возможность получить любую переменную или функцию класса, не делая их статичными (тогда я бы не смог взаимодействовать с объектами). Решение пришло незаметно и быстро. public static *class* Global; void Awake () { Global = this; } После этого любой public объект нашего класса можно будет получить через class.Global. […]

Unity | Переход между сценами

Переход между сценами в Unity осуществляется довольно просто: using UnityEngine.SceneManagement; // Вставляется в начало файла SceneManager.LoadScene(“main”); // Переход к сцене под названием main.unity Как заменить начальную сцену Довольно часто возникает необходимость сменить сцену, открываемую при запуске игры. Сделать это довольно просто: При запуске игры открывается самая первая сцена в списке “Scenes In Build”. Достаточно перетащить […]

Руководство по UnityScript

Unity Script О мануале Данный мануал не написан мною. Я являюсь лишь его переводчиком, но также мною в данный мануал было включено кое-что из своих знаний, дабы весь туториал получился более развёрнутым и давал хорошие знания по UnityScript. Здесь собраны переведённые мною статью в официальногоScriptingReference, а также с unifycommunity. Все они объединены в один мануал, […]

GUI в Unity 4

С этой статьи я пожалуй начну разбирать возможности Unity3D в плане GUI, с начало я просто хотел разобрать все элементы, такие как Button, Label и тому подобное, но подумал что не которым будут интересны основы организации стандартного GUI в Unity3D. Так же предупрежу что все примеру будут представлены на C# и статья рассчитана на людей, […]