스크립트 관리자

익스텐션 / 스크립트 관리자를 통해 스크립트 관리자를 호출합니다.
스크립트 관리자를 사용하면 Python 스크립트를 만들고 관리할 수 있으며, 나중에 확장 메뉴 아래의 사용자 스크립트에서 호출할 수 있도록 아이콘을 지정할 수도 있습니다. 더 이상 플러그인을 만들 필요가 없습니다.
스크립트 관리자를 사용하여 만든 스크립트는 기본 설정 디렉터리의 라이브러리/스크립트 디렉터리에 영구적으로 저장됩니다.
제어 요소
스크립트 입력 필드 내 작업
입력 필드 내에서 작동하는 항목은 다음과 같습니다:
- 단어를 더블클릭하여 선택합니다(버튼을 계속 누르면 추가 텍스트를 선택할 수 있습니다).
- 줄 번호를 클릭하면 전체 줄을 선택할 수 있습니다(버튼을 누른 상태에서 세로로 이동하면 추가 줄을 선택할 수 있음).
- 특수 문자(따옴표, 대괄호 등)의 경우 중간 커서를 사용하여 중복으로 만들 수 있으므로 닫을 필요 없이 바로 입력을 시작할 수 있습니다. 선택한 텍스트에도 동일하게 적용됩니다. 이러한 문자를 입력하면 위에서 언급한 문자가 있는 블록이 포함됩니다.
- 표시된 텍스트는 블록에 *(별표)를 입력하여 주석 처리합니다.
- 선택한 텍스트는 마우스로 이동할 수 있으며( Ctrl/Cmd 키를 누른 상태로 복제), 커서가 새 삽입 위치를 표시합니다.
- 실행 취소/다시 실행은 텍스트에서 작동합니다.
- 텍스트와 줄 번호 사이에 노란색(새 항목), 녹색(컴파일됨), 파란색(저장되었지만 컴파일되지 않음)과 같은 의미의 색상 마커가 표시됩니다. 그러나 이러한 색상 코드는 새로 작성된 텍스트에만 적용되며, 파일을 저장하는 즉시 제거됩니다.
- 매개변수의 ID를 얻으려면 속성 관리자(노드 에디터의 경우에도)에 나열된 모든 매개변수를 스크립트 입력 필드에 끌어다 놓으면 됩니다. Python 콘솔에서도 작동합니다.
파일 메뉴
이름이 지정되지 않고 저장되지 않은 새 스크립트가 생성됩니다(단, 저장되지 않은 스크립트는 파일 확장자 *.py (Python)로 환경설정 디렉터리의 Prefs/_last_script에 저장되며, 스크립트로 인해 프로그램 충돌이 발생해도 스크립트는 손실되지 않습니다).
보호되지 않은(암호화되지 않은) Python 스크립트(*.py)를 로드하는 데 사용합니다. 파일 선택 대화 상자가 적절한 프리셋 디렉토리로 바로 이동합니다.
이를 사용하여 스크립트 관리자로 코드를 가져올 수 있습니다. 다음 파일 형식이 가능합니다: *.py(Python).
이를 사용하여 스크립트에서 방금 선택한 스크립트를 저장합니다(저장하지 않은 스크립트에는 이름에 *가붙습니다). 스크립트를 다른 이름으로 저장하여 새 이름을 지정할 수 있습니다. 기본 설정은 라이브러리/스크립트 아래의 기본 설정 디렉터리에 저장됩니다.
이렇게 하면 새로 만들거나 수정한 모든 스크립트가 저장됩니다.
이렇게 하면 확인 메시지가 표시된 후 스크립트에서 현재 선택된 스크립트가 삭제됩니다.
이 명령은 스크립트에서 방금 선택한 스크립트를 복제합니다.
새로 만든 스크립트에 적합한 이미지가 준비되어 있지 않다면 이 기능이 적합합니다. 현재 Cinema 4D 씬을 렌더링하고 그 결과를 아이콘으로 사용합니다.
이를 사용하여 주로 정사각형 비트맵을 선택하면 이 스크립트의 아이콘으로 사용되며 메뉴, 아이콘 표시줄, 명령 관리자에도 그에 따라 표시됩니다. 비트맵의 기존 알파 채널이 모두 고려됩니다.
이 명령을 사용하면 활성 스크립트의 스크립트 콘텐츠를 Cinema 4D에 연결된 모든 IDE로 전송할 수 있습니다. 이 명령은 코드 교환기 시작/종료 버튼 옆의 스크립트 관리자 레이아웃에서도 사용할 수 있습니다. 스크립트 관리자의 편집 메뉴에 있는 다른 코드 교환기 프리셋 및 명령도 참고하세요.
메뉴 편집
코드 편집을 실행 취소하고 복원하는 데 사용할 수 있습니다.
선택한 코드 조각을 잘라내어 클립보드에 복사합니다.
선택한 코드 조각을 클립보드에 복사하려면 이 기능을 사용합니다.
이를 사용하여 커서 위치에 클립보드에 코드를 붙여넣을 수 있습니다.
이 명령을 사용하여 선택한 코드를 삭제합니다.
창에 표시된 모든 코드를 선택하거나 선택 취소합니다. 또는 코드 창의 아무 영역이나 클릭하여 코드를 선택 해제할 수도 있습니다.
R26에서는 Visual Studio 코드 확장자와 통신하는 플러그인이 Cinema 4D에 도입되었습니다. 2023.2 버전에서는 이 코드 교환기 플러그인이 Cinema 4D에 직접 통합되어 더 이상 수동으로 설치할 필요가 없습니다. 그러나 Visual Studio 코드 확장은 여전히 수동으로 설치해야 하며 여기에서 찾을 수 있습니다( https://marketplace.visualstudio.com/items?itemName=maxonc4dsdk.cinema4d-connector).
코드 교환기 기능은 Cinema 4D와 Visual Studio Code 간의 통신을 지원하여 개발자가 Python 스크립트를 Cinema 4D에서 Visual Studio Code로 또는 그 반대로 전송 및/또는 실행할 수 있도록 합니다.
또한 Visual Studio Code 확장 프로그램은 `c4d` Python 패키지의 자동 완성, 디버깅 지원, '.*res' 및 '.*str' 파일에 대한 구문 강조 표시, 심지어 Visual Studio Code에서 직접 Cinema 4D의 Python 콘솔 출력을 활성화하여 모든 Cinema 4D 개발자의 개발 경험을 향상시킵니다.
이 기능은 이 명령어 또는 스크립트 관리자 헤더의 </> 아이콘을 통해 켜거나 끌 수 있습니다. 파란색 배경의 아이콘은 활성 코드 교환기를 나타냅니다.
Visual Studio Code에 확장 프로그램이 설치되면 상태 표시줄의 창 왼쪽 하단에 "C4D X"가 표시된 빨간색 상자가 나타납니다. 클릭하면 Cinema 4D에서 이전에 활성화된 코드 교환기에 대한 연결이 자동으로 설정되어 표준 상태 표시줄의 상자 색상이 변경됩니다.

Cinema 4D에서 Visual Studio Code로 코드 전송
스크립트 관리자에서 새 Python 파일을 만들거나 기존 파일을 사용하세요. 스크립트 관리자의 파일 메뉴에 있는 IDE로 보내기 명령을 사용하면 활성 스크립트의 스크립트 콘텐츠를 Cinema 4D에 연결된 모든 IDE로 전송할 수 있습니다. 이 명령은 스크립트 관리자 레이아웃의 오른쪽 상단, 코드 교환기 시작/종료 아이콘 바로 옆에 있는 아이콘으로도 찾을 수 있습니다.
Visual Studio 코드 함수
c4d 파이썬 패키지 자동 완성
비주얼 스튜디오 코드의 c4d 패키지에 대한 자동 완성 기능을 사용하면 문서를 찾아볼 필요 없이 더 빠르게 작업할 수 있습니다. 확장 기능이 작동하려면 c4d.path 설정이 정의되어 있어야 합니다. Visual Studio Code가 처음으로 Cinema 4D에 연결을 설정할 때 정의됩니다.
명령어
이 확장 프로그램의 모든 명령은 Ctrl+Shift+P를 누른 상태에서 C4D를 검색하면 찾을 수 있습니다. 모두 Cinema 4D에 연결하려면 Visual Studio 코드가 필요합니다.
- 스크립트 관리자에서 스크립트 로드: Visual Studio 코드 편집기에서 활성 스크립트를 Cinema 4D 스크립트 관리자로 로드합니다. 이 명령을 사용하려면 Visual Studio Code가 Cinema 4D에 연결되어 있어야 합니다.
- 디스크에 파일 저장: 예상대로 작동하며, 파일을 저장하면 IDE와 Cinema 4D 모두에서 스크립트 콘텐츠가 업데이트됩니다.
- Visual Studio Code의 제목 없는 스크립트: Cinema 4D에 새 임시 파일이 생성됩니다. 이 파일은 비주얼 스튜디오 코드에 다시 추가되며, Cinema 4D와의 통신을 위해서는 이전의 제목 없는 파일 대신 이 파일을 사용해야 합니다.
- Cinema 4D의 임시 스크립트: 예상대로 작동하며, Ctrl+S는 콘텐츠를 Cinema 4D로 전송합니다. 자동 완성 기능이 작동하지 않습니다.
- 스크립트 관리자에서 스크립트로 Cinema 4D에서 실행: Cinema 4D에서 직접 스크립트를 실행할 수 있습니다. 이 명령을 사용하려면 Visual Studio Code가 Cinema 4D에 연결되어 있어야 합니다.
- 하드 디스크에 저장된 임시 Cinema 4D 스크립트의 파일 또는 스크립트: Cinema 4D에서 스크립트의 내용을 업데이트하고 실행합니다.
- Visual Studio Code의 제목 없는 스크립트: Cinema 4D에서 새 임시 Python 스크립트를 생성합니다. 실행하고 Cinema 4D에서 삭제합니다.
- 스크립트 관리자의 스크립트로 Cinema 4D에서 디버깅하기: Cinema 4D에서 지정된 스크립트에 대한 디버깅 세션을 시작합니다. 암호화된 Python 파일(.pypv, .pype)은 무시되며 디버깅할 수 없습니다. 이 명령을 사용하려면 Visual Studio Code가 Cinema 4D에 연결되어 있어야 합니다.
- 파일이 하드 디스크에 저장됩니다: 예상대로 작동합니다.
- 임시 Cinema 4D 스크립트: 지원되지 않습니다.
- Visual Studio Code의 제목 없는 스크립트: 지원되지 않습니다.
- Cinema 4D와의 연결 전환: Cinema 4D와 비주얼 스튜디오 코드 간의 현재 연결을 전환합니다. 이는 Visual Studio Code의 왼쪽 하단에 있는 C4D 상태 표시줄을 클릭하는 것과 비슷합니다.
Python 콘솔의 출력
Visual Studio Code가 Cinema 4D에 연결되는 즉시 Python 콘솔의 새 콘텐츠가 Visual Studio Code "Cinema 4D" 콘솔에도 표시됩니다.
.res 및 *.str 파일에 대한 구문 강조 표시
확장 기능이 작동하려면 c4d.path 설정이 정의되어 있어야 합니다. 이 값은 Visual Studio Code가 처음으로 Cinema 4D에 연결을 설정할 때 정의됩니다.
익스텐션 설정
이 익스텐션 프로그램에는 다음과 같은 설정이 제공됩니다:
- c4d.path: Cinema 4D 디렉터리 경로입니다. 이 정보는 자동 완성에 사용됩니다. 정의되지 않았거나 유효하지 않은 경우 Visual Studio Code와 Cinema 4D를 처음 연결할 때 자동으로 정의됩니다.
- c4d.ip: Cinema 4D와의 연결에 사용되는 IP 주소입니다.
- c4d.port: Cinema 4D와의 연결에 사용되는 포트입니다.
알려진 문제
- Root@12345678/Scripts@12345678/untilted.py과 같은 경로를 가진 Cinema 4D의 임시 스크립트에서는 자동 완성 기능이 작동하지 않습니다.
- 스크립트 관리자에서 스크립트 로드 명령을 이름 없는 파일에 사용하면 Cinema 4D에 새 임시 파일이 생성되고 Visual Studio Code로 반환됩니다. 이 파일은 Cinema 4D와의 데이터 교환에 사용해야 합니다.
- 첫 번째 디버깅 세션에서 더 이상 사용되지 않는 ptvsd에 대한 메시지가 표시되지만 이는 잘못된 경보이므로 무시해도 됩니다.
이 대화 상자를 사용하여 어떤 코드 교환기를 사용하고 어떤 포트를 통신에 사용할지 정의할 수 있습니다.
대화 상자
아이콘
여기에서 현재 스크립트에 할당된 아이콘을 볼 수 있습니다. 로드 아이콘 또는 렌더링 아이콘으로 자신만의 아이콘을 지정할 수 있습니다.

이 아이콘을 기존 아이콘 모음, 새로 만든 명령 팔레트 또는 메뉴 관리자로 끌어다 놓기만 하면 됩니다.
스크립트
사용자 디렉터리의 라이브러리/스크립트 폴더에 있는 모든 스크립트가 파일명과 함께 여기에 표시됩니다. 스크립트에 작은 X 표시가 있는 경우 해당 스크립트는 아직 저장되지 않은 것입니다.
키보드 단축키
이 버튼을 클릭하면 명령 관리자가 호출되며, 현재 스크립트가 이미 강조 표시되어 키보드 단축키 지정을 기다리고 있습니다.
실행
이 버튼을 클릭하면 스크립트가 실행됩니다. 모든 오류 메시지는 콘솔에 표시됩니다(주 메뉴: 확장 프로그램/콘솔).