데이터스미스 3ds Max 익스포터 플러그인을 설치하면 MAXScript 환경에 작은 Datasmith_Export
인터페이스가 추가됩니다. 이 인터페이스를 사용하면 3ds Max 씬을 수동으로 익스포트하는 대신 .udatasmith
파일로 자동으로 익스포트할 수 있습니다. 이 페이지에서는 Datasmith_Export
인터페이스가 노출하는 메서드에 대해 설명합니다.
데이터스미스 3ds Max 익스포트 스크립트 구문이 버전 5.1에서 변경되었습니다. 이전 버전용으로 작성된 스크립트는 버전 5.1에서 작동하지 않습니다. 이 페이지에 설명된 새 구문을 사용하여 기존 스크립트를 다시 작성할 수 있습니다.
이 메서드 중 일부는 3ds Max 리본의 '데이터스미스(Datasmith)' 탭에 있는 명령에 해당합니다(3ds Max 리본 참고). MAXScript에서 메서드를 호출할 때 리본의 해당 명령에 대한 유저 인터페이스가 즉시 업데이트되지 않을 수 있습니다. 유저 인터페이스를 새로 고치려면 3ds Max 리본의 다른 탭으로 이동한 다음 '데이터스미스' 탭으로 돌아갑니다.
익스포트 옵션 구하기 및 설정하기
Datasmith_GetExportOption_AnimatedTransforms()
데이터스미스가 전체 애니메이션 타임라인을 익스포트하도록 설정된 경우 true
를 반환하며, 현재 프레임만 익스포트하도록 설정된 경우에는 false
를 반환합니다.
Datasmith_SetExportOption_AnimatedTransforms
데이터스미스가 전체 애니메이션 타임라인을 익스포트할지, 현재 프레임만 익스포트할지 지정합니다.
true
: 데이터스미스가 전체 애니메이션 타임라인을 익스포트합니다.false
: 데이터스미스가 현재 프레임만 익스포트합니다.
Datasmith_GetExportOption_TextureResolution()
데이터스미스가 익스포트하는 베이킹된 프로시저럴 텍스처에 대한 현재 해상도 제한의 인덱스 값을 반환합니다. 각각의 값은 익스포트된 텍스처의 특정 너비/높이에 관계없이 타깃 해상도의 픽셀 수에 해당합니다.
값 | 해상도 |
---|---|
0 | 4,096픽셀 |
1 | 16,384픽셀 |
2 | 65,536픽셀 |
3 | 0.25메가픽셀 |
4 | 1메가픽셀 |
5 | 4메가픽셀 |
6 | 16메가픽셀 |
베이킹된 프로시저럴 텍스처 해상도 제한에 대한 자세한 내용은 프로시저럴 텍스처를 참고하세요.
Datasmith_SetExportOption_TextureResolution
데이터스미스가 익스포트하는 베이킹된 프로시저럴 텍스처에 대한 최대 해상도를 지정합니다. 0에서 6 사이의 값을 사용할 수 있습니다. 각각의 값은 익스포트된 텍스처의 특정 너비/높이에 관계없이 타깃 해상도의 픽셀 수에 해당합니다.
값 | 해상도 |
---|---|
0 | 4,096픽셀 |
1 | 16,384픽셀 |
2 | 65,536픽셀 |
3 | 0.25메가픽셀 |
4 | 1메가픽셀 |
5 | 4메가픽셀 |
6 | 16메가픽셀 |
베이킹된 프로시저럴 텍스처 해상도 제한에 대한 자세한 내용은 프로시저럴 텍스처를 참고하세요.
예시:
Datasmith_SetExportOption_TextureResolution 4
최대 베이킹된/프로시저럴 텍스처 해상도를 100만 픽셀 또는 1메가픽셀로 설정합니다.
데이터스미스 메시지 창에 메시지 로깅하기
다음 명령을 사용하여 데이터스미스 메시지 창에 커스텀 메시지를 로깅할 수 있습니다. 각각의 메시지 타입은 다른 컬러로 표시됩니다.
메시지 타입 | 컬러 |
---|---|
정보 | 회색 |
경고 | 노란색 |
오류 | 빨간색 |
완료 | 녹색 |

Datasmith_LogInfo
정보 타입의 메시지를 데이터스미스 메시지 창에 로깅합니다. 정보 메시지는 회색으로 표시됩니다.
파라미터 | 타입 | 설명 |
---|---|---|
<msg> |
스트링 | 데이터스미스 메시지 창에 출력할 메시지입니다 |
예시: Datasmith_LogInfo "this is an Info message"
Datasmith_LogWarning
경고 타입의 메시지를 데이터스미스 메시지 창에 로깅합니다. 경고 메시지는 노란색으로 표시됩니다.
파라미터 | 타입 | 설명 |
---|---|---|
<msg> |
스트링 | 데이터스미스 메시지 창에 출력할 메시지입니다 |
예시: Datasmith_LogInfo "this is a Warning message"
Datasmith_LogError
오류 타입의 메시지를 데이터스미스 메시지 창에 로깅합니다. 오류 메시지는 빨간색으로 표시됩니다.
파라미터 | 타입 | 설명 |
---|---|---|
<msg> |
스트링 | 데이터스미스 메시지 창에 출력할 메시지입니다 |
예시: Datasmith_LogInfo "this is an Error message"
Datasmith_LogCompletion
완료 타입의 메시지를 데이터스미스 메시지 창에 로깅합니다. 완료 메시지는 녹색으로 표시됩니다.
파라미터 | 타입 | 설명 |
---|---|---|
<msg> |
스트링 | 데이터스미스 메시지 창에 출력할 메시지입니다 |
예시: Datasmith_LogInfo "this is a Completion message"
Datasmith_LogFlush()
메모리에서 큐 등록된 로그 메시지를 로그 파일에 씁니다. 로그 파일은 %LOCALAPPDATA%\UnrealDatasmithExporter\Saved\Logs
디렉터리에 저장됩니다.
.udatasmith 파일 익스포트하기
Datasmith_ExportDialog()
익스포트된 .udatasmith
파일의 이름과 경로를 지정할 수 있는 데이터스미스 파일 익스포트 대화창을 엽니다.
Datasmith_Export selected:[boolean] quiet:[boolean]
데이터스미스 파일 익스포트 대화창을 열지 않고 3ds Max 모델 또는 선택 항목을 .udatasmith
파일로 익스포트합니다.
이 메서드는 다음과 같은 실행인자를 사용합니다.
파라미터 | 타입 | 설명 | 선택 사항 여부 |
---|---|---|---|
name |
스트링 | 파일 확장자를 제외한 내보낼 파일의 이름입니다. | 아니요 |
path |
스트링 | 파일을 익스포트할 디렉터리의 전체 경로입니다. | 아니요 |
selected: |
부울 | 데이터스미스가 모든 씬을 익스포트할지, 현재 선택한 오브젝트만 익스포트할지 지정합니다.
|
예 |
quiet: |
부울 |
|
예 |
예시:
Datasmith_Export "DatasmithExportName" "D:\DatasmithExports\3dsMax" selected:true quiet:true
위의 예시는 진행률 표시줄이나 기타 익스포트 UI를 표시하지 않으면서 선택한 오브젝트를 경로 D:\DatasmithExports\3dsMax
에 DatasmithExportName이라는 이름의 .udatasmith
파일로 자동으로 익스포트합니다.
다이렉트 링크 및 다이렉트 링크 자동 동기화
Datasmith_OpenDirectlinkUi()
데이터스미스 다이렉트 링크 연결 상태 창을 엽니다.
Datasmith_GetDirectlinkCacheDirectory()
다이렉트 링크 캐시 디렉터리의 경로를 반환합니다. 데이터스미스 다이렉트 링크 연결 상태 창에서도 경로를 확인할 수 있습니다.
Datasmith_GetUnrealEnginePath()
Datasmith_GetUnrealEnginePathFromRegistry()
이 메서드는 다이렉트 링크를 통해 연결된 설치된 언리얼 엔진의 경로를 반환합니다. Datasmith_GetUnrealEnginePath()
는 Datasmith_GetUnrealEnginePathFromRegistry()
를 호출하고 레지스트리에 저장된 경로를 반환합니다. 레지스트리에 경로가 없다면 디폴트 하드코드된 경로인 C:/ProgramData/Epic/Exporter/3dsMaxEngine/
을 반환합니다.
Datasmith_ToggleAutoSync()
다이렉트 링크 자동 동기화를 토글합니다. Datasmith_IsAutoSyncEnabled()
를 사용하여 현재 자동 동기화가 활성화되어 있는지 확인합니다.
Datasmith_IsAutoSyncEnabled()
현재 다이렉트 링크 자동 동기화가 활성화되어 있으면 true를, 그렇지 않으면 false를 반환합니다.
Datasmith_GetExportOption_StatSync()
다이렉트 링크 또는 다이렉트 링크 자동 동기화를 사용하여 씬을 동기화할 때 데이터스미스가 데이터스미스 메시지 창에 통계를 출력하도록 설정되어 있으면 true
를, 그렇지 않으면 false
를 반환합니다.
Datasmith_SetExportOption_StatSync
다이렉트 링크 또는 다이렉트 링크 자동 동기화를 사용하여 씬을 동기화할 때 데이터스미스가 데이터스미스 메시지 창에 통계를 출력할지 여부를 지정합니다.
true
: 데이터스미스가 데이터스미스 메시지 창에 통계를 출력합니다.false
: 데이터스미스가 통계를 출력하지 않습니다.
Datasmith_SetAutoSyncDelay
다이렉트 링크 자동 동기화에 대한 조건을 확인하는 타이머의 간격을 지정합니다.
이 메서드는 다음과 같은 실행인자를 사용합니다.
파라미터 | 타입 | 설명 |
---|---|---|
<seconds> |
플로트 | 자동 동기화 상태 확인 사이의 간격 기간(초)입니다. |
Datasmith_SetAutoSyncIdleDelay
다이렉트 링크 자동 동기화가 활성화되어 있는 경우, 이 메서드는 데이터스미스가 다이렉트 링크 자동 동기화를 시도하기 전에 사용자가 대기 상태여야 하는 최소 시간을 지정합니다.
이 메서드는 다음과 같은 실행인자를 사용합니다.
파라미터 | 타입 | 설명 |
---|---|---|
<seconds> |
플로트 | 데이터스미스가 다이렉트 링크 자동 동기화를 시도하기 전에 사용자가 대기 상태여야 하는 시간(초)입니다. |
Datasmith_UpdateScene quiet:[boolean]
데이터스미스 3ds Max 익스포터 플러그인의 씬 표현을 현재 3ds Max 씬과 일치하도록 업데이트합니다.
마지막 업데이트 이후 씬이 변경되었다면 true
를, 그렇지 않으면 false
를 반환합니다.
3ds Max 리본의 데이터스미스 탭에서 '동기화(Synchronize)' 명령을 사용하면 데이터스미스가 먼저 이 명령을 호출하고, 변경사항이 탐지되면 Datasmith_DirectLinkUpdateScene()
을 그 다음으로 호출합니다.
이 메서드는 다음과 같은 실행인자를 사용합니다.
파라미터 | 타입 | 설명 | 선택 사항 여부 |
---|---|---|---|
quiet: |
부울 |
|
예 |
Datasmith_DirectLinkUpdateScene()
데이터스미스 다이렉트 링크를 통해 데이터스미스 3ds Max 익스포터 플러그인의 씬 표현을 언리얼 엔진과 동기화합니다. 씬의 변경사항에 대한 트래킹을 설정합니다.
3ds Max 리본의 데이터스미스 탭에서 동기화 명령을 사용하면 데이터스미스가 먼저 Datasmith_UpdateScene()을 호출합니다. 변경사항이 탐지되면 다음으로 이 메서드를 호출합니다.
자세한 정보는 데이터스미스 3ds Max UI의 '파일 익스포트(File Export)' 패널 부분과 다이렉트 링크로 3ds Max와 언리얼 동기화하기를 참고하세요.
Datasmith_Reset()
씬의 변경사항 트래킹을 중단하고 데이터스미스 3ds Max 익스포터 플러그인의 씬 표현을 리셋합니다.