Inflearn brand logo image

인프런 커뮤니티 질문&답변

자스비님의 프로필 이미지
자스비

작성한 질문수

Unity 6 Shader Graph 입문과 활용

물결 효과

물결 효과 파트 질문

해결된 질문

작성

·

101

·

수정됨

1

안녕하세요? 강의 중 궁금한 점이 몇 가지 있어 질문 드립니다.

  1. Tiling And Offset에 UV 노드를 연결하셨는데 이유가 혹시 있을까요? 연결하지 않아도 똑같이 동작해서 궁금합니다.

  2. UV가 텍스처의 좌표값이라면 Tilling And Offset은 2차원 벡터인 이유는 이해가 갑니다. 근데 일반 UV 노드의 output은 4차원 벡터인 이유가 궁금합니다.

  3. Sine Time을 Sine 노드에 연결하셨는데, 이렇게 되면 sin(sin(time)) 이렇게 작동하는게 맞을까요? sin이 -1~+1 사이를 왔다갔다 한다면 sin(sin(time))의 실제 Output은 절댓값이 1에 못미치는 값으로 왔다갔다 할텐데 제 생각이 맞는지 궁금합니다.

    감사합니다.

답변 2

0

자스비님의 프로필 이미지
자스비
질문자

이해했습니다. 답변 감사합니다 ㅎㅎ

0

Pinous님의 프로필 이미지
Pinous
지식공유자

  • Tiling And Offset에 UV 노드를 연결한 이유
    UV 노드를 연결하지 않아도 기본적으로 Shader Graph에서는 Tiling And Offset 노드가 내부적으로 UV0(첫 번째 UV 세트)를 사용하기 때문에 동일하게 동작하는 것처럼 보일 수 있습니다. 하지만 UV 노드를 명시적으로 연결하는 경우, 이후에 UV를 수정하거나 다른 UV 채널을 사용할 때 더 직관적인 컨트롤이 가능합니다. 또한, 특정한 연산을 UV에 적용한 후 Tiling And Offset을 사용할 수도 있기 때문에 명시적으로 연결하는 것이 더 유연한 방식입니다.

  • UV 노드의 Output이 4차원(Vector4)인 이유
    일반적인 UV 좌표는 2차원(Vector2)인데, Shader Graph의 UV 노드는 출력이 Vector4입니다. 이는 GPU에서 내부적으로 처리할 때 편의를 위해 xy(UV 좌표), zw(추가 데이터) 형태로 확장하는 경우가 많기 때문입니다. 예를 들어, zw를 다른 목적(예: 타일링 마스크, 추가적인 UV 변형 등)으로 활용할 수도 있습니다. 하지만 대부분의 경우 xy만 사용되므로 Vector2로 변환해서 사용하는 경우도 많습니다.

  • Sine Time을 Sine 노드에 연결했을 때 연산 방식
    맞습니다. Sine Time 노드는 sin(time) 값을 출력하고, 이를 다시 Sine 노드에 넣으면 sin(sin(time))이 됩니다.
    sin(time)의 범위는 -1 ~ +1이며, 이 값을 다시 sin(x)에 넣으면 최종 출력 범위는 sin(-1) ~ sin(1), 즉 대략 -0.84 ~ +0.84 사이를 왔다 갔다 하게 됩니다. 따라서 절댓값이 1에 못 미치는 값으로 변동하는 것이 맞습니다.

자스비님의 프로필 이미지
자스비

작성한 질문수

질문하기