*참고: Unity 리모트 설정은 현재 프리뷰 패키지로 제공됩니다. 리모트 설정은 새로운 바이너리 없이도 게임의 동작과 형상을 변경하도록 해주는 개선된 제품입니다. 기능을 원격으로 활성화하거나 비활성화하고, 특정 플레이어들을 위해 게임의 특정 요소를 변경하거나, 새 콘텐츠 릴리스를 예약하여 특별 이벤트를 진행할 수 있습니다.
코드를 작성하지 않고 씬에서 다른 컴포넌트의 프로퍼티를 조절하려면 Remote Settings 컴포넌트를 사용합니다. Remote Settings 컴포넌트는 Unity 에셋 스토어 에서 다운로드할 수 있는 원격 설정 플러그인의 일부분입니다.
Remote Settings 컴포넌트를 사용하기 전에, 프로젝트에서 원격 설정 활성화해야 하며, 또한 Unity Analytics 대시보드를 사용해 원격 설정 키-값 페어 생성을 해야 합니다.
Remote Settings 컴포넌트를 조정하려는 또 다른 컴포넌트로서 동일한 게임 오브젝트에 위치할 수 있습니다. 또는 다른 게임 오브젝트에 위치하여도 됩니다. 유일한 요구 사항은 Remote Settings 컴포넌트와 모든 조정하는 컴포넌트 모두가 같은 씬에서 활성화되어야 한다는 점입니다.
원격 설정을 컴포넌트 프로퍼티 또는 필드에 연결하려면:
Window > Unity Analytics > Remote Settings 로 이동해 원격 설정 창을 엽니다.
연결하려는 설정을 포함하는 설정(Release 또는 Development)을 선택합니다.
Remote Settings 컴포넌트를 저장할 게임 오브젝트에 대한 인스펙터 창으로 이동합니다.
Add Component 버튼을 클릭합니다.
리스트에서 Analytics > RemoteSettings 스크립트를 찾습니다.
게임 오브젝트에 Remote Settings 컴포넌트를 추가하려면 Add Component 를 클릭합니다.
새로운 파라미터 매핑을 추가하려면, Remote Setting 컴포넌트의 Parameters 리스트 아래에 있는 + 아이콘을 클릭합니다.
파라미터의 Object 필드로 원격으로 조정하려는 게임 오브젝트 또는 컴포넌트를 드래그합니다.
파라미터의 Field 드롭다운 리스트에서 조정하려는 프로퍼티 또는 필드를 선택합니다.
이 컴포넌트 프로퍼티 또는 필드를 조정할 목적으로 사용하려는 Remote Setting Key 를 선택합니다.
추가적으로 파라미터를 추가하려면 + 아이콘을 클릭합니다.
Remote Setting Key 이름이 리스트에 없는 경우, Remote Setting 창(메뉴: Window > Unity Analytics > Remote Settings)을 열고 Refresh 를 클릭합니다. 이 창에서 원격 설정이 여전히 보이지 않는 경우, 인터넷 연결이 되어 있고 프로젝트가 올바르게 설정되어 있는지 확인합니다. 원격 설정 활성화를 참조하십시오.
올바르지 않은 키가 키 이름 리스트에 나타나면, 원격 설정 창(메뉴: Window > Unity Analytics > Remote Settings)을 열고 Active Configuration 을 올바른 일련의 키를 포함하는 구성으로 설정합니다.
Remote Settings 컴포넌트는 Unity가 컴포넌트보다 나중에 씬에서 로드하는 프리팹변수를 설정할 수 없습니다. 이와 유사하게, 씬에서 나중에 로드된 Remote Settings 컴포넌트는 동일한 프리팹의 일부인 오브젝트의 변수만 설정할 수 있습니다. 이러한 타입의 상황을 관리하기 위해 하나 이상의 Remote Settings 컴포넌트를 사용합니다.
프리미티브 필드 및 오브젝트의 프로퍼티를 바로 설정하는 Remote Settings 컴포넌트를 사용할 수 있습니다. 그러나, 오브젝트의 비프리미티브 멤버의 변수를 설정하려면, 몇 개의 추가적인 코드를 작성해야 합니다. 가장 쉬운 접근 방법은 프리미티브 타입 프로퍼티를 Remote Settings 컴포넌트를 사용하여 설정할 수 있는 오브젝트에 추가하는 방법입니다. 그런 다음, 비프리미티브 오브젝트의 의도된 변수를 업데이트하기 위해 프로퍼티의 세터 함수를 구현합니다.
코드 예제
다음의 예제에서, 클래스는 렌더링된 게임 오브젝트에 할당된 머티리얼의 베이스 컬러를 설정합니다. 이렇게 하려면, 클래스는 HTML 스타일 컬러 문자열이 필요한 프리미티브 문자열 타입 프로퍼티를 정의합니다. 이 프로퍼티의 세터는 문자열을 분석하며, 이에 따라 머티리얼의 컬러를 설정합니다.
using UnityEngine;
public class RemoteColorChanger : MonoBehaviour
{
private string _colorString = "";
public string ColorString {
get {
return _colorString;
}
set {
Color colorObject;
if (ColorUtility.TryParseHtmlString (value, out colorObject)) {
_colorString = value;
Renderer renderer = GetComponent<Renderer> ();
if (renderer != null) {
MaterialPropertyBlock materialProperties = new MaterialPropertyBlock ();
renderer.GetPropertyBlock (materialProperties);
materialProperties.SetColor ("_Color", colorObject);
renderer.SetPropertyBlock (materialProperties);
}
} else {
Debug.LogWarning ("Invalid color string: " + value);
}
}
}
}
코드 예제 사용
Renderer
컴포넌트가 있는 GameObject
에 이RemoteColorChanger
스크립트를 추가할 수 있습니다. 설정 키를 ColorString
프로퍼티에 매핑하는 Remote Settings 컴포넌트를 사용할 수 있습니다. 이 예제에서, 스크립트는 Cube
오브젝트의 컴포넌트입니다.
Analytics 대시보드의 원격 설정 페이지에서 일치하는 키 값 페어는 다음과 같습니다.
비프리미티브 값을 설정하려면 동일한 기법을 사용합니다.
2017–05–30 페이지 게시됨
2017–05–30 - 이 날짜에는 Unity 5.5와 서비스가 호환되지만 버전 호환성은 변경할 수 있습니다.
Unity 2017.1의 새로운 기능