Der Titel sagt schon alles. Ist es möglich, C # in einem Spiel mit Unity durch C ++ zu ersetzen?
Der Titel sagt schon alles. Ist es möglich, C # in einem Spiel mit Unity durch C ++ zu ersetzen?
Antworten:
Es ist möglich, C ++ mit der kostenlosen Version von Unity zu verwenden, obwohl es einfacher ist, damit zu arbeiten, wenn Sie eine Unity Pro-Lizenz haben. Alles, was Sie tun müssen, ist, es in eine DLL zu packen und den Anweisungen unten zu folgen, um es zu platzieren.
Ich habe einen Artikel zu diesem Thema geschrieben: Unity und DLLs: C # (verwaltet) und C ++ (nicht verwaltet)
Für Unity 4 Free:
- Fügen Sie dem Unity-Projektstamm nicht verwalteten Code hinzu:
UnityProject
- Fügen Sie verwalteten Code zum Plugins-Ordner hinzu:
UnityProject
->Plugins
- Kopieren Sie beim Erstellen eines Projekts den nicht verwalteten Code nach
BuildRoot
->Data
->Plugins
Für Unity 4 Pro und Unity 5:
- Kopieren Sie einfach die DLLs in
UnityProject
->Plugins
Nicht verwaltet bedeutet C ++ und verwaltet bedeutet C #
Es ist zwar unpraktisch möglich. Sie müssten verwaltetes C ++ schreiben, um dies zu erreichen. Und ja, es gibt so etwas wie verwaltetes C ++. Verwaltet bedeutet nicht speziell C # und nicht verwaltetes C ++. Um dies zu erreichen, müssen Sie die UnityEngine-DLL-Datei importieren. Wenn Sie fertig sind, legen Sie es im Ordner (Unity Project Name) / Plugins ab. Hier ist der Code, den Sie verwenden würden: In der C ++ - Datei:
public ref class CPPUNITY {
public:
void Start() {
Debug::Log("C++ printed message");
}
};
In der C # -Datei:
using UnityEngine;
public class FileName {
void Start() {
CPPUNITY.Start();
}
}
Dieser genaue Code würde nicht funktionieren, aber das ist eine Basis.