Rust를 사용하여 라이브러리를 생성/빌드 한 뒤 유니티에서 Plugin으로 dll import하여 함수 사용
-- Rust --
숫자 2개를 더해 리턴하는 간단한 라이브러리 생성
Library생성을 위해 Cargo.toml 에 lib정보 추가
[package] name = "unity-rust"version = "0.1.0"authors = ["xxx" ] edition = "2018" [dependencies] [lib] name = "unity_rust"crate-type = ["dylib"]
lib.rs 소스 추가(단순한 2개 숫자 합산후 리턴)
#[no_mangle]pub extern fn sum(input1: i32, input2: i32) -> i32 { input1 + input2 }
생성된 파일 ./unity-rust/target/debug/libunity_rust.dylib 파일을
Unity ./Assets/Plugins 에 복사
--- Unity ---
RustBehaviour.cs 파일 추가
클래스 안에 DllImport속성을 지정하여 함수 추가(dll확장자는 생략 가능)
using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; public class RustBehaviour : MonoBehaviour { [DllImport("libunity_rust")] private static extern int sum(int v1, int v2); // Start is called before the first frame update void Start() { Debug.Log("sum : " + sum(3, 4)); } }
아래와 같은 결과를 Console에서 확인 가능
댓글 없음:
댓글 쓰기