2015-12-16 2 views
1

Насколько я знаю, проект C# может быть добавлен в Unity3d в 2 формах. Как DLL или несвязанный проект.Компиляция проекта C# как DLL для Unity3d

Каковы плюсы и минусы обоих? Будут ли они работать на кросс-платформе (Android/iOS/WinPhone)?

Скомпилировать как DLL - просто я использую MonoDevelop или Visual Studio для нового проекта библиотеки классов и выберите .NET 3.5 и скомпилируйте?

Как добавить несжатый проект в Unity3d?

+0

Вот краткое краткое руководство по началу работы с этим ... https://purplelilgirl.wordpress.com/2015/01/07/how-to-create-dlls-for-unity/ – Fattie

ответ

1

Ну что ж, слишком много вопросов в одном посте. Попробуйте ответить на один на один: Unity Offical Docs обеспечивают большую помощь:

Вопрос

Насколько я знаю # проект C может быть добавлен в Unity3d в 2-х формах. Как DLL или несвязанный проект. Скомпилировать как DLL - просто я использую MonoDevelop или Visual Studio для нового проекта библиотеки классов и выбираю .NET 3.5 и компилирую?

Обычно скрипты хранятся в проекте в качестве исходных файлов и составитель Unity при изменении источника. Тем не менее, также возможно, что скомпилирует скрипт для динамически связанной библиотеки (DLL) с использованием внешнего компилятора . Получаемая DLL затем может быть добавлена ​​в проект , а классы, которые он содержит, могут быть прикреплены к объектам точно так же, как обычных скриптов.

Как правило, гораздо проще работать со сценариями, чем с DLL в Unity. Тем не менее, у вас может быть доступ к стороннему моноблоку, который составляет , который поставляется в виде DLL. При разработке собственного кода вы можете использовать компиляторы, которые не поддерживаются Unity (F #, например), , компилируя код в DLL и добавляя его в проект Unity. Кроме того, вы можете указать код Unity без источника (для Asset Store, скажем) и DLL - это простой способ сделать это. More

Каковы плюсы и минусы

О DLL:

Pros

  • Вы можете построить библиотеки DLL отдельно.
  • Это может быть быстрее, чтобы вновь построить одну DLL

Против

  • Телефонный код из DLL медленнее
  • Было бы медленнее пересобрать отверстие проект со всеми библиотек DLL
  • Названия функций видны. Это проще обратный код, который использует динамические библиотеки DLL Вы можете найти больше here, here и специально на Google, наш лучший друг :)

Как вы добавляете некомпилированный проект в Unity3d? Ans: Что вы подразумеваете под несжатым проектом? Вы имеете в виду скрипты? то обычно это просто Copy \ Paste внутри папки с ресурсами.

1

Будет ли работать Cross Platform (Android/iOS/WinPhone)?

Да. Вы можете создать проект библиотеки в Xamarin Studio/MonoDevelop/или Visual Studio. Если вы не включаете функции, специфичные для платформы, она будет тогда кросс-платформой.

Скомпилировать как DLL - Я просто использую MonoDevelop или Visual Studio для нового проекта библиотеки классов и выбираю .NET 3.5 и компилирую?

См. Это tutorial.

+0

PCL не поддерживаются в Unity , – Bartosz

+0

PCL отлично работает в Mono. https://www.reddit.com/comments/1ofiyj/net_team_makes_portable_class_library_pcl/ – David

+0

@Bartosz, почему downvote? – David

1

Когда вы открываете проект Unity в среде IDE (например, Visual Studio), это решение с двумя проектами: одно для игровых скриптов и одно для сценариев редактора. Вы можете добавить больше проектов в решение через вашу IDE по своему выбору. Для того, чтобы это сработало, вам нужно установить целевую структуру проектов в единицу, которая совместима с Unity (которая использует подмножество), например Unity 3.5 .net для полного базового класса. К сожалению, .NET PCL не поддерживается.

Вы можете ссылаться на свою (или стороннюю) библиотеку в любом из проектов, как обычно, просто помните, что она также должна быть совместима с Unity.

Wether ваш код будет работать на всех платформах, фактически зависит от того, что вы используете. На конкретных ограничениях платформы ссылаются на http://docs.unity3d.com/Manual/PlatformSpecific.html.

+0

К сожалению, PCL не поддерживается. Любая ссылка, чтобы оправдать это? – David

Смежные вопросы