주소복사 | 조회 수 359 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form
저 같은 경우엔 k 로 되어있는 나이프를 둘로 나누어 k~k  는 보통 나이프 k~l은 루프 나이프로 나누어 사용하고 있었습니다.

헌데 r12오면서 스크립트 구문이 조금 바뀌어서 예전에 쓰던 스크립트가 먹질 않네요.
아주 예전에 유저그룹에 어느분께서 올려주신 내용을 받아서 수정해서 쓰고 있었는데요

CallCommand(1016030);
var tool = doc->GetActiveTool();
tool#MDATA_knife_MODE = 0 ;
tool#MDATA_knife_visibleonly = 1 ;

요게 r11.5까지 사용하던 knife 단축키용 스크립트구요
루프용은 모드 번호만 바꾸어 사용했었습니다.
이게 아예 작동을 안해서

R12에서 script log를 보고 조금 수정해서

CallCommand(1016030);
var tool = doc->GetActiveTool();
tool()#MDATA_KNIFE_MODE=0;
tool()#MDATA_KNIFE_VISIBLEONLY=TRUE;

이렇게 바꿔놨지만 여전히 나이프툴 선택만되고 모드의 숫자를 바꾸어도 모드 (루프등)의
변경은 되지 않습니다. 두번째 줄 구문도 r12버전오면서 바뀐거 같은데 시네마의 스크립트는 전혀몰라서;
작동할수 있도록 수정 부탁드립니다.
  • ?
    환영그림 2011.02.24 13:12
    var tool = doc->GetActiveTool(); 을 주석처리하거나 삭제하면 동작하는군요

    CallCommand(1016030);
    //var tool = doc->GetActiveTool();
    tool()#MDATA_KNIFE_MODE=0;
    tool()#MDATA_KNIFE_VISIBLEONLY=1;

    11.5 버전때  작성하신거는 
    MDATA_KNIFE_MODE와 MDATA_KNIFE_VISIBLEONLY를 
    대문자로 바꿔주면 변함없이 잘 작동하네요

  • ?
    시부야 2011.02.24 13:39
    빠른 답변 감사합니다.  간단한 거였네요^^
  • ?
    아아가나 2011.02.24 13:43
    질문내용과 상관이없는 댓글이라 죄송한데, 혹시 실례가안된다면
    스크립트를 어디서부터 공부하면 될지 여쭤봐도 될까요? :-)
  • profile
    정석 2011.02.24 15:44
    요질문 동강으로 해보겠습니다. 내일 확인해보세요~ ㅋ
  • ?
    아아가나 2011.02.24 16:24
    제 질문인가요 시부야님 질문인가요?
    제 질문이면 좋겠는데..emoticon
  • ?
    엘라스틱마인드 2011.02.24 22:32
    GetActiveTool();
    현재 활성화된 툴을 가져오는 구문은 정상적인 동작을 위해서 꼭 필요한 구문입니다.

    CallCommand(1016030);
    var tool = doc->GetActiveTool();
    tool#MDATA_knife_MODE = 0 ;
    tool#MDATA_knife_visibleonly = 1 ;

    위의 경우를 보면

    일단 doc변수가 할당이 않되어 있습니다.

    var doc = GetActiveDocument();
    할당 않하셔도 되지만 변수가 바뀔지도 모르기 때문에
    이렇게 해주셔야지 어느 경우 에라도 정확한 동작이 보장됩니다.

    doc와 op는 아래와 깉이 미리 지정이 되어있습니다.
    할당할 필요가 없는거죠. 하지만 코딩은 모든상황을 고려해야 하기 때문에 귀찮더라도
    코드를 넣어서 명확히 해줄 필요가 있습니다.

    doc = 현재 열린 문서
    op = 현재 활성화된 오브젝트

    main(현재문서 변수,현재오브젝트 변수)
    {
    }
    이런식 으로도 강제 할당해서 쓸 수 있습니다.

    아무튼 위로 돌아가서

    CallCommand(1016030);
    var tool = doc->GetActiveTool();
    tool#MDATA_knife_MODE = 0 ;
    tool#MDATA_knife_visibleonly = 1 ;

    이 스크립트가 동작 하는 이유는 tool 이라는 변수에 현재 활성화된 툴을 집어 넣습니다.
    그래서 tool <--현재 활성화된 툴의 리스트가 들어있음
    그 리스트 들중에서

    MDATA_knife_MODE = 0 ;
    MDATA_knife_visibleonly = 1 ;
    이 둘의 값을 변경 한것입니다.


    CallCommand(1016030);
    var tool = doc->GetActiveTool();
    tool()#MDATA_KNIFE_MODE=0;
    tool()#MDATA_KNIFE_VISIBLEONLY=TRUE;

    R12에서 변경 하신 문구는

    var anyname = doc->GetActiveTool();
    anyname#MDATA_KNIFE_MODE=0;
    anyname#MDATA_KNIFE_VISIBLEONLY=TRUE;

    이렇게 하시던지

    CallCommand(1016030);
    tool()#MDATA_KNIFE_MODE=0;
    tool()#MDATA_KNIFE_VISIBLEONLY=TRUE;

    이렇게 하시는게 맞습니다.

    이유는 tool()  <--이 함수 자체가 이미 자주쓰는 기능이라 SDK자체에서 제공하는 활성화된 툴을 반환해주는 함수입니다.

    그러므로
    tool(); 와
    var anyname = doc->GetActiveTool(); 은 같다고 할수 있죠.

    다시 말하면
    tool() 의 출력값과 anyname 변수에 들어 있는 값과  같다는 말입니다.


    최종 정리 하자면
    var tool = doc->GetActiveTool();
    tool()#MDATA_KNIFE_MODE=0;
    tool()#MDATA_KNIFE_VISIBLEONLY=TRUE;

    이 코드가 잘못된 이유는
    tool<--변수에 현재 활성화된 툴을 넣었느데
    아래줄에서
    tool() 함수 인거 처럼 쓰셨기 때문입니다.
  • profile
    정석 2011.02.26 03:45
    http://oinon.net/blog/archives/964

질문과 답변

question and answer

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 일반 Cinema 4D Education 학생용 라이센스 사용방법 2 그래바 2020.09.03 46616
공지 Octane 옥테인 크래시 관련 자주 올라오는 질문들과 해결하는 법을 정리해보았습니다. 16 file 이효원 2020.04.19 75580
공지 [필독] 단톡방 질문 방식 관련 공지사항 4 file 권오훈 2019.06.27 34406
공지 일반 [필독] 질문 게시판 유의사항 ! 권오훈 2019.06.27 28656
8844 Bodypaint 3D 바디페인터 단축키 설정 질문입니다. 2 개미 2011.02.25 1304
8843 텍스쳐 맵핑 알파채널 문의,.. 6 file 한결같이 2011.02.25 940
8842 기타 뷰포트를 무브 로테 스케일이 이상하게 작동하는 현상(영상첨부) 2 file 허돌 2011.02.25 291
8841 MoGraph Fracture + Plain 한면씩 앞으로 나오게? 3 file 매실솜 2011.02.24 417
8840 넷렌더시 클라이언트프로그램만 설치하고 C4D프로그램은 설치는... 2 매실솜 2011.02.24 424
8839 모델링 R12에서 루프셀렉션이 잘 작동하지 않습니다. 6 시부야 2011.02.24 432
» 단축키 knife명령의 스크립트인데 잘못된 부분의 수정을 부탁드립니다. 7 시부야 2011.02.24 359
8837 기타 타블렛 이용하시는 유저분들 ㅜㅜ 2 우왕굳 2011.02.24 331
8836 모델링 지구 모델링 2 하늘 2011.02.24 586
8835 Dynamics 클로스 (cloth) 태그 사용 시 다이나믹 잠시 멈추는 태그가 있나요? 7 테오 2011.02.23 569
8834 멀티패스로 렌더링 할 때 어떤 포맷을 많이 사용하시는지요? 5 매실솜 2011.02.23 436
8833 텍스쳐 마야의 transfer attribute 같이 UV를 다른 오브젝트로 넘겨주는 방법을 찾습니다 4 시부야 2011.02.23 485
8832 기타 hdri이미지 반전은 할수 없나요? 4 띠용 2011.02.23 736
8831 프로그램 어플리케이션 에러 관련하여 질문드립니다! 4 file 미스트 2011.02.23 392
8830 애니메이션 visible in renderer 는 타임라인에 안나오나요? 3 신비 2011.02.23 256
목록
Board Pagination Prev 1 ... 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 ... 1864 Next
/ 1864
닫기

마이페이지

로그인을 해주세요