Substance Designer. Version Control. How to. Korean DOC.



섭스턴스 디자이너 버전콘트롤.


작성. 이정표.


소속. 알레고리드믹






셋팅 준비를 위한 설치.


파이썬 2.7


https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi






퍼포스 클라이언트.(당연히 회사에서 버전관리를 퍼포스로 할 경우에만…)


http://www.perforce.com/downloads/Perforce/20-User


에서 20 유저 무료 버전으로 셋팅 할 수 있습니다.






섭스턴스 디자이너의 버전콘트롤은 현재 퍼포스만을 지원 합니다.


지원 형태는 파이선 스크립트로 제작 된 익스큐터 스크립트를 기반으로 파이선 인터프리터를 통해 실행 시켜 주고 있습니다.






익스큐터 스크립트는 인터프리터(퍼포스 실행파일)를 통해 동작 합니다.


쉘스크립트 기반으로 SVN 익스큐트 스크립트를 만들면 SVN 도 지원 될 것이라고 추측 합니다.









Substance Designer : Version Control






퍼포스 셋팅.


SD 셋팅.


버전콘트롤 사용하기.


액션스크립트.

Setting up Perforce


자신의 컴퓨터로 부터 퍼포스 워크스페이스 정보를 확인 합니다.


SD 안에서 버전콘트롤을 위해서 아래와 같은 기본적인 인포메이션을 확인 합니다.:


Workspace Name





Workspace Path













Setting-up version control in Substance Designer


Preference 창을 엽니다.


"Version Control" tab 으로 갑니다.


"Version Control Enabled" 를 체크 하여 줍니다.





위에서 확인 한 로컬 컴퓨터의 퍼포스 워크스페이스 이름을 적어줍니다.


"Name" 은 "Workspace Name" 퍼포스에서 확인 된 이름.

"Path" 는 "Workspace Path" 로서 퍼포스의 버전관리 워크스페이스 경로를 적어 주면 됩니다.

실행 액션 설정:






모든 액션 라벨명의 필요에 따라 바꿀 수 있습니다.


하나의 스크립트는 하나의 액션 또는 하나의 스크팁트는 모든 액션에 대응 합니다.


Setup


"Actions" group 에서 아래 그림의 빨간색 렉트로 표시 되어 있는 버튼을 클릭 하여 스크립트를 선택 해 줘야 합니다.


"tools/version_control/perforce.py" 파일을 선택 합니다.







추가 액션 등록:






"Add Item" 을 클릭 합니다.








만약 파이선 스크립트로 추가적인 액션 스크립트를 만들었다면 그림과 같이 아이템을 추가 하고 라벨을 만들고 스크립트를 등록 해 줍니다.:








스크립트 인터프리터 설정.


예로 들어 파이선 스크립트의 경우 인터프리터로 파이선이 필요 합니다.


"Interpreters" group 으로 가서 , "Add Item" 을 클릭 합니다.





인터프리터 가테고리 이름에 확장자 이름 정도를 지정 합니다. 파이선의 경우 py 가 되겠습니다.:




perforce.py 파일을 열어 귀하의 퍼포스 설치 경로와 같도록 스크립트를 수정 합니다.




버전 콘트롤 사용법.


테스트를 위해 새로운 패키지를 만들어 저장합ㄴ비다.


당연히 저장 되는 곳은 버전관리 될 "workspace" 여야 합니다.


페키지를 선택 한 상태에서 마우스 오른쪽 클릭을 하면 그림과 같이 "Version Control" 라는 서브메뉴가 활성 화 된 것을 볼 있습니다.








현재 한번도 버전관리가 된 상태가 없기때문에 Add 라는 메뉴와 커스텀 액션을 적용 했다면 위 그림과 같은 MyAction 메뉴를 볼 수 있습니다.


"Add": 메뉴를 선택 하고 어셋을 퍼포스 서버에 리스트 추가 합니다.


"Submit": 패키지의 실제 데이터를 퍼포스 서버에 올립니다.


서브밋을 할 때 무언가 변경 되었다면 해당 변경 사항에 대한 메시지를 적어서 올릴 수 있습니다.







"Revert": 작업을 하다가 잘못 되었거나 데이터의 이전 버전으로(현재 버전 서버에 저장 되어 있는 마지막 체크아웃 데이터 기준)으로 파일을 되돌립니다.


리버트를 실행 할 경우 그림과 같이 리버트 리스트가 나타나고 원하는 파일만 리버트 할 수 있습니다.




"Checkout": 버전 서버의 depot 에서 버저닝 된 모든 파일을 내려 받습니다.


"Get Last Version": 버저닝 된 마지막 버전을 내려받습니다.


"Refresh Status": 패키지 버저닝 상태 비교를 갱신 합니다.

Information:


모든 명령어는 다중 선택 된 데이터를 지원 합니다.


"Read only" packages files 은 SD 에서 편집 할 수 없습니다.


아래 그림과 같이 각각의 상태에 따라 다른 상태 아이콘으로 확인 할 수 있습니다.:







Action Scripts

The scripts associated to each actions are called with the following syntax: my_script WorkspaceName WorkspacePathActionName[ActionArgs]



WorkspaceName: the name of the workspace


WorkspacePath: the path of the root directory of the workspace


ActionName: the name of the action:


"add": for the "Add" action


"checkout": for the "Checkout" action


"submit": for the "Submit" action


"revert": for the "Revert" action


"get_last_version": for the "Get Last Version" action


"get_status": for the "Get Status" action


The Label set up in the SD Preferences panel (with ' ' character replaced by '_')


Ex: "My Action" => "My_Action"


ActionArgs: arguments of the action:


"-desc: Description":


A description string.


Used by "Submit" action


"-files: Files":


list of files


"-files_list: File":


a text file that contains a list of files per line



The script have to return some values depending on the action:



"get_status"


return a value depending of the status of the specified file:


0: Undefined status


1: file is not in the depot


2: file is at a previous revision (i.e. not up to date)


3: file is at the last revision (i.e. is up to date)


4: file is checked out


5: file is marked for add


other actions:



0: success


other: error








Game Developer Leegoon copyright all right reserved since 2010.

Comments