Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обзор Unity.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.91 Mб
Скачать

Случайные точки в пространстве

Можно присвоить каждой компоненте Vector3 случайное значение, возвращаемое Random.value для получения случайной точки в пространстве куба:-

var randVec = Vector3(Random.value, Random.value, Random.value);

Это даст вам точку в кубе с ребром длиной в одну условную единицу. Куб можно масштабировать просто умножая X, Y и Z компоненты вектора на требуемые длины сторон. Если одна из осей имеет нулевое значение, точка всегда будет лежать на плоскости. Например, получение случайно точки “на земле” обычно достигается с помощью получения случайных компонент X и Z с установкой Y компоненты в ноль.

Если объёмом является сфера (т.е., когда вы желаете разместить случайную точку в указанном радиусе от начала отсчёта), вы можете использовать значение Random.insideUnitSphere, умноженное на нужный радиус :-

var randWithinRadius = Random.insideUnitSphere * radius;

Учтите, если вы установите одну из компонент получившегося вектора в ноль, вы не получите правильную случайную точку в круге. Хоть точка и действительно случайна, и расположена в области правильного радиуса, точка с большей вероятностью окажется ближе к краю окружности, так что точки будут распределены очень неравномерно. Для этой задачи следует использовать Random.insideUnitCircle:-

var randWithinCircle = Random.insideUnitCircle * radius;

Геймплей в 2D

Решение проблем

Этот раздел посвящен распространенным проблемам, которые могут возникнуть при использовании Unity. Каждой платформе посвящён отдельный подраздел.

Решение проблем платформы

Geforce 7300GT при использовании OSX 10.6.4

  • Отложенный рендеринг отключён, т.к. материалы отображаются некорректно на Geforce 7300GT при использовании OSX 10.6.4; Это случается из-за проблемных видео драйверов.

В 64-битной версии Windows, Unity крашится когда мой скрипт выбрасывает NullReferenceException.

  • Пожалуйста, примените Windows Hotfix #976038.

Редактирование скрипта

Можно ли как-нибудь избавиться от страницы приветствия в MonoDevelop?

  • Да. В настройках MonoDevelop перейдите в раздел Visual Style и снимите галочку с пункта “Load welcome page on startup”.

Почему мой скрипт открывается в MonoDevelop, хотя я выбрал Visual Studio на роль редактора скриптов?

  • Это происходит, когда Visual Studio сообщает о том, что не смог открыть ваш скрипт. Обычно это случается из-за того, что внешний плагин (например, Resharper), открывает диалоговое окно на запуске, запрашивая ввода информации от пользователя - именно это и вынуждает VS заявить о неудавшейся попытки открытия скрипта.

Графика

Низкий FPS и/или графические артефакты.

  • Это может произойти, если драйвера вашей видеокарты устарели. Убедитесь, что у вас установлена последняя версия драйверов от производителя вашей карты.

Тени

  • Тени также требуют определённой поддержки в графическом оборудовании. См. Тени для деталей.

  • Убедитесь, что тени не выключены в пункте меню Quality Settings(Настройки качества).

  • Тени на Android и iOS имеют свои ограничения: мягкие тени недоступны и при Forward-рендеринге, лишь один направленный источник света может отбрасывать тени. Но при отложенном рендеринге нет лимита на количество источников света, отбрасывающих тень.