Presets
소개
이 문서는 Unity, C#을 사용하여 space-sdk 를 연동하는 방법을 안내합니다.
소스코드
이해하기
VPS AR을 활용하기 위해서는 XR Scene과 XRSDKAuthConfig 파일을 사용해야 하며,
360 VR 콘텐츠를 활용하기 위해서는 StarterScene 과 SpaceSDKSampleAuthConfig 파일을 사용해야 합니다.
유니티를 통해 space-sdk를 이용하기 위해서는 유니티 프로젝트 내에서 passport를 이용할 수 있도록 구성되어 있어야 합니다.
space-sdk는 기본적으로 passport 소스코드를 포함하고 있으며, 사용을 위해 아래 페이지를 참고하여 콘솔을 통한 회원가입 및 설정이 선행되어야 합니다.
Editor Version
- 2022.3.1f1
프로젝트 적용

스페이스 SDK는 깃허브 저장소에서 직접 소스코드를 다운로드 하여 프로젝트에 적용시키거나, PackageManger에 git url을 입력하여 사용할수 있습니다.
만약 현재 유니티 프로젝트에 passport가 구성되어있지 않다면, 깃허브 저장소의 소스코드를 다운로드 및 임포트 하고, PackageManager에 git url을 통한 설치를 모두 해주어야 합니다.
해당 space-sdk 저장소의 폴더 구성은 아래와 같습니다.
- Module : SpaceSDK
- NetCore : passport
- Plugin : 프로젝트 동작시 사용되는 공용 .dll 파일. 해당 파일은 적용하려는 프로젝트 Plugins 폴더에 위치시켜야 합니다.
- content-team-resources : sample scene 에서 사용되는 폰트 파일입니다.
시작하기
아래의 시작하기 가이드는 패스포트 구성이 되어있지 않은 빈 프로젝트를 기준으로 합니다.
패스포트 설치 및 구성을 위해서 이미 패스포트 설치 가이드를 진행하였다면, 아래 과정에서 깃허브 저장소의 소스코드 다운로드 및 임포트와 PackageManager에 git url을 통한 설치중 하나만 진행하여도 좋습니다.
URP 설정
유니티 프로젝트 생성 시 3D (URP)로 생성 합니다.

ProjectSetting -> PackageManager 편집
ProjectSetting -> PackageManager 실행 후, 아래 내용을 입력하여 Save 합니다.
Name : Attender
URL : https://package.openupm.com
Scope(s) : com.atteneder

manifest.json의 dependencies 수정
manifest.json 파일에는 다음과 같이 접근할 수 있습니다.



dependencies 항목에 아래와 같이 추가해 줍니다.
"com.akb.knn": "https://github.com/Level3Manatee/KNN.git",
"com.atteneder.ktx": "2.2.3",
"com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask#2.3.3",
"com.neuecc.unirx": "https://github.com/neuecc/UniRx.git?path=Assets/Plugins/UniRx/Scripts",
"net.abrusle.unity-scriptable.dictionary": "https://github.com/abrusle/unity-scriptable-dictionary.git",
"com.unity.jobs": "0.70.0-preview.7",
"com.unity.addressables": "1.21.12",

소스코드 다운로드 및 임포트
아래 깃허브에서 다운로드한 4개의 폴더를 Assets하위 폴더에 위치시킵니다.
https://github.com/maxstdev/space-sdk/

Plugin 하위 폴더의 dll 파일이 잘 임포트 되었는지 확인해 주세요.
namespace error가 발생할 수 있으나, 이는 다음 과정인 git url을 통한 PackageManger 설치 과정에서 해결 될 수 있습니다.
Git URL을 통한 PackageManger 설치
Window -> PackageManager를 실행 합니다.


해당 창에서 아래 url을 입력 합니다.
https://github.com/maxstdev/space-sdk.git?path=Module/SpaceSDK

설치된 Maxst Space SDK의 Samples 탭에서 SpaceSDK 항목을 import합니다.

사용하기
360 VR을 사용하기 위해서는
Project 에서 Scenes안에 StarterScene을 열어줍니다.

SDK에서 사용시 Passport Clinet Token값이 필요로 합니다. Sample로 제공된 spacesdkSampleAuthConfig에 Passport에서 생성한 애플리케이션 ID와 Key 값을 아래 비어 있는 부분에 넣어줍니다.

public class SpaceSDKSampleAuthConfig : PassportConfig
{
public override ClientType clientType => ClientType.Public;
public override string Realm => "maxst";
public override string ApplicationId => "";
public override string ApplicationKey => "";
public override string GrantType => "client_credentials";
private static SpaceSDKSampleAuthConfig instance;
public static SpaceSDKSampleAuthConfig Instance
{
get
{
if (instance == null)
{
instance = new SpaceSDKSampleAuthConfig();
}
return instance;
}
}
}
실행 후 어드레서블 관련 에러가 발생 하는 경우

그룹 창을 열고 Create Addressables Settings 버튼을 클릭 하여 Addressable 기능을 활성화 해줍니다.


VPS AR을 활용하기 위해서는
Project 에서 Scenes안에 XRScene을 열어줍니다.

Sample로 제공된 XRSDKAuthConfig에 Passport에서 생성한 애플리케이션 ID와 Key 값을 아래 비어 있는 부분에 넣어줍니다.
public class XRSDKAuthConfig : PassportConfig
{
public override ClientType clientType => ClientType.Public;
public override string Realm => "maxst";
public override string ApplicationId => "";
public override string ApplicationKey => "";
public override string GrantType => "client_credentials";
private static XRSDKAuthConfig instance;
public static XRSDKAuthConfig Instance
{
get
{
if (instance == null)
{
instance = new XRSDKAuthConfig();
}
return instance;
}
}
}