ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • String 문자열을 Vex에 넣어보자,Sprintf, ConCat, itoa | 후디니 Vex
    쓰리디/Houdini, 후디니 2023. 12. 19. 23:00
    반응형

    Vex 
    문자열을 string으로 가져오고 싶다!
    Sprintf, concat, itoa을 알아봅시다.
    (feat. padzero expression)

     


    String in Vex

    Name attribute set시, Primitive에서 가장 중요할 수도 있는 String, 문자열을 Vex에서의 활용을 알아볼까요?
    concat, itoa, sprintf, padzero(expression)를 알아볼 것입니다.

     

    Concat, itoa

    concat, vex

    Concat은 문자열을 형성하는 Vex function입니다.

    REF:https://www.sidefx.com/docs/houdini/vex/index.html

    용도는, Concat으로 String을 연결할 수 있습니다.
    OutPut으로는 String을 반환을 하겠네요.

    s@name= concat('sogi','3d');
    //sogi라는 string과 3d라는 string을 연결해서 name이라는 string Attribute에 넣어줘.

    Detail Attribute에 들어간 name

    그렇지만, String만을 연결하려면 아래와 같이 그냥 s@name= 'sogi3d'만을 활용해도 되겠죠?

    s@name='sogi3d';
    //sogi3d라는 string을 name이라는 string Attribute에 넣어줘.

    그렇기 때문에 우리는 integer와 함께 더하여 string에 저장할 수 있도록 itoa를 접목시켜볼까요?

     

    itoa, vex

    되게 간단합니다. Integer, 즉 정수를 string, 문자열로 반환하는 Vex네요.

    그렇다면 Concat과 함께 써볼까요?

    s@name= concat('sogi', itoa(@Frame), 'd');
    
    //"sogi"와 "Frame번호"와 "d"를 붙혀서 string으로 name에 attribute에 저장해줘.

    Frame 번호에 따라 Integer값으로 들어가서 Name Attribute가 바뀝니다.

     

     

    Sprintf, padzero

     

    sprintf, vex

     

    sprintf vex도 물론 문자열을 반환하는 vex입니다.

     

     

    s@name=sprintf('sogi%03dd',@Frame);
    
    //"sogi"와 "Frame번호 세자리수"와 "d"를 붙혀서 string으로 name에 attribute에 저장해줘.
    
    
    s@name=sprintf('sogi%01d%s',@Frame,'d');
    //"sogi"와 "Frame번호 한자리수"와 "d"를 붙혀서 string으로 name에 attribute에 저장해줘.

     

     

    padzero, Expression

    주어진 길이만큼 숫자를 0으로 채운 문자열 반환하는 padzero
    stringf와는 또 다른 활용도가 있겠습니다.


    주의!
    위의 padzero는 expression이기 때문에 vex처럼 wrangle에서 활용할 수없습니다.

    MMB로 절대 경로 확인

    padzero를 활용하여서 Filecache에 활용한 모-오습.

    $HIP/sogi`padzero(3,chs("sogi"))`d/$OS.$F04.bgeo.sc
    
    //C:/Houdini/sogi003d/padzero.0003.bgeo.sc
    //padzero의 의미 : Channel sogi를 가져와서 세자리수로 불러와줘
    
    
    
    $HIP/sogi`padzero(1,chs("sogi"))`d/$OS.$F04.bgeo.sc
    //C:/Houdini/sogi3d/padzero.0003.bgeo.sc
    //padzero의 의미 : Channel sogi를 가져와서 한자리수로 불러와줘

     

     
    남만 알고 있는 쓰리디에 대한 정보를
    속이 쓰리지 않게,
    소기쓰리디

     

     

     

    반응형