unity поменять редактор скриптов
Начало работы с Visual Studio и Unity
Установка поддержки Unity для Visual Studio
Это руководства по установке для Visual Studio. Если вы используете Visual Studio Code, ознакомьтесь с документацией по разработке Unity с VS Code.
Скачайте установщик Visual Studioили запустите его, если он уже установлен.
Щелкните Изменить (если установлено) или Установка (для новой установки) для требуемой версии Visual Studio.
Это руководства по установке предназначено для Visual Studio для Mac. Если вы используете Visual Studio Code, ознакомьтесь с документацией по разработке Unity с VS Code.
Проверка обновлений
Рекомендуется поддерживать обновление Visual Studio и Visual Studio для Mac, чтобы получить последние исправления ошибок, функции и поддержку Unity. Для этого не требуется обновление версий Unity.
Если доступно обновление, Visual Studio Installer отобразит новую версию. Нажмите кнопку Обновить.
Настройка Unity для использования Visual Studio
По умолчанию Unity уже должен быть настроен на использование Visual Studio или Visual Studio для Mac в качестве редактора скриптов. Вы можете подтвердить это или изменить внешний редактор скриптов на определенную версию Visual Studio в редакторе Unity.
Выберите вкладку Внешние инструменты слева.
Раскрывающийся список внешний редактор скриптов позволяет выбрать различные установки Visual Studio. Можно также нажать кнопку Обзор. в раскрывающемся списке, чтобы добавить неограниченную версию.
После выбора Visual Studio из списка внешнего редактора скриптов, убедитесь, что флажок Editor Attaching (Присоединение редактора) установлен.
Чтобы завершить процесс настройки, закройте диалоговое окно Параметры.
Выберите вкладку Внешние инструменты слева.
Раскрывающийся список внешний редактор скриптов позволяет выбрать различные установки Visual Studio. Можно также нажать кнопку Обзор. в раскрывающемся списке, чтобы добавить неограниченную версию.
Чтобы завершить процесс настройки, закройте диалоговое окно Параметры.
Дальнейшие шаги
Чтобы узнать, как работать с проектом Unity и выполнить его отладку в Visual Studio, перейдите по адресу инструменты Visual Studio для Unity.
Как поменять редактор кода в Unity по умолчанию?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как поменять имя компонента по умолчанию?
Можно ли поменять имя компонента по умолчанию? Например когда я бросаю на форму Button1, он.
как поменять тему оформления по-умолчанию?
Можно ли как-то изменить тему оформления по-умолчанию, чтобы каждый новый отчет не перекрашивать.
Как поменять браузер для справки по умолчанию
В при нажатии кнопки помощи F1 на нужном месте, открывается по умолчанию Mozila. Как сделать.
Решение
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как запустить редактор кода в masm32?
После установки дистрибутива masm32 в указанном каталоге установились разные папки и файлы.
Как в Eclipse изменить формат кода по-умолчанию?
Когда в eclipse форматируешь код т.е. в меню выбираешь Sourse/Format или нажимаешь Ctrl + Shift +.
Как добавить поле для ввода кода в unity?
Хочу создать обучалку по программированию. Как средствами Unity реализовать возможность вводить код.
Как создать приложение для чтения QR-кода на Unity
Здравствуйте. Я начал разрабатывать приложение, одна из функций которого является считывание.
Как удалить Tencent, поменять в браузере страницу по умолчанию
Не удается удалить непонятную программу китайского происхождения Tencent В интернет эксплорере.
Unity — выбираем редактор javascript
Итак, мы хотим написать игрушку на Unity. Юнити предоставляет нам выбор из трех скриптовых языков — Javascript, C# и Boo.
Т.к. с Boo разбираться вообще не хотелось, то для нас стоял выбор JS vs C#. Для наших целей больше подошел именно JavaScript (на самом деле, правильнее было бы называть его UnityScript), т.к. он имеет более мягкую типизацию, да и переводить существующий у нас код из флэшового ActionScript’а было бы гораздо проще.
Но мы столкнулись с проблемой, которую вообще не ожидали обнаружить.
Список редакторов можно посмотреть в неофициальной вики.
Итак, что же я хочу от редактора?
Конечно же, я хочу умный и развитый auto-complete (intellisence).
Будем тестировать редактор на следующем коде:
Отдельно создадим тестовый класс TestClass.js:
public static var var_stat: int ;
public var var_pub: int ;
public static function TestFunc(): void <>
Теперь создадим второй класс, на котором и будем тестить auto-complete:
public var var_pub: int ;
protected var var_prot: int ;
private var var_priv: int ;
public static function StatFunc(): void <>
private function PrivFunc(): void <>
public function get var_getter(): int
public function DoTest() <
var var_int: int ;
// здесь будем тестить auto-complete
Писать код будем в месте, помеченном комментом и будем хотеть увидеть автокомплит.
Random.Range( подсказка по параметрам в зависимости от параметра+
——Instanti ate—+—Instantiate( подсказка по параметрам—+—var go: GameObj ect—++информация о переменной при наведении мышки—++информация о функции при наведении мышки——+ctrl+click (переход на определение функции/переменной)——± (F4)дерево классовтолько текущий класс,
ломается на геттерах
(перестает показывать
что-либо)
только переменные,
только текущий класс
все отлично
И что же мы видим? В принципе, наилучшим выглядит UnityDevelop. Но неудобный хелп по функциям все портит. Возможно, если бы кто-то адаптировал свежий FlashDevelop под Unity — все было бы хорошо. Но никто этого не сделал (сейчас UnityDevelop построен на FD 0.9).
И ни один редактор не поддерживает Ctrl+Click.
Вывод? Не знаю… Писать на шарпах в VS?
Если у кого-то есть опыт — welcome в комменты, с удовольствием выслушаю.
UPDATE: После всего этого я плюнул и сам поспособствовал появлению Unity Develop 4 (подробности и ссылки на скачивание в этом топике).
UnityEditor, динамическое содержимое редактора компонента
Работая над своей игрой в Unity я подумал, зачем мне создавать множество однотипных скриптов описывающих поведение игровых объектов, но имеющих небольшие отличая друг от друга, если я мог бы создать один, а добавляя его как компонент объекту просто выбирал бы тип того самого объекта, а в редакторе (он же Inspector) видел бы только те свойства и поля, что имеют прямое отношение к выбранному типу. Так же это позволило бы в зависимости от выбора внутри скрипта использовать те или иные методы. В этом мне помогло пространство имён UnityEditor и её класс Editor.
Update 1
Полученные комментарии к публикации натолкнули предостеречь вас. Не смотря на привлекательность описанного метода для решения различных задач, не стоит им злоупотреблять, а использовать аккуратно и рационально. Не делайте так, чтобы ваш код из объектно-ориентированного превращался в кашу.
Первое с чем я столкнулся — как реализовать выпадающий список в редакторе. Находя первые темы на форумах в интернете, казалось, что это не так то просто, но терпение привело меня к использованию обычного перечисления:
Результат
Далее. К примеру нам нужно, чтобы наш компонент хранил поле типа string содержащее текст. А также у нас должно быть две целочисленные переменные: первая имеет значение связанное с первым вариантом, вторая соответственно со вторым.
Итоговый файл TestComponent.cs:
Получилось так, но это не то что нам требуется
Теперь мы хотим чтобы при выборе первого варианта в редакторе мы видели поле для редактирования только первой переменной, вторая скрыта. Если выбран второй вариант — наоборот. Эти переменные могут иметь значения от 0 до 100 и в редакторе представлены в виде ползунка (слайдера). А текстовое поле имеет значение также зависящее от выбранного варианта.
Для реализации всего этого я воспользовался пространством имён UnityEditor и наследование от класса Editor, позволяющие в данном случае перерисовать окно редактора так как нам того хочется прямо из кода. Код написанный для изменения редактора компонента не стоит писать в том же скрипте, где описана функциональность описываемого компонента, так как этот код используется только на стадии разработки, а в готовом проекте его не должно быть. Для этого в папке Assets надо создать специальную папку Editor и в ней хранить все скрипты призванные изменить вид редактора того или иного компонента. Скрипты содержащиеся в этой папке не будут мешаться в списке доступных скриптов при добавление оных через Inspector.
Соответствующий скрипт TestComponentEditor.cs с комментариями:
Выбран первый вариант
Выбран второй вариант
Кстати не обязательно стирать стандартный редактор, а потом полностью его перерисовывать. Если вы хотите сделать незначительные изменения в стандартном редакторе компонента, то можно использовать метод DrawDefaultInspector() для того чтобы не перерисовывать редактор компонента, а дополнять его. Пишем метод в самом начале события отрисовки редактора OnInspectorGUI(). Заметьте, при этом поля редактора созданные в скрипте TestComponentEditor не замещают публичные поля скрипта TestComponent в редакторе, а добавляются ниже. При этом оба будут работать с одной и той же переменной. Чтобы оставить новый вариант поля в редакторе, в скрипте TestComponent надо перед соответствующей публичной переменной добавить атрибут [HideInInspector].
Дальше можно было бы углубиться. Попробовать другие типы переменных и способы их редактирования. Вроде кривых для редактирования и прогресс баров для отображения значения. Класс EditorGUILayot и классы-соседи дают нам такие возможности. Также можно было бы поработать с какими-нибудь методами, когда в зависимости от выбора одни работают другие нет. Но всё это и многое другое оставлю вам для реализации ваших собственных идей, ограниченных вашим же воображением. Я лишь показал вам что можно было бы сделать.
Как расширить редактор Unity новыми инструментами?
Редактор Unity знаменит не только тем, что в нем несложно научится делать игры используя уже имеющиеся инструменты, но и также возможностью дополнять сам редактор, улучшая его инструменты или создавая новые конкретно под проект. Чаще всего расширяют редактор именно с целью создания новых инструментов для удобства работы в нем.
Перед началом работы над расширением редактора, необходимо усвоить одно главное правило:
Часто бывает так, что в крупных проектах могут встречаться объекты с очень большим набором самых разных параметров, данных и свойств. Управлять всеми этими свойствами бывает очень трудно, так как просто теряешься в них или забываешь, какой параметр за что отвечает. Для примера, создадим простой скрипт юнита Unity и наполним скрипт данными.
Все же, пока не так сложно разобраться, какой параметр за, что отвечает, потому что их не так много, но с помощью расширения редактора можно добиться намного более удобного вида компонента для работы, например такого.
Насколько сразу стало все понятно, разные настройки юнита вынесены в разные области.
Редактор для компонента
Расширение инспектора
Раз теперь у нас есть доступ к настройкам редактора компонента, то можем указать небольшую зависимость: минимальный запас здоровья не может быть больше, чем максимальный, а максимальный запас здоровья не может быть меньше минимального.
Сохраняем и смотрим результат.
Далее поработаем с переключаемыми параметрами редактора и настройкой дальности атаки. По условию, если юнит может проводить атаки дальнего боя, то ему необходимо настроить эту саму дальность атаки. Для этого в компоненте Unit есть две переменные: boolean переменная, rangedUnit для обозначения, что объект является юнитом дальнего боя, и числовая переменная int rangeAttack для настройки самой дальности атаки.
Чтобы отобразить в редакторе эти две настройки, воспользуемся “ групповым ” переключателем. Этот переключатель не будет давать возможности изменить дальность атаки юниту, пока он является юнитом ближнего боя и наоборот.
public override void OnInspectorGUI () <
Снова сохраняем скрипт и смотрим результат.
Можно сохранить и посмотреть результат.
Первый параметр, который указывается в методе ObjectField – это сама переменная иконки. Далее необходимо указать тип объекта, в нашем случае это Sprite и последний boolean параметр “ запрещает ”, либо “ разрешает ” добавлять объекты со сцены.
Ну вот так на много лучше и удобней. Таким образом можно настраивать любые поля и свойства компонента, достаточно получить доступ к редактору объекта.