주소복사 | 조회 수 276 추천 수 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 18075
공지 Octane 옥테인 크래시 관련 자주 올라오는 질문들과 해결하는 법을 정리해보았습니다. 13 file 이효원 2020.04.19 48630
공지 [필독] 단톡방 질문 방식 관련 공지사항 4 file 권오훈 2019.06.27 12828
공지 일반 [필독] 질문 게시판 유의사항 ! 권오훈 2019.06.27 4766
8947 프로그램 인터페이스 interface 컬러 리셋 3 file 뽀드카 2011.03.16 284
8946 Plugin Several plugins used in this scene are missing 2 고맙습니다 2011.03.16 411
8945 MoGraph 시간차를두고 순차적으로 실행하기 2 file 김씨아저쒸 2011.03.16 348
8944 Sphere를 vray렌더링시... 2 file 히노키 2011.03.15 326
8943 Plugin Turbulence FD_플러그인 튜토리얼을 볼수있는곳?? 2 퍼피라이트 2011.03.15 449
8942 프로그램 프로그램 개인설정 파일 관련(단축키,레이아웃) 1 스브 2011.03.15 478
8941 애니메이션 Joint 로 애니메이션을 줄때 Cloner를 적용한 오브젝트는 애니메이션이 안먹나요? 4 file 꼴레 2011.03.15 261
8940 프로그램 C4D_12R 라이브러리 프리셋 질문! 4 퍼피라이트 2011.03.14 430
8939 MAX max 3ds파일을 c4d에 불러왔을때 포인트,엣지,폴리건 선택하는 방법 5 띠용 2011.03.14 446
8938 프로그램 제가 시포디 설치하는데, 설치도중에 c++오류라고 뜨면서 설치실패를 합니다..도와주세여! 4 file 넹이오빠 2011.03.13 263
8937 기타 맥을 사야할지 노트북을 사야할지 .. 고민되요 .,ㅠㅠ 7 아놀드hk 2011.03.13 454
8936 모델링 모델링 하기전에 사진을 밑에 깔고 하는 방법이요 2 버나르도르도 2011.03.12 365
8935 모델링 spline에 lathe nurbs 한후에 생기는 점선 4 file 쏭쏭이 2011.03.12 332
8934 모델링 익스트루드 넙스는 하이어라이 링크 순서데로 적용되나요? 3 시포디와플레임 2011.03.12 325
8933 MoGraph 텍스트에 모그라프태그(Rigid Body Tag)사용해서 위에서 떨어져서 착지하는 움직임이 안돼요.. 4 file 띠용 2011.03.11 383
목록
Board Pagination Prev 1 ... 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 ... 1759 Next
/ 1759
닫기

마이페이지

로그인을 해주세요