외부 프로젝트에서 Unity 스크립트 DLL 활용

2810 단어 Unity
며칠 전 논리적 부분을 Unity에서 분리할 수 있는지 연구했습니다. 실행 가능한 것처럼 보이기 때문에 이번에 분리된 논리적 부분을 DLL로 외부에서 이용하는 방법을 조사했습니다.환경은 Windows입니다.

Unity(MONO) 기능을 사용한 DLL 구축


간단히 Unity의 기능을 직접 사용할 수 있습니다.smcs.bat.
※ 참조이 페이지.
지난번 샘플 실제 구축된 명령을 사용합니다. (디렉터리 이름 부분 교체)
예제
"C:\Program Files\Unity\Editor\Data\Mono\bin\smcs.bat" -target:library -r:C:\Users\main\Desktop\hogemoge\UniRx.dll -r:C:\Users\main\Desktop\hogemoge\config.dll -out:jikken.dll /recurse:C:\Users\main\Desktop\etc\jikken\github\unity-sample\Assets\Scripts\Models\*.cs
UnityEngine, UnityEditor에 의존하지 않기 때문에, UniRx와 Config 클래스의 가상만 DLL화한 후에 읽게 합니다.

DLL을 불러보도록 하겠습니다.


생성하려는 DLL을 보고 다음 코드를 실행하는 콘솔 애플리케이션을 만듭니다.
Program.cs
using System;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var hoge = new Number(5);
            hoge.Pow();
            Console.WriteLine(hoge.Value.ToString());
        }
    }
}

일이 잘되다.

다른 건요?


상술한 방법 이외에
  • 다른 프로젝트에서 DLL을 만들고 Unity에서 읽기
  • 기호 링크를 사용하여 스크립트 공유
  • 이런 방법이 있습니다.
    그러나 전자는 실험을 시도했지만 iOS로 조작하지 않았다.후자는 상당히 강력한 수법이다.
    현재 Unity 내의 스크립트를 DLL화하는 것은 smcs입니다.전반적으로bat를 이용하는 게 제일 좋은 인상이야.

    좋은 웹페이지 즐겨찾기