Blog

회원들의 다양한 관심사를 블로그의 형태로 보여주는 곳입니다. 블로그 필자는 회원이라면 누구나 되실 수 있습니다.

Houdini Development Toolkit(HDK) 시작하기

​ HDK에 대하여 HDK란? HDK는 C++ 라이브러리로 구성된 포괄적인 후디니 개발 툴입니다. Side Effect사의 프로그래머들이 후디니를 개발하기 위해 사용하는 라이브러리와 동일합니다. HDK를 사용하면 후디니 인터페이스에 적합한 플러그인 개발도 가능합니다. 예를 들자면, 1. 익스프레션 함수를 만들 수 있고, 2. hscript 나 HOM에 해당하는 명령어를 만들 수 있고, 3. SOPs, COPs, DOPs, VOPs, ROPs, CHOPs 같은 자신만의 오브젝트를 만들 수 있고, 4. 논스탠다드 버전의 렌더러로 결과물을 낼 수 있으며, 5. 렌더러에게 적합한 라이팅이나 이펙트를 추가할 수 있습니다. 시작하...
Continue reading
  921 Hits
  0 Comment
Tags:
HDK
921 Hits
0 Comment

아는 만큼 보인다.

아마도 여려분도 많이 들어본 말일겁니다. 아는 만큼 보인다는 말은 여러분이 격한 운동을 끝내더라도 몸음 계속 체온을 유지하는 것처럼, 6개월의 단기과정을 끝내더라도 계속해서 교류하면서 그 이해의 폭을 넓혀가야한다는 이야기입니다.

하룻강아지가 범무서운줄 모른다는 말처럼, 아무런 경험이 없다면, 많은 경험이 있는 친구를 옆에두고 배워가는 것도 좋습니다.

Continue reading
  418 Hits
  0 Comment
418 Hits
0 Comment

Houdini Surface Operators (07/05)

Assemble - 부셔지는 시뮬레이션을 위한 조각을 생성해줌                    * name attribute를 자체적으로 생성을 해준다. AttribWrangle - 속성값을 VEXpression으로 생성하게 해주는 노드이다. Attribcreate - 속성값을 부여해주는 sop이다.이 attribute는 Houdini에서 지정된 변수값을 지정함으로써 값을 바꿀 수도 있고아예 새로운 변수를 지정해 줄 수도 있다. Attribpromote - Class의 속성을 바꿔주는 sop이다. Attribtranfer - 두번째 입력노드에서 첫번째 입력노드로 속성값(attribute)를 copy한다. blend shapes - Input1, 2로 들어오는 두개의 shapes을 블랜딩시켜준다. Break - input으로 들어오는 지오메트리를 깨거나, 붕괴시킬 수 있다.             input 1은 잘리게 될 오브젝트이며 input 2는 컷팅시킬 탬플릿 모양이다. Blast - Delete sop과 유사한 기능을 한다. 기본적으로 point나 surface를 잡고 delete키를 누를 시 blast sop 이 생성된다. Boolean - 마야의 Boolean 처럼 합치거나 뚫어줄 수 있는 sop                    * boolean sop은 close된 polygon surface만 가능함 Cache - 캐쉬 데이터를 저장할 수 있으며 저장된 캐쉬데이터를 index값을 조정하여 Slow animation 혹은 fast animation을 만들수있다.  Carve - 면을 자를 수도 있고, 잘리는 면의 선을 추출할수도 있다.               기본적으로 입력된 수치만큼 Cut하는 기능을 한다. Copy sop - 단어 그대로 복사를 하는 노드이며 input 2 는 레퍼런스 포인트를 입력할 때 쓰인다. Convert -  말 그대로 convert다.  nurbs, polygon, primitive 등....면의 속성을 바꿔줄수있다. Cookie - boolean을 시켜주는 sop                    * boolean sop과는 다르게 open/close 된 Nurbs나 Bezier 모두 가능하다. comb - 노말의 방향을 그려주거나 빗처럼 빗어줄수있다. Clip - 평평한 형태로 그룹 지오메트리를 제거해준다. Connect Adjacent Pieces - 근처의 조각과 조각들 사이를 잇는 선을 생성한다.                                             기본적으로 name 프리미티브의 속성값을 사용한다. Connectivity - 붙어있는 포인트나 프리미티브에 특별한 속성값(attribute) 을 만들어준다. Dop I/O - DOP의 simulation된 data만 import해온다. Extrude Volume - volume 형상으로 extrude를 시켜준다. Fuse - 포인트를 붙이거나 분리하는 기능을 한다. Facet - 각각의 면(노말이라든가 포인트)을 합치거나 분리 할 수있다. Foreach - 프로그래밍의 for문과 유사한 역할을 하는 노드 Fluid source - fluid simulation에 사용되는 지오메트리를 생성한다. Force - metaball에 Force 속성을 생성(?), 더해준다.               * particle이나 spring node로 부터 만들어진 spring을 끌어당기거나 날려주는 metaball 필드에 포스 어트리뷰트를 더하는 역할을 한다 Inflate - 두개의 Geometry가 서로 근접해서, 하나의 영향으로 또 다른 오브젝트를 변형하게 해준다. L-System - L-system의 기본은 재귀성으로서, 자기상사도형, 프랙탈도형과 같은 형태를 단순히 기술하는 것이 가능하다. * F는 geometry를 만들면서 한단계를 이동하는 것이며, f는 한단계 넘어간다는 것이다.(자세한 사항은 L-system 노트 참고) lattice - 전체적으로 deform을 시켜줄수 있게 해주는 sop 이다.                * input 1은 deform을 할 geometry               * input2는 Rast object지만 input3를 위한 defult object, inpu3는 deform이 되는 object이다. metaball - 자력장이나 중력장 등 같은 힘과 관련된 영역을 정의할 때 많이 사용되는 노드 magnet - input2로 들어오는 metaball의 영향을 받아 inpu1의 지오메트리를 디포밍시켜준주는 노드다. Ocean Source - ocean 스펙트럼 볼륨에서 생성되는 파티클이랑 볼륨들은 시뮬레이션을 위해서 쓰인다. Ocean Evaluate - input으로 들어오는 Geometry 를 기준으로 오션을 디포밍한다.                              * input1 / 디포밍될 Geemotry                              * input2 / Ocean Spectrum에 사용 될 데이터 Ocean Spectrum - 파도에 대한 시뮬레이션 데이터를 생성해주는 노드이다. Point sop - point값을 생성하거나 point 속성을 변경하게 해준다. Paste - 하나의 모델을 다른 모델의 표면에 손쉽게 붙일 수 있게 해준다. Point jitter - 포인트에 jitter (파형의 순간적인 흐트러짐)을 만들어준다. Partition - 사용자가 지정해준 rule에 따라 point와 primitive를 그룹으로 배치시켜준다. popnet - 현재의 popnet은 dop로 통합되어있다. pepnet(old) - 과거에 쓰이던 popnet이다. particle - particle network가 아니여도 간단하게 파티클을 생성해주며 dop으로 이루어져 있다. Points from Volume - Volume을 채우기 위한 Point를 생성해주는 노드이다. Particle Fluid Tank - tank를 채우기 위한 point를 생성한다. Particle Fluid Surface - Particle Fluid simulation을 surface형태로 만들어주는 노드 Polyframe - 선택한 Frame style을 베이스로 하여 Point와 vertices에 대한 조정(?)된 frame attribute를 생성해준다. PolyReduce - polygon의 수를 정해진 설정에 따라 reduce해준다. Ray sop - 이 노드는 커브를 면에 투사해서 변형하는 기능을 한다.          *Ray를 사용할떈 normal 방향이 surface를 아래로 바라보고 있어야한다. Rest Position - material을 입히기 위해서 위치를 잡아주기 위한 용도로 쓰이는 노드 resample - 다시 샘플화, 재조정을 해주는 노드  scatter - input으로 들어오는 오브젝트의 모양을 기반으로 point를 생성해준다. Surfsect - 작용에 의해 뚫어줄수 있으며 boolean과 비슷하나 NURBS형태만 가능하다. Solver - 시뮬레이션을 구성하기 위한 가장 기본적인 solver의 개념이라고 볼 수 있으며, 현재 프레임의 데이터를 이전 프레임의 데이터에 Loop 시켜 시뮬레이션을 한다. Subdivide - polygon에 smooth 효과를 입혀주며, high-resolution의 polygon이 된다. Smooth - Smooth 효과를 가진 node로써 obj등을 부드럽게 해준다. Timeshift - 본인이 원하는 frame으로 이동하거나 그 프레임을 볼 수 있게해준다. Timeblend - simulation을 할때 주로 쓰이며 정수로 되어있는 frame의 실수프레임을 생성할 수 있다. Trail - 정해진 Point의 뒤에 트레일을 생성해준다.   Volume Rasterize Points - Point cloud를 volume으로 컨버팅해준다. Visibility - Primitives를 UV editor나 3D viwer에서 보여주거나 숨겨주는 기능을 한다. VDB from Polygon - Polygon으로부터 VDB Volume을 생성한다. VDB from Particle Fluid - particle fluid로부터 SDF VDB를 생성한다. VDB Activate - 더 진행시키기 위한 VDB 영역을 활성화시켜준다. VDB Smooth - VDB Volume 프리미티브에 있는 값을 Smooth 시켜준다. Vertex - Vertex에 attribute를 생성해준다. point sop과 유사하나 point냐 vertex냐의 차이가 있다. Volume - Volume 프리미티브를 생성해준다. Volume from Attribute - Point Attribute로부터 Volume의 Voxel을 셋팅해준다.                                        * input2에는 Point Cloud가 들어간다. Volume SDF - isocontour(iso의 윤곽) 으로부터 SDF 볼륨을 만든다. Volume Mix  - Volume Primitive의 스칼라 필드를 combine(결합) 시킨다. 

 

Wireframe - 커브를 이용해서, 솔리드한 Tube형태의 Geometry를 만듬      좀 더 깔끔하게 볼수있게 A-Z순으로 정렬을 했습니다.잘못된 정보가 있다면 댓글로 남겨주시면 반영하겠습니다.  
  728 Hits
  1 Comment
Tags:
Recent comment in this post
faxingberlin
참고할때 도움이 많이 되네요! 감사합니다
Wednesday, 19 August 2015 11:30
728 Hits
1 Comment

프로그래밍은 꾸준한 연습이 필요합니다.

영어와 같이 말도 하지 않으면 잊어버리듯이 컴퓨터도 자주 하지 않으면 잊어버리곤합니다. 모든 사람한테 해당하는건 아니지만, 한글타자는 익숙한데, 여러분은 영어타자는 어떤가요?

웬만한 코드는 술술 타이핑할 수 있나요? 파이썬과 같은 프로그래밍언어는 쉽게 접근이 가능하기때문에 뭔가 성취감을 짧은 시간에 느낄 수 있는 언어인거 같아요. 물론, 너무 쉽다거나 어렵다거나 그런걸 떠나서 습관이 되어야 한다는 생각에서 한번 말씀드립니다. 요즘 제가 느끼는건 여러분이나 저나 동시대에 같은 기회를 가지고 나아간다는 생각을 합니다.

마치 투표를 행사할 수 있는 권한이 성인이라는 누구한테나 평등하듯, 새로운 분야를 공부하는 것 자체는 여러분이나 저나 공정한 기회가 주어진다는 생각입니다. 어느순간이 오면, 다 비슷해지죠. 다만, 어떻게 그것을 대하느냐에 달린거 같습니다. 어렵지만, 천천히 나아가는 그래서 결국은 내것으로 만드는 그런 전략이 필요한거 같기도 합니다.

다시한번 하루라도 빠지지 않고 자판을 두들긴다면, 그 결과는 여러분의 손가락에 새겨질거라고 생각이 됩니다.

  466 Hits
  0 Comment
466 Hits
0 Comment

줄을 잘서야!

후디니라는 툴을 비주얼이펙트를 시작할때부터 부터 잡은건 인생에서 좋은 선택이었다고 생각합니다. 미래에 대한 선택을 자신이 해야하는건 누구나 겪어야할 과정입니다. 외국의 경우 보통 고등학교때 다양한 경험을 하고 이미 준비를 하더군요. 고등학교때 이미 자신의 직업이나 좋아하는 것들이 가려집니다. 

하지만, 저같은 경우에도 군대를 다녀온 후에야 제대로된 선택을 할 수 있었습니다. 많이 아쉽습니다. 외국애들하고 비교해보면, 그런게 아쉽죠. 

여러분들은 어떤가요? 뭔가를 선택할 때 가장 중요한 것은 뭔가를 선택해야하는 순간입니다. 돈을 투자할 때도 안정과 리스크 사이에서 벨런스를 주듯이, 커리어도 마찬가지인거 같아요. 당장 필요한 것 그리고 꾸준한 시간의 투자가 필요한것들은 나워서 생각한다면, 좋은 결과가 있으리라 생각합니다.

여러분은 당장 보이지 않는 전세계의 경쟁자들과 동일 선상에 놓여있습니다. 보이지 않는다고 여러분들에게 영향을 주지않는건 또 아닙니다. 아무도 모르게 여러분의 자리를 먼저 차지하고 있을지 모르니까요. 

현 시점에서 파이썬과 후디니, 렌더맨, 벡스 등의 언어와 프로그래밍에 시간을 투자하는건 현명한 판단이라고 생각합니다. 10년배워서 잠깐 써 먹는다는 C/C++보다는 파이썬이 훨씬 효율적인 언어겠죠. 말하자면, 그렇다는 겁니다. 

Continue reading
  436 Hits
  0 Comment
436 Hits
0 Comment

프로그래밍 Platform 이해하기

여러분이 만약에 마야를 배우고 있다면, 마야라는 비주얼이펙트 플렛폼위에서 모델링, 애니메이션, 특수효과를 공부하게됩니다. 

VFX가 추구하는 부분과 여러분이 익숙히 들었을 언리얼이나 유니티같은 비주얼플렛폼은 비슷하게 닯아간다고 해도, 타겟플렛폼의 형태가 다르기때문에 창작의 형태도 서로 다르다고 할 수 있습니다. 마치, 4K, 8K로 나아가는 VFX 스크린 사이즈와, 1인용 게임플렛폼에 최적화된 비주얼의 형태처럼 VFX플렛폼과 Game플렛폼은 그 내부의 컨텐츠는 동일하거나 교환이 가능하더라도 최종렌더링의 형태에 따라 그 목적이 극명하게 갈린다고 할 수 있습니다. 

여러분이 그림을 그리는 캔버스가 크기 재질이 달라진다고 여러분이 가진 그리기능력이 달라지는건 아닙니다. 공통과목으로써 그림그리는 능력 자체는 모든 분야에 적용이 가능하듯이, 기본적인 프로그래밍 능력은 모든 프로그램들에 동일하게 적용이 되기도 합니다. 물론, 범용의 프로그래밍 언어들은 불필요하게 느껴지는 수많은 것들을 익혀야해해서 프로그래밍 자체가 어렵게 느껴지기도 합니다.

마야멜이나 파이썬, 후디니 HScript나 HOM, VEX, Renderman등은 그런 불필요한 인터페이스부분을 툴 자체내에서 처리하고 여러분이 모듈형태로 프로그래밍을 하도록 도와줍니다. Scripting 언어들도 마찬가지구요. 

범용의 프로그래밍 언어(입출력, GUI등을 가지고, 자체적으로 독립적인 언어)를 배운다는 것 자체는 수많은 부분에 응용을 할수 있다는 장점이 있지만, 비주얼이펙트 툴에 종속된, VEX, Renderman, HOM같은 툴을 배우는 것도 쉽게 프로그래밍을 접할수있는 장점이 되는거 같습니다.

Continue reading
  533 Hits
  0 Comment
533 Hits
0 Comment

CGwars의 모토

20년전에는 외국에서 유행하는 기술이나 디자인도 한국에 전달이 되려면, 어느정도의 시간차가 있었지만, 지금은 너무 빠르게 실시간으로 전파가 되거나 응용이 가능해서, 가장 중요한것은 넘쳐나는 정보중에 어떤것들을 취사선택할것인가가 문제가 됩니다.

초등학교에서부터 대학교까지 천편일률적인 시각을 강요당했던 현실에서 20대에 하는 경험과 실패의 기억은 30대 이후에 밑거름이 될거라고 생각합니다. 물론, 그 시간을 줄이고 앞당길 수 있겠죠.

저같은 경우는 곧 은퇴를 할 생각이기때문에 VFX에 미련은 없지만, 자녀들과 사랑하는 여러분(동지들)을 위해서 좋은 커뮤니티를 만들고 가야겠다는 생각은 합니다.  

오늘의 핵심은 누구나 어떤 분야에서든 먼저간자를 따라잡을 기회가 온다는 것입니다. 특별히 IT분야나 VFX분야는 인텔이 계속 CPU를 업그레이드하듯, 새로운 기술들이 적용이 되는 장입니다. 그런것들을 빠르게 습득을해서 대응을 하면, 어렵지않게 업계에 진입이 가능합니다. 그리고, 외국어 공부(중국어, 영어)를 통해 경쟁력을 향상시키는 방법도 겯들여야하구요.  지적능력이 중요한게 아니라 끈기가 중요하다고 생각합니다. 모르는건 물어보면 되고, 꾸준히 파면 됩니다.

잘아는 친구를 옆에두는건 본인의 지적능력이 아니라 자신의 마음가짐이 중요하니까요. CGwars의 저는 여러분이 언제든 물어보고 답을 얻을 수 있는 그런곳이었으면 합니다.  단순히 마스터클래스를 듣는건 단지 그 지름길을 가르쳐주는 의미외에 큰건없습니다. 같이 고민하고 같이 해결하는것이 CGwars의 정신입니다.  여러분의 많은 관심바랍니다.

Continue reading
  441 Hits
  0 Comment
441 Hits
0 Comment

2015년도 CGwars 업데이트 그리고 버그리포트

밤사이 사이트가 업데이트가 최종적으로 되었습니다. 마치 후디니가 11에서 14로 업그레이드 된것과같은 레벨입니다. 

Community에 비디오들의 링크가 깨져있는게 보이고, 아마도 여러분도 좀 메뉴나 세부항목들이 다르다는것을 발견하실겁니다. 이제부터 여러분들의 도움이 필요합니다. 

문제가 발견이 되면, 바로 알려주세요. 감사합니다. 

  809 Hits
  2 Comments
Recent Comments
zmfovlr
openclass의 houdini 101 클래스의 div가 깨져있습니다. http://www.cgwars.com/index.php?option=com_k2&view=itemlist&task=category&id=4:houdini10... Read More
Wednesday, 01 April 2015 04:25
zmfovlr
edit profile의 account의 아래쪽에 있는 sing in facebook 버튼을 누르면 개발자가 설정해둔 페이스북과 안맞는다며 로그인이 안됩니다. 비밀번호 바꾸려고 들어갔다가 눌러봤는데 찾았네요..... Read More
Thursday, 09 April 2015 00:52
809 Hits
2 Comments

Save your Eyes

야구를 좋아하시는 분들은 피쳐의 엘보 즉 팔꿈치는 사용할 수록 닳는다는 소리를 많이 들었을 겁니다. 비슷하게 사람의 눈도 너무 혹사시키면 실명에 이를 수 있습니다.

전 젊었을때 너무 게임을 많이 해서, 눈에 문제가 좀 있는 편입니다. 물론 노안이기도 하지만,

여러분은 당장 게임이나 지나친 스마트폰 사용은 자제하세요. 그런것들이 얼마나 여러분의 시력이나 신체적으로 해가될지는 제가 의사가 아니니 모릅니다. 하지만, 여러분이 어느정도 경력이 붙으면, 그 다음의 경쟁력은 건강이라는것을 느낄때가 올겁니다. 

전 WetaDigital을 다녀온 다음 다시는 오버타임은 하지 않기로 결심했습니다. 눈을 많이 상했거든요. 새벽이 되어가도록 오버타임을 해서 돈은 벌었지만, 눈을 많이 상했습니다.  여러분은 제 경험을 잘 새겨서 비단 게임이 아니더라도 몸이 재산이라고 생각하고 젊은 시절에 몸을 상하는 일은 자제하세요. 

  508 Hits
  0 Comment
508 Hits
0 Comment

Pixar's Non-Commercial RenderMan Available Now!

Pixar’s Non-Commercial RenderMan is now available! After much anticipation, RenderMan can be freely used for any non-commercial purpose including personal projects, research, evaluation, development, and student use without any functional limitations, watermarks, or time restrictions.

Visit us at the RenderMan website, where you will find all the information needed to download, install, and begin working with RenderMan today. Be sure to also check out the brand new RenderMan Community site, a place where you can showcase your work, share assets, and learn how to use RenderMan.

Welcome to the RenderMan community and happy rendering!

Pixar's RenderMan Team

  862 Hits
  5 Comments
Recent Comments
허동훈
저도 방금 설치했는데 렌더링이 안되네요.. 마야에서 렌더맨 메뉴 생긴걸 보면 겉으로 보기엔 설치 성공했는데, 렌더링하면 1초만에 렌더링 끝나고 아무것도 그리지 않아요. 화면이 그냥 비어있어요. 다른 분들은 성공하셨는지 궁금하네요... Read More
Tuesday, 24 March 2015 04:08
dooyafx
플러그인 매니지먼트에서 렌더맨 플러그인을 비활성화 해보구 마야를 재실행해서 다시 플러그인을 활성화 시켜보세요. 저도 처음에 그랬는데 지금은 아무런 문제가 없네요
Tuesday, 24 March 2015 09:58
허동훈
오옹.. 저는 파이썬을 제거하고 다시 설치해서 해결했어요
Wednesday, 25 March 2015 09:35
862 Hits
5 Comments