Houdini에서 UV의 심 가장자리 얻기

5532 단어 HOUDINI

개요



Houdini에서 UV의 심 가장자리를 얻는 방법을 세 가지 소개합니다.
버전은 18.0.287을 사용합니다.


사용 예



Remesh 할 때 Hard Edges에 취득한 그룹을 지정하면 UV를 유지하고 Remesh 할 수 있습니다.


정사각형화 이음새 가장자리를 유지할 때 사용할 수 있습니다.


Height 맵을 사용한 디스플레이스를 실시할 때에 심 엣지의 개소만 흐리게 하는 것으로 파탄을 막을 수가 있습니다.


기법 1



첫 번째는 Group from Attribute Boundary 노드입니다.
기본 설정으로 연결하는 것만으로 UV의 이음 가장자리를 그룹으로 해줍니다.


기법 2



두 번째는 Vertex Split과 Group Transfer를 사용한 방법입니다.
Vertex Split에 uv를 지정하면 심 가장자리 부분에서 다각형을 나눕니다.

거기에 Group Create 노드를 연결하고 Unshared Edge를 체크하면 이음새 가장자리 부분에 그룹이 만들어집니다.
그대로 토폴로지가 바뀌므로 Group Transfer에서 그룹을 전송합니다.
이때 Distance Threshold를 0.001 등 작은 값으로 하지 않으면 올바르게 전송되지 않으므로 주의해 주십시오.


기법 3



세 번째 방법은 Attribute Wrangle을 사용하는 방법입니다.
두 번째와 마찬가지로 Vertex Split을 연결 한 후 원래 지오메트리를 첫 번째 입력, 두 번째 Vertex Split을 연결하고 Run Over를 Vertices로 만든 다음 코드를 입력합니다.
int edge = vertexhedge(0, @vtxnum);
if (hedge_equivcount(1, edge) == 1)
{
    int src_pt = hedge_srcpoint(0, edge);
    int dst_pt = hedge_dstpoint(0, edge);
    setedgegroup(0, "seams", src_pt, dst_pt, 1);
}



처리 속도



이상 3가지 방법의 처리 속도를 측정해 봅니다.
가벼운 모델이라고 차이가 알기 어려우므로, 돼지 씨에게 Subdivide를 3 단계 곱한 상태로 계측해 봅니다.

조금 보기 어렵지만 각 처리 속도는
  • 기법 1:2.026초
  • 기법 2:0.713초
  • 기법 3:0.100초

  • 되었습니다. 역시 Attribute Wrangle은 빠르네요!
    Group from Attribute Boundary는 표준 노드인 것 같았던 것보다 느린 결과가 되었습니다.

    요약



    이상 Houdini에서 UV 심을 얻는 방법이었습니다.
    덧붙여서 소개한 수법은 모두 애트리뷰트의 경계를 취득하는 것이므로, 예를 들면 N을 지정하는 것으로 하드 엣지의 취득에도 사용할 수 있고, shop_materialpath를 지정하는 것으로 머티리얼의 경계를 취득하는 일도 할 수 있습니다.

    좋은 웹페이지 즐겨찾기