Как стать автором
Обновить

Комментарии 11

Вот что действительно полезное забыли, так это
[CreateAssetMenu(menuName = "Custom/CreateSerializedAsset", fileName = "SerializedAsset.asset")]

Для классов наследуемых от ScriptableObject.
Добрый день, я его намеренно не включил, лучше, действительно, включить.
Также забыл добавить ContextMenuItem и ContextMenu.
Спасибо за замечание, вечером дополню.
Думаю многим будет полезно. В свое время львиная часть времени на проекте ушла на создание расширений инспектора, жаль тогда не существовало документации и примеров, по типу нынешнего расширения Odin, или ему подобных.

Видна лишь часть, но для общей картины хватает :)
Оффтоп — сколько вижу в статьях или примерах в юнити (у самого опыт с юнити более чем скромный, сразу прошу прощения за нубский вопрос) — квадратная карта ограниченного размера и серое «ничто» вокруг. Но ведь в самих играх этого «края земли» не видно? Как это делается?
Через Bounding Box. Проще говоря, указываются координаты пределов карты, и если камера к ним приближается — просто блокируется ее передвижение.
Спасибо. И край закрывается какими-нибудь препятствиями, чтобы не видно было?
серое — это скайбокс. Он может быть любым, в зависимости от игры. Либо вообще не виден — способом, описанным выше
Ну на самом деле, так во многих движках, не только в Unity.
На моей памяти, только в CryEngine не так, по дефолту.
В Unreal, Source, Unity, Ogre, BigWorld та же ситуация.
Основными решениями являются ограничения коллаидерами, как уже указали ниже, но есть и варианты.
Где-то вуалируют данное решение отвесными стенами/домами/лесом, но подавляющее большинство даже не заморачиваются с этой проблемой — игрок просто утыкается в невидимый коллаидер и принимает ограничение игры как есть.
Я и мои коллеги в основном, выступаем за более деликатные решения — либо, как я уже указал, 3D, либо можно логикой (например, в серии Battlefield пишут, что вы будете дезертиром, если не вернетесь на поле боя через n секунд).
Спасибо, обязательно буду развивать серию статей.
За лайвхак спасибо. Следующие статьи жду. Шишки все равно все будут набивать, это норма.
Кто мне может объяснить почему SerializeField называется именно SerializeField? В моем понимание сериализация — это представление данных в каком-то формате, например в JSON. А как сериализация относится к переменным?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории