Какой язык используется для разработки с использованием Unity - PullRequest
56 голосов
/ 14 февраля 2011

Какой язык нужно использовать при программировании с Unity?Или это API для многих языков?

Я прочитал документы, и мне кажется, что я упустил пункт об используемом языке.

В нем говорится, что у него есть развертывание iOS, это все равно позволитпрограммист для кодирования в цели C?

Является ли Unity SDK, который может использоваться для многих платформ или как он работает?В нем упоминается развертывание одного и того же кода на нескольких платформах.

Ответы [ 10 ]

96 голосов
/ 27 февраля 2011

Вся разработка выполняется с использованием вашего выбора C #, Boo или диалекта JavaScript.

  • C # не нуждается в объяснении:)
  • Boo - это язык CLI с очень похожимсинтаксис к Python;однако он имеет статическую типизацию и имеет несколько других отличий.Это не "действительно" Python;это выглядит примерно так.
  • Версия JavaScript, используемая Unity, также является языком CLI и компилируется.Новички часто предполагают, что JS не так хорош, как остальные три, но он скомпилирован и так же быстр и функционален.

Большая часть примера кода в документации написана на JavaScript;если вы будете просматривать официальные форумы и вики, вы увидите довольно равномерное сочетание C # и Javascript.Кажется, очень немногие используют Boo, но это так же хорошо;выберите язык, который вы уже знаете или изучаете сами.

Unity берет ваш код C # / JS / Boo и компилирует его для работы на iOS, Android, ПК, Mac, XBox, PS3, Wii или веб-плагине.В зависимости от платформы, которая может оказаться Objective C или что-то еще, но это совершенно прозрачно для вас.Нет смысла знать цель C;Вы не можете программировать в нем.


Обновление 2019/31/01

Начиная с Unity 2017.2 "UnityScript" (версия Unity для JavaScript, но неидентично) сделал первый шаг к полному устареванию, удалив опцию добавления файла «JavaScript» из пользовательского интерфейса.Хотя JS-файлы все еще можно использовать, поддержка в них будет полностью прекращена в более поздних версиях.

Это также означает, что Boo станет непригодным для использования, так как его компилятор фактически собран как слой поверх UnityScript.И, таким образом, будет удален aswel.

Это означает, что в будущем только C # будет иметь собственную поддержку.

unity выпустила полную статью об устаревании UnityScript иБу в августе 2017 года.

31 голосов
/ 14 февраля 2011

Насколько я знаю, вы можете пойти с C #.

Вы также можете использовать малопонятный язык "Бу". ( Найдено на https://boo -language.github.io / )

В прошлом (до 2012 года) можно было использовать странный вариант Java, но сейчас он устарел и не работает.

Обратите внимание, что Unity собирается на Android / iOS и многих других платформах. Тот факт, что в iOS-программировании используются target-c или Swift, совершенно не имеет значения на уровне Unity3D. Unity программируется с помощью c #.

6 голосов
/ 14 февраля 2011

Когда вы собираете для iPhone в Unity, он выполняет сборку Ahead of Time (AOT) вашей моно сборки (написанной на C # или JavaScript) в собственный код ARM.

Авторский инструмент также создает заглушку xcode project и ссылается на скомпилированную lib. Вы можете добавить объективный код C в этот проект xcode, если есть нативные вещи, которые вы хотите сделать, которые еще не представлены в среде Unity (например, доступ к компасу и / или гироскопу).

5 голосов
/ 02 апреля 2013

Unity3d поддерживает C #, Boo и JavaScript.Фреймворк переводит это в свой промежуточный формат, а затем в нужную платформу (IOS / Android / Linux / Windows)

Имейте в виду, сначала создаются скрипты C #, затем JS и Boo. Следовательно, если вы хотите C #Для взаимодействия с JS вам потребуется сохранить JS в стандартной папке активов.

3 голосов
/ 25 мая 2016

Unity поддерживает:
1. UnityScript (известен как Javascript, но включает в себя больше функций для игрового движка Unity. Я думаю, что это может быть очень легко освоить)
2. Boo (без опыта)
3. C # (я предпочитаю это, так как это полезно для изучения, и вы сможете использовать это и вне единства. Я также думаю, что к этому легко привыкнуть)

2 голосов
/ 16 октября 2014

Некоторые основные различия между синтаксисом сценариев C # и Javascript в Unity.

http://unity3d.com/learn/tutorials/modules/beginner/scripting/c-sharp-vs-javascript-syntax

но имейте в виду, что C # - лучший способ развиваться в единстве

1 голос
/ 19 ноября 2017

Я помню это, читая некоторые статьи о производительности в единстве из Интернета, которые побуждают пользователей javascript использовать его в единстве о действительно серьезных проблемах использования javascript в единстве вместо C #, там говорится, что C # почти в 4 раза быстрее, чемjavascript!
Я действительно ценю, что статья b / c спасла мою задницу, когда я собирался начать играть, я не имею в виду, что javascript плох для разработчиков Unity, это хорошо, но мой совет может быть, что если выкак при использовании javascript, вы должны использовать его для простых маленьких игр НЕ ДЛЯ БОЛЬШИХ ПРОЕКТОВ , потому что это действительно может быть чёртовой проблемой!

1 голос
/ 19 августа 2014

Можно использовать любой из следующих трех языков сценариев:

  1. JavaScript
  2. C #
  3. Boo

Но мой личный выбор - C #, потому что я нахожу его быстрее по сравнению с двумя другими.

1 голос
/ 22 апреля 2014

Используются c # и unityscript (javascript), которые поддерживаются исходным кодом на c ++, и поддержка плагинов c ++ (исходный код и плагины требуют pro).

Справочник по сценарию unity3d действительно прост для понимания / использования, если это необходимо, возможно, самый простой из таких движков, как cryengine, udk и т. Д.

Надеюсь, это поможет.

1 голос
/ 17 декабря 2013

Вы можете использовать C #, Javascript, Boo.

Если вычислительные требования для написанной вами функции не вызывают большую нагрузку на процессор, Javascript обеспечивает достаточно высокую производительность в большинстве случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...