기술 자료

Unity Engine

Unity Engine

JavaScript에서 Unity C# 스트립트 함수 호출

Call functions from your Unity project in your JavaScript plug-in or browser.
읽는 시간 1분최근 업데이트: 한 달 전

JavaScript 플러그인 또는 브라우저 코드에서 일부 Unity 코드를 호출할 수 있습니다. 예를 들어 Unity 동작을 트리거하고 해당 메서드에 액세스해야 하는 JavaScript UI 요소가 필요할 수 있습니다.
브라우저의 JavaScript에서 Unity C# 스크립트에 데이터 또는 알림을 보내는 권장 방법은
SendMessage
함수를 사용하여 Unity 프로젝트의 게임 오브젝트에서 메서드를 호출하는 것입니다.

SendMessage 헬퍼 함수 사용

JavaScript 코드에서 Unity 스크립팅 API의 Unity 메서드를 호출하려면
SendMessage
를 사용합니다.
전달할 수 있는 메서드의 종류에는 몇 가지 제한이 있습니다. 게임 오브젝트의 메서드만 호출할 수 있으며, 다른 오브젝트에 연결된 일반적인 C# 메서드는 호출할 수 없습니다. 또한 다음 중 하나가 true인 경우에만
SendMessage
를 사용하여 메서드를 호출합니다.
  • 메서드가 파라미터를 받지 않습니다.
  • 메서드에 하나의 파라미터가 있으며 해당 파라미터는 문자열 하나입니다.
  • 메서드에 하나의 파라미터가 있으며 해당 파라미터는 숫자 하나입니다.
두 개 이상의 파라미터 또는 다른 유형의 파라미터가 있는 메서드는
SendMessage
를 사용하여 호출할 수 없습니다.

SendMessage 코드 예시

프로젝트에 내장된 JavaScript 플러그인에서 호출하려면 다음 코드를 사용하십시오.
MyGameInstance.SendMessage(objectName, methodName, value);
  • objectName
    은 씬에 있는 오브젝트의 이름입니다.
  • methodName
    은 현재 해당 오브젝트에 연결된 스크립트의 메서드 이름입니다.
  • value
    는 문자열이나 숫자일 수도 있고 비어 있을 수도 있습니다.
다음은 다양한 파라미터로 호출할 수 있는 각 메서드 유형을 보여 주는 또 다른 예시 코드입니다.
MyGameInstance.SendMessage('MyGameObject', 'MyFunction');MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 5);MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 'MyString');
임베딩 페이지의 전역 범위에서 호출하려면 전역 범위에서 JavaScript 함수 호출을 참조하십시오.

추가 리소스