Version: Unity 6.0 (6000.0)
언어 : 한국어
관리되는 플러그인
데스크톱 플랫폼용 플러그인 빌드

네이티브 플러그인

Unity는 C, C++, Objective-C 같은 언어로 작성할 수 있는 네이티브 코드의 라이브러리인 네이티브 플러그인을 지원합니다. 플러그인을 사용하면 C#으로 작성한 코드가 이러한 라이브러리에서 함수를 호출할 수 있습니다. 이 기능을 사용하면 Unity를 미들웨어 라이브러리나 기존 C 및 C++ 코드와 통합할 수 있습니다.

네이티브 플러그인은 간단한 C 인터페이스를 제공하며, C# 스크립트는 이를 다른 스크립트에 노출합니다. 또한 Unity는 특정 로우레벨 렌더링 이벤트가 발생할 때(예: 그래픽스 기기를 생성하는 경우) 네이티브 플러그인이 익스포트하는 함수를 호출할 수도 있습니다. 자세한 내용은 로우레벨 네이티브 플러그인 인터페이스를 참조하십시오.

네이티브 플러그인의 예시는 네이티브 렌더러 플러그인을 참조하십시오.

네이티브 플러그인 사용

네이티브 플러그인을 사용하려면 다음 단계를 수행하십시오.

  1. C 기반 언어로 함수를 작성하여 필요한 기능에 액세스합니다.
  2. 이를 라이브러리에 컴파일합니다.
  3. Unity에서 네이티브 라이브러리의 함수를 호출하는 C# 스크립트를 생성합니다.

타겟 플랫폼에서 네이티브 코드 컴파일러로 네이티브 플러그인을 빌드합니다. 플러그인 함수가 C 기반 호출 인터페이스를 사용하므로 네임 맹글링 문제를 피하기 위해 함수를 C 링크로 선언해야 합니다.

예제

단일 함수를 가진 간단한 네이티브 라이브러리는 다음과 같은 소스 코드를 가집니다.

float ExamplePluginFunction () { return 5.0F; }

Unity에서 이 코드에 액세스하려면 다음의 C# 스크립트를 사용하십시오.

using UnityEngine;
using System.Runtime.InteropServices;

class ExampleScript : MonoBehaviour {
    #if UNITY_IPHONE
    // On iOS plugins are statically linked into
    // the executable, so we have to use __Internal as the
    // library name.
    [DllImport ("__Internal")]
    #else
    // Other platforms load plugins dynamically, so pass the
    // name of the plugin's dynamic library.
    [DllImport ("PluginName")]   
    #endif
    private static extern float ExamplePluginFunction ();

    void Awake () {
        // Calls the ExamplePluginFunction inside the plugin
        // And prints 5 to the console
        print (ExamplePluginFunction ());
       }
    }

추가 리소스

관리되는 플러그인
데스크톱 플랫폼용 플러그인 빌드
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961