C ++ 'ı C # yerine Unity ile kullanmak mümkün müdür?


Yanıtlar:


23

Unity Pro lisansına sahipseniz, C ++ 'ı Unity'nin Ücretsiz sürümüyle kullanmak mümkündür. Yapmanız gereken tek şey onu bir DLL'ye sarmak ve yerleştirmek için aşağıdaki talimatları izlemektir.

Bu konuyu kapsayan bir makale yazdım: Birlik ve DLL'ler: C # (yönetilen) ve C ++ (yönetilmeyen)

Unity 4 Free için:

  • Unity Project Root'a yönetilmeyen kod ekleyin: UnityProject
  • Eklentiler klasörüne yönetilen kod ekleyin: UnityProject->Plugins
  • Bir proje oluştururken, yönetilmeyen kodu BuildRoot-> Data->Plugins

Unity 4 Pro ve herhangi bir Unity 5 için:

  • Sadece dll içine kopyalayın UnityProject->Plugins

Yönetilmeyen C ++ ve Yönetilen C # anlamına gelir.


1
Bu, ücretsiz sürümün pro sürümün tüm motor özelliklerini içerdiği Unity 5 için değişti mi?
GeekyMonkey

1
@GeekyMonkey Makale ve cevap güncellendi.
MLM

Unity3D bağlamında C # 'yı C ++ ile değiştirmeyi denemek anlamsızdır. Yerel kodla etkileşime girme istendiğinde bu cevap yardımcı olabilir.
aggsol

1
Yeni IL2C ++ teknolojisinde, C # yerine C ++ kullanmak için pek çok neden yoktur. Şu anda, mobil platformlarla sınırlı, ancak teknolojinin yakında PC'de kullanıma hazır olmasını bekliyor.
JPtheK9

1
@ user2023370 Dili "Birlik 4 ve altı" nı daha açık hale getirmek için bu bölümü güncelledim, yorum için teşekkürler :)
MLM

1

Uygunsuz olsa da mümkündür. Bunu başarmak için yönetilen C ++ yazmanız gerekir. Ve evet, C ++ gibi bir şey var. Yönetilen, özellikle C # ve yönetilmeyen C ++ anlamına gelmez. Bunu başarmak için UnityEngine DLL dosyasını içe aktarmanız gerekir. İşiniz bittiğinde (Unity Project Name) / Plugins klasörüne koyun. İşte kullanacağınız kod olacaktır: C ++ dosyasında:

public ref class CPPUNITY {
  public:
     void Start() {
         Debug::Log("C++ printed message");
     }

};

C # dosyasında:

     using UnityEngine;
     public class FileName {
         void Start() {
              CPPUNITY.Start();
         }
     }

Bu kesin kod işe yaramaz, ancak bu bir temel.


Unity'de kullanılan mono çalışma zamanı nihayet karma mod montajlarını destekliyor mu? Birkaç yıl önce 4'te şansımız olmadı ve VS 2012'den gelen meclisler bu yüzden gerçekten harika olurdu!
Oliver,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.