- Using Notepad++ as external editor in Unity 3D
- Configuring Unity 3D for using Notepad++
- Configuring the Language Help
- Optional: Create your own theme
- Enabling syntax highlight
- Enabling auto-completion and hints for function parameters
- Goodies for improved usability
- Bonus
- Bonus++: Configuring the appearance of MonoDevelop
- Блокнот вместо ide в Unity
- Unity3d. Начало работы, практические советы. Рецензия
- Раздел 1. Введение
- Раздел 2. Начало работы
- Раздел 3. Практические советы
- Раздел 4. Завершение работы
- Раздел 5. Дополнительная информация
Using Notepad++ as external editor in Unity 3D
- Notepad++ (version 6.3 at the time of writing this)
- UnitEd Redirector
- Keywords file for Unity 4 (for Add the keywords to Notepad++ below)
- Auto-completion info for Unity 4 (for Enable auto-completion and hints for function parameters below, file is already parsed with the Python script)
- Edy.xml, cs.xml and javascript.xml files for Notepad++:
– Edy.xml is my own theme which includes the keywords for CS and JS. Move to the themes folder.
– cs.xml and javascript.xml are the auto-completion and function hint information files. Move to plugins\APIs overwriting the existing ones.
Configuring Unity 3D for using Notepad++
If you choose Notepad++ as external editor in Unity’s Preferences, clicking on an error message will open the file but will NOT move the focus to the offending line.
- Download UnitEd Redirector (original by Yggy King, updated by me, source included) and unzip it to a folder of your choice.
- Choose the monodevelop.exe file of the redirector as the external editor in Unity3D.
- Set the environment variable UNITYEDITOR in Windows as follows:
It’s worth mention that Unity only sends the line information to the external editor when the name of the executable is monodevelop.exe. Any other executable name won’t receive this information.
Configuring the Language Help
This enables Ctrl-F1 to search for information on the word under the cursor at the Unity help page.
- Plugins > Plugin Manager > Show Plugin Manager
- Find Language Help, select its checkbox, click Install.
If automatic install fails you can download it here and install it manually. - Plugins > Language Help > Options
- Click Add, enter the following data, and Ok:
Name: Unity 3D
Extensions/file mask: *.cs;*.js;*.boo;*.shader;*.compute
Extended help file path: http://docs.unity3d.com/Documentation/ScriptReference/30_search.html?q=$word$ - Optional: Show entry in context menu (allow search by right clicking a word in the editor)
Optional: Create your own theme
This prevents future updates of Notepad++ to override your changes. They will be persistently stored in your own theme:
- Settings > Style Configurator
- Select Theme: choose the theme that better fits your style. This will be your base theme.
- Find the theme name in the Themes folder inside the Notepad++ folder and make a duplicate. Give the file a proper name (i.e. My Style). This is the name that will be shown at the themes list.
If you want to use the default theme then make a duplicate of the file stylers.xml
and place it inside the Themes folder. - Restart Notepad++
- Settings > Style Configurator. Choose your theme. Click Save&Close.
- Some times you will prefer to edit directly the file My Style.xml instead of using the Style Configurator. For instance: a custom background color can be configured in Global Overrides, but if you want to use background colors in some of your styles then you should change the background globally on all styles using search & replace in the xml file.
- Set the global styles first, then focus on a single language each time.
- Information on the Style Configurator an the global styles.
Enabling syntax highlight
Unity keywords are located in this file (use “Program Files (x86)” on 64-bit systems):
Open it at Notepad++. The line 2 contains all the keywords.
Optional: Ensure that Notepad++ will recognize all keywords (also the ones inside the enums)
The enums are composed like in KeyCode.Keypad0, with the dot. Notepad wouldn’t recognize Keypad0 as keyword, not even when used with KeyCode.
This can be fixed with some massaging to the unitykeywords.properties file. The TextFX plugin for Notepad++ helped a lot. This may be somewhat advanced and I won’t go into the details. You can always use the keywords as they come but some of them won’t be highlighted.
- Use a macro (record & repeat) for removing all dots and the each word preceding a dot.
(if you are good with RegEx you’ll surely find an easier way using the Search & Replace function) - Select a single space character and copy it to the clipboard
- TextFX > TextFX Edit >Split lines at (clipboard characer) or , (VB)
A this time you may want to search for KeyCode and remove the spare letters A to Z. I don’t see the point of having these highlighted, but it’s up to you. - Select All (and keep all selected for the next operations)
- TextFX Tools > check Sort outputs only UNIQUE (at column) lines
- TextFX Tools >Sort lines case sensitive (at column)
- TextFX Edit >Unwap text
All keywords are now unique, without dots, sorted, and grouped in a single line.
Add the keywords to Notepad++
Once you have the text line with all the keywords:
- Settings > Style Configurator.
- Select the language you want to add the keywords too (typically C# or Javascript).
- Select KEYWORD or INSTRUCTION WORD. A text area labeled User-defined keywords should appear.
- Type an unique word, whatever, at the User-defined keywords area. For instance, type myuniquekeyword. If the text area already contains keywords, add yours at the end.
- Save & Close.
- Open the xml file for your theme in Notepad++ (or stylers.xml if you’re modifying the default theme).
- Search (Ctrl-B) for myuniquekeyword (or whatever word you’ve typed at step 4).
- Replace that word with the entire keywords line obtained from the file unitykeyword.properties.
- Save the file and restart Notepad++.
Repeat for each language you want to set the keywords to.
Enabling auto-completion and hints for function parameters
Settings > Preferences > Backup/Auto-Completion > Enable auto-completion on each input
Settings > Preferences > Backup/Auto-Completion > Function parameters hint on input
Word completion only completes keywords. Function completion completes keywords and functions. The lists of words that feed these features are at the folder \plugins\APIs, named as their corresponding language.
Unity auto-completion information is located here (use “Program Files (x86)” on 64-bit systems):
Needs to be converted to the Notepad++ XML format:
- Download the UnityJSapi_to_Npp.py script by AnomalousUnderdog.
- Edit the first lines for specifying the proper routes and files.
- Run the script with Python.
The resulting file Unity_to_Npp.txt can now be merged with the auto-complete files. Important: the Keyword tags of the merged file must be sorted by their name property.
Repeat for each language you want to set the auto-completion to.
Note that changes on files in the API folder are not persistent when updating Notepad++. You should make backup copies of the modified xml files.
Goodies for improved usability
Allows the cursor to be placed and moved anywhere in the workspace, not only over actual lines of text.
ScrollPastEOF plugin
Allows to scroll up to one page beyond the end of the file. Useful for not having to append text to files by watching at the very bottom of the screen (nor having to insert empty lines).
Use the Plugin Manager (Plugins > Plugin Manager) for install this one.
Ctrl-PageUp, Ctrl-PageDown: cursor to top / bottom of the current page
This is is a handy feature for quickly moving the cursor, and seems to have been “forgotten” to include in the default shortcuts:
- Settings > Shortcut Mapper > Scintilla commands
- SCI_STUTTEREDPAGEUP -> Ctrl + Page up
SCI_STUTTEREDPAGEDOWN -> Ctrl + Page down
SCI_STUTTEREDPAGEUPEXTEND -> Ctrl + Shift + Page up
SCI_STUTTEREDPAGEDOWNEXTEND -> Ctrl + Shift + Page down
The last two allows to extend the text selection to the top/bottom of the page.
Bonus
Using Notepad++ as default editor for GIT
This will make GIT invoke Notepad++ for all its text editing tasks instead of the actual vi, or vim, or whatever thing is that:
The command line switches makes Notepad++ to open the file requested by GIT in a separated, isolated instance that doesn’t interfere in any way with your current working session.
Adding code-formatting tools
Bonus++: Configuring the appearance of MonoDevelop
You can completely customize the look and feel of MonoDevelop, so it’s more pleasant to use when you have to (i.e. for debugging Unity 3D code).
- Download the GTK+ Themes and GTK+ Theme Switcher zip files and extract both them to a temporary directory:
http://downloads.sourceforge.net/gtk-win/gtk2-themes-2009-09-07-win32_bin.zip
http://downloads.sourceforge.net/gtk-win/gtk2_prefs-0.4.1.bin-gtk2.10-win32.zip
A list of the all available themes appear. Selecting them changes the theme of the window so you can preview them. Also, click the “show preview” button for an extended preview. Ensure to select the option “Use theme default font”! (or choose the font of your liking).
These themes look very nice with MonoDevelop:
- Darklooks
- LighthouseBlue
- Nimbus (my personal favorite)
- Unity
Источник
Блокнот вместо ide в Unity
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Текстовый редактор (блокнот) с кнопкой компиляции и запуска (IDE под mac os)
Здравствуйте, вопрос такой (скорее всего странный). Необходимо написать простенькую до убийства.
Открываю исходники через блокнот, а там вместо русских букв всякая муть
В IDE корректно отображает русские символы, и при запуске программы все тип топ. А вот когда.
IDE вместо SATA
Коллеги, помогите мне. Купил я подержаный комп. Пентиум 2800 Мгц. Там SATA-винт всего 40 Гиг. Хочу.
IDE вместо консоли
Имеется в качестве серверов несколько linux (mandriva) систем и windows машина в качестве рабочего.
Ну, можете скрипты открыть и редактировать в NotePad++, но это будет только Вам в минус, так как это редактор с подсветкой синтаксиса. Никаких зависимостей он не понят и будете делать столько ошибок в коде, что лаги в IDE-шках будут казаться детским лепетом. У меня такое было с PHP. Если нет зависимостей, то всё ок, но если проект большой, то блокнот существенно замедляет процесс разработки и отладки.
Поищите плагины к NotePad++, может кто-то слепил костыли, чтобы собрать и поддерживать зависимости да ещё и дружил с Unity.
jetyb, удалил, не помогло
Добавлено через 29 секунд
jetyb, это просто смена ide, а мне нужно еще и код от туда брать
Блокнот. Как создать блокнот для Android? Правильно ли мой алгоритм написан?
Добрый день Всем! Правильно ли пишу блокнот с компонентами: 1. Memo1 2. Button 2 штуки. .
каким образом пожна подключить на мать с 2 IDE выходами и 2 SATA 3 жестких диска IDE и 2 CD-ROM IDE?
Доброго вам времени суток Можете подсказать каким образом пожна подключить на мать с 2 IDE.
Новая мать не видит ide ЖД и ide привод, проблема в Sata — Ide контроллере?
на оч старом компе решил заменить мать, ОЗУ, проц, видео. идешный HDD и привод оставил, купил 2.
Источник
Unity3d. Начало работы, практические советы. Рецензия
Доброго времени суток. Данная статья посвящена мультиплатформенному инструменту Unity3d. В статье рассмотрены оптимальные, по моему мнению, способы работы с движком, даны практические советы по эксплуатации и дополнительные (общие) сведения; рассмотрены перспективы развития Unity3d.
Содержание:
- Раздел 1. Введение
- Что такое Unity ?
- Возможности Unity3d
- Проблема дополнительных знаний
- Раздел 2. Начало работы
- Вспомогательная литература
- На это стоит обратить внимание
- NB!
- Сцены
- Отладка
- Структурирование
- Раздел 3. Практические советы
- Написание скриптов
- Видеоуроки
- Устранение ошибок
- Раздел 4. Завершение работы
- Выводы
- Публикация игры
- *Оптимизация
- Раздел 5. Дополнительная информация
- Теория графики
- Полезные ссылки
- Мнение
- Что хочется увидеть в будущем?
- Источники информации
Раздел 1. Введение
Что такое Unity3d ?
Unity3d является современным кросс-платформенным движком для создания игр и приложений, разработанный Unity Technologies. С помощью данного движка можно разрабатывать не только приложения для компьютеров, но и для мобильных устройств (например, на базе Android), игровых приставок и других девайсов.
Поговорим немного о характеристиках движка. Во-первых, стоит отметить то, что в среду разработки Unity интегрирован игровой движок, иными словами, вы можете протестировать свою игру не выходя из редактора. Во-вторых, Unity поддерживает импорт огромного количества различных форматов, что позволяет разработчику игры конструировать сами модели в более удобном приложении, а Unity использовать по прямому назначению — разработки продукта. В-третьих, написание сценариев (скриптов) осуществляется на наиболее популярных языках программирования — C# и JavaScript [1].
Таким образом, Unity3d является актуальной платформой, с помощью которой вы можете создавать свои собственные приложения и экспортировать их на различные устройства, будь то мобильный телефон или приставка Nintendo Wii.
Для того чтобы создать свою игру, вам, как минимум, нужно владеть одним из доступных (на Unity) языков программирования: C#, JavaScript или Boo.
Будет прекрасно, если вы владеете, например, 3Ds max’ом, это вам сильно поможет при создании игры. Что касается меня, то мне пришлось освоить 3Ds max на базовом уровне, ибо нигде не мог найти нужную мне модель дома [3]. В любом случае вам понадобится установленный 3Ds max на ваш компьютер, если вы собираетесь импортировать готовые 3D модели. Ибо, в большинстве своем, необходимые модели имеют формат проекта, т.е. необходимо будет зарендерить их в соответствующий для Unity3d формат, например, в *.3DS, и только после этого делать импорт в Unity, в противном случае последний выдаст ошибку.
Раздел 2. Начало работы
Вспомогательная литература
Обратимся к литературе, которая поможет нам изучить Unity3d, а именно, к Unity 3.x Game Development Essentials [2]. Книгу в свободном доступе можно найти в гугле, если вы предпочитаете бесплатный контент.
О чем книга? Пожалуй, обо всем, что только нужно для создания полноценной игры. Настоятельно рекомендую приобрести данную книгу и изучить самостоятельно.
Пару слов об игре и содержании книги. Ваш игрок оказывается на необитаемом острове, ему необходимо спастись, для этого он выполняет различные задания и, будем надеяться, спасается. Игру можно пройти за пару минут, однако создание игры занимает далеко не пару минут, даже не пару часов, пожалуй.
Книга содержит очень подробное руководство по созданию игры «с нуля». В ней описано многое, что вам, скорее всего, понадобится для создания вашей игры.
Книга написана на английском языке; тем, кто не знает английский, будет не сложно интуитивно догадаться о чем идет речь, ибо написана книга без особых премудростей.
На это стоит обратить внимание
Приведу несколько советов при создании игры в Unity3d.
º Коллайдеры
Что это такое — коллайдер? Коллайдер — это область пространства, при взаимодействии с которой выполняются те или иные скрипты, действия. Чтобы лучше понять что это такое, представьте, что вы подходите к автоматически открывающимся дверям универмага. За пару метров от дверей, срабатывает датчик и двери распахиваются перед вами, но если вы пройдете за три метра, то ничего не произойдет. Как раз та зона, в которой действует датчик движения, отвечающий за открывание дверей, и есть коллайдер. Вы входите в зону — двери открываются, выходите из зоны — и датчик уже никак не будет реагировать на ваше присутствие. Точно так же и в игре.
Так вот, о коллайдерах. Предположим, мы импортировали в наш проект автомобиль и хотим сгенерировать для него коллайдер. Можно сгенерировать автоматически коллайдер для всего автомобиля, но тогда для каждой детали автомобиля — фары, уплотнителя, зеркала, покрышки — будет сгенерирован свой коллайдер.
Это абсолютно не оптимально. Безусловно, нам не нужно генерировать столь большое количество коллайдеров, достаточно ограничиться одним!
Обратите внимание, что это не тонкость. Стараться сэкономить память нужно везде. У вас есть какое-то место в игре, куда игрок не сможет попасть? Не генерируйте никакие коллайдеры для этого места вообще. У вас есть дверь, которую вы импортировали в проект из 3Ds max’а? Небось, она очень хорошо прорисована (сам сталкивался с тем, что у двери даже шурупы были прорисованы отдельным объектом), значит, создайте один box-коллайдер для всей двери — вы сэкономите много памяти! Поверьте, что вам эта сэкономленная память еще очень и очень пригодится.
º Оптимальная работа со сценами
Поговорим об оптимизации сцен, о самих же сценах будет речь вестись далее.
Представьте следующую ситуацию: у нас есть сцена «home» — когда игрок находится в здании и сцена «street» — когда игрок выходит из здания на улицу. Естественно, из второй сцены мы можем видеть дом, т.е. часть первой сцены, и наоборот (если, конечно, у здания есть окна). В таком случае оптимально следующее построение сцен. В первой сцене все, что касается улицы (т.е. того места, куда мы не можем попасть без перехода на другую сцену) надо максимально упростить. Иными словами, нам нужно оставить только внешний вид вида из окна, а всю начинку — распотрошить. Т.е. все коллайдеры удалить, разрешение и т.п. свести к минимуму. Действительно, зачем процессору напрягаться с обработкой той местности, которую мы не можем посетить? Аналогичным образом поступаем со второй сценой («street»). В данном случае мы можем вообще все удалить из дома и оставить только его «коробку».
Вы хотите создать minimap? Пожалуйста, только избавьтесь от всех коллайдеров и снизьте разрешение, в таком случае ваша игра будет оптимальна.
Именно таким образом работа со сценами становится оптимальной. Еще раз отмечу, что это не тонкости, это серьезные вещи, которые требуют внимания создателя.
Сцены
Готовая игра — это набор сцен, соединенных между собой (точно так же, как и жизнь — это набор дней). Об оптимальном проектировании игры мы сейчас и поговорим.
Прежде чем создать свой проект — подумайте, что он должен в себя включать (какие сцены). Составьте список сцен (на листочке), обдумайте, что каждая сцена будет в себе содержать. Теперь постарайтесь каждую сцену разбить на подсцены, чем больше их будет, тем легче будет вашему ЦП. Конечно, не стоит перебарщивать с количеством сцен. Предположим, что ваш игрок находится в здании и из него никогда не выходит, в здании есть, например, пару этажей, крыша, а на каждом этаже имеется три комнаты. В данном случае, по моему мнению, было бы оптимально «разбить» здание на две сцены — два этажа и крыша. Дробление же каждого этажа на сцены с комнатами — не оптимально. Это просто не нужно, если каждая из комнат слабо загружена. Иными словами, надо грамотно расходовать память процессора, но и забывать о получении удовольствия от игры тоже не стоит.
Отладка
Помните, что хороший создатель должен учитывать то, что его игра, либо приложение, будет использоваться на различных ЭВМ, а это означает, что свой контент необходимо отладить так, чтобы он мог использоваться на различных устройствах. Самый очевидный и важный момент отладки — оптимизация приложения под различные разрешения экранов. Это важный момент и создатель игры обязательно должен обратить на него свое внимание, в противном случае, результатом своей работы сможет быть доволен только он один.
Структурирование
При конструировании игры важно помнить о структурировании данных — немаловажном аспекте. Имеется ввиду, что все должно быть на своем месте. Создаете скрипты? — создайте папку для скриптов, там и храните их, с большой вероятностью, у вас будет не один скрипт, разбрасывать их по всему проекту не есть хорошо, сами потом будете мучиться. По своему опыту могу сказать, что вам точно понадобится создать папки со скриптами, звуковыми файлами, с GUI текстурами, материалами, анимациями, быть может, префабами и собственными моделями (импортированные из 3Ds max’а объекты лучше хранить именно в последней папке, дабы не разбрасывать все модели по проекту в хаотичном порядке). Когда вы создаете тот или иной скрипт, помните о том, что название переменных, классов и т.п. должны говорить все сами за себя. Если вы хотите создать скрипт для инвентаря (поднять предмет, использовать предмет), то лучше все скрипты однообразных действий (например, поднятия) начинать с ключевого слова, например: Catch ; Use , в таком случае вам будет легче ориентироваться в проекте, да и выглядит так намного симпатичнее.
Раздел 3. Практические советы
Помните золотое правило: хорошая программа не та, которая написана тяп-ляп и отлажена до предела, хорошая программа та, которая пишется сразу правильно и требует минимальных «затрат» на отладку. Если вы будете пользоваться этим правилом, то у вас все будет намного лучше чем у тех, кто этим правилом не пользуется.
Написание скриптов
Увы, этот подраздел будет совсем короткий. Просто старайтесь сначала представить то, что вы хотите реализовать, затем попробуйте описать словами алгоритм, а далее — преобразовать слова в работающий код. Используя книгу, о которой речь шла выше, вам навряд ли придется сильно потеть над разработкой кодов и других вещей, повторюсь, что в книге описано практически все, что только может понадобиться, а все, что не описано — легко додумать самому.
Видеоуроки
К счастью, программный продукт Unity обновляется постоянно, но, увы, видеоуроки сами это делать не могут. Получается так, что огромное количество видеороликов, актуальных год назад, теряют свою актуальность и становятся, попросту, бесполезными.
1 — здесь вы всегда найдете актуальные видеоуроки, понятное объяснение, детальный разбор скриптов и всех действий. Лучше этого канала пока что ничего не нашел. Если вы не имеете вообще никакого представления о создании игры, то вам однозначно нужно заглянуть на данный канал. 2 — серьезная команда, видеоуроков только, жаль, меньше, чем у 1. 3 — есть полезные вещи, жаль только, что видеоуроки стали почти неактуальными.
Устранение ошибок
Unity3d — такой движок, что если у вас имеются ошибки в написании скриптов, то игра ваша не запустится. Если же нет явных ошибок, то игра запускается, если что-то идет не так, то консоль вам об этом обязательно сообщит.
Это предупреждения, они просто говорят вам о возможных недочетах, недоработках:
Это ошибки, если такие имеются, то игра не запустится:
Раздел 4. Завершение работы
Выводы
Unity3d — очень гибкий движок, предоставляющий большую свободу действий пользователю. Чтобы упростить жизнь разработчику и потребителю, можно предпринять некоторые шаги для оптимизации своего проекта.
Теперь мы, с заложенной базой знаний, можем спокойно приступать к созданию своего ультра-популярного приложения!
Публикация игры
Свою готовую игру можно опубликовать на одном из игровых сервисов, например, на www.kongregate.com
*Оптимизация
Если вы читаете данный подраздел, то либо вам просто интересно, что здесь написано, либо вы не прочитали NB! из раздела 2. Будем надеяться, что вы относитесь к первой категории. В данном подразделе еще раз хочется отметить то, что нужно сразу писать игру оптимальной, а не писать ее хоть как-то, и только затем отлаживать — это гиблый путь и поступать так не стоит. По поводу оптимизации — еще раз обратитесь ко второму разделу.
Раздел 5. Дополнительная информация
Теория графики
Практика без теории бывает не очень уж и интересной, поэтому советую ознакомиться с теорией компьютерной графики. www.intuit.ru/department/graphics/graphalg/lit.html
Протестировать свои теоретические знания можно тут www.intuit.ru/department/graphics/graphalg
Полезные ссылки
Мнение
Unity3d действительно мощный движок [4], с помощью которого можно создавать настоящие, работающие игры. Однако, как и у любого программного продукта, у него есть, по моему мнению, свои недостатки.
º 2D графика
Считаю, что это самый главный провал Unity. Полное отсутствие нормальной, адекватной работы с 2D графикой. Имеется ввиду создание 2D-игр. Создать такую игру можно, но придется сильно напрягаться и извращаться. Если разработчики Unity смогут доработать этот недостаток, то, это будет очень и очень хорошо.
º Префабы
Хотелось бы видеть больше префабов, каких-то готовых вещей, объектов, например, домов, предметов элементарного интерьера — столов, стульев. Да, это все есть в магазине Unity[5], но, увы, многие вещи там платны, а бесплатные продукты лишь изредка достойны внимания. Отдельный разговор про 3rd person controller — извините, но это просто неприемлемо:
º Оптимизация изображения
Хотелось бы, чтобы работа с оптимизацией изображения под различные разрешения экрана была проще. Ведь достаточно чуть-чуть поработать с преобразованием координат и тогда не надо будет задумываться о том, что надо вычислять размеры, координаты через размер (разрешение) экрана.
Источник