팔로우

스크립트로 프로퍼티를 수정할 때 씬을 더티 상태로 만드는 방법

Symptoms

스크립팅 API를 통해 프로퍼티를 수정합니다.
씬이 더티 상태가 되지 않습니다.

Cause

스크립팅 API에는 기본적으로 실행 취소 메커니즘이 없으며 씬을 더티 상태로 표시하지 않습니다. 하지만 강제로 이 동작을 수행하게 만들 수 있습니다.

Resolution

이를 해결하는 방법은 두 가지입니다.

방법 1:

오브젝트에 직접 액세스할 수 있으면 스크립트에서 프로퍼티를 설정하기 전에 Undo.RecordObject 메서드를 사용할 수 있습니다.

Undo.RecordObject (myGameObject.transform, "Zero Transform Position");

myGameObject.transform.position = Vector3.zero;

Undo.RecordObject를 사용해 씬을 더티 상태로 표시한 예제를 이 아티클에서 확인할 수 있습니다.

UndoRecordObject.png

방법 2:

다음과 같은 방법으로 씬을 더티 상태로 표시할 수 있습니다.

EditorSceneManager.MarkSceneDirty

위의 명령어를 사용하고 스크립트에서 프로퍼티를 설정합니다.

LightmapEditorSettings.bakeResolution = 14;

EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());

 

More information

실행 취소

EditorSceneManager

도움이 되었습니까?
0명 중 0명이 도움이 되었다고 했습니다.
또 다른 질문이 있으십니까? 문의 등록

0 댓글

댓글을 남기려면 로그인하세요.