주소복사 | 조회 수 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 19539
공지 Octane 옥테인 크래시 관련 자주 올라오는 질문들과 해결하는 법을 정리해보았습니다. 16 file 이효원 2020.04.19 50298
공지 [필독] 단톡방 질문 방식 관련 공지사항 4 file 권오훈 2019.06.27 14101
공지 일반 [필독] 질문 게시판 유의사항 ! 권오훈 2019.06.27 6067
15016 일반 C4D 기본 세팅에 대해 질문드립니다. 2 file 지원지원 2021.08.25 275
15015 일반 Helix 에 motext 를 spline wrap으로 적용했을때 2 file 알콜스왑 2022.04.24 275
15014 텍스쳐 구글에 돌아다니는 이미지 변형해서 텍스쳐 만들어도 저작권 침해되는 걸까요? 1 디리리리 2022.08.11 275
15013 모델링 완료 텍스쳐를 부분적으로 따로 바디페인터처럼 페인팅을 할 수 없을까요? 5 file 얌딱이 2023.09.13 275
15012 일반 완료 옥테인 자글 거리는 노이즈 제거하는 법 아시는 분.... 2 file 동그란곰 2023.10.24 275
15011 일반 C4d 학생용 옛날 버전 다운로드 하는법 1 file 이누리 2023.12.31 275
15010 모델링 Extrude Nurbs 해주고 난 뒤, Connect 문제입니다 3 file 착한어린이 2009.05.26 276
15009 기타 씽킹파티클과 모그라프 어떻게 공부하시나요? 3 아트모션 2009.02.25 276
15008 not enough memory 문제... 12 byjin 2007.10.05 276
15007 MoGraph [re] [re] 앨범에서 페이지 넘어 가는거 어케 하나요? file 길동 2007.01.23 276
15006 아트월에서 "할로겐" 설정이 잘 안되요.... 3 반바지 2007.01.26 276
15005 기타 바디페인트, 필터&윈도우 질문입니다. 4 으흐흐 2005.07.12 276
15004 맥스의머터리얼과 오브젝트를 시네마로 가져 올수있나요?? 1 김철흥 2005.08.12 276
15003 싱글과 듀얼의 차이?? 3 이시성 2006.06.05 276
15002 Bodypaint 3D 새로운 UVUnwrapping 기능이... 4 구자만 2006.11.27 276
목록
Board Pagination Prev 1 ... 773 774 775 776 777 778 779 780 781 782 ... 1779 Next
/ 1779
닫기

마이페이지

로그인을 해주세요