Название вроде говорит само за себя. Можно ли заменить C # на C ++ в игре, использующей Unity?
Название вроде говорит само за себя. Можно ли заменить C # на C ++ в игре, использующей Unity?
Ответы:
Можно использовать C ++ с бесплатной версией Unity, хотя с ней проще работать, если у вас есть лицензия Unity Pro. Все, что вам нужно сделать, это обернуть его в DLL и следуйте инструкциям ниже, где его разместить.
Я написал статью, которая охватывает эту тему: Unity и библиотеки DLL: C # (управляемый) и C ++ (неуправляемый)
Для Unity 4 Free:
- Добавьте неуправляемый код в корневой каталог проекта Unity:
UnityProject
- Добавьте управляемый код в папку плагинов:
UnityProject
->Plugins
- Когда вы строите проект, скопируйте неуправляемый код в
BuildRoot
->Data
->Plugins
Для Unity 4 Pro и любого Unity 5:
- Просто скопируйте библиотеки в
UnityProject
->Plugins
Неуправляемые средства C ++ и Управляемые средства C #
Это возможно, хотя неудобно. Вы должны написать управляемый C ++, чтобы достичь этого. И да, есть такая вещь, как управляемый C ++. Управляемый не означает C # и неуправляемый C ++. Для этого вам нужно импортировать файл DLL UnityEngine. Когда вы закончите, вы положите его в папку (Имя проекта Unity) / Plugins. Вот код, который вы бы использовали: В файле C ++:
public ref class CPPUNITY {
public:
void Start() {
Debug::Log("C++ printed message");
}
};
В файле C #:
using UnityEngine;
public class FileName {
void Start() {
CPPUNITY.Start();
}
}
Точный код не сработает, но это основа.