수학 통로 콘텐츠 예제

Math Hall 콘텐츠 예제에 제공된 샘플 개요입니다.

Windows
MacOS
Linux

콘텐츠 예제 프로젝트 안에 있는 Math_Hall 맵은 블루프린트머티리얼 안에서 언리얼 엔진 4 내부적으로 수학이 어떻게 사용되는지에 대한 이해를 돕기 위해 제작된 것입니다.

첫 섹션은 Functions (함수)로, (벽 왼쪽 면의) 수학과 머티리얼 함수 및 (벽 오른쪽 면의) 사용 예가 있습니다. 이 섹션은 머티리얼 블렌딩에 대한 자세한 내용은 물론, 순전히 머티리얼 에디터 안에서만 수면의 물결이나 튕기는 공과 같은 이벤트를 만들기 위해 머티리얼에 로직을 적용하는 방법을 알아보기에도 좋습니다.

둘째 섹션에서는 Vector Math (벡터 수학), 벡터의 여러가지 유형에 대한 설명과 머티리얼에서의 사용법은 물론, 블루프린트에서의 그 중요성에 대해 다루고 있습니다 (예: 오브젝트가 플레이어를 향하게 만들기, 플레이어가 무언가를 향해 바라보고 있는지 검사하기, 플레이어와 오브젝트의 거리가 얼마나 되는지 알아보기 등).

함수

MathHall_FunctionsHeader.png

Functions 섹션에 제공되는 예제는 다음과 같으며, 사용 예제는 벽 오른쪽 면에서 확인할 수 있습니다.

예제

데모 내용

1.1 Introduction

소개 - 이 섹션에 있는 각 차트를 읽는 방법에 대한 설명으로, 다양한 수학 함수에서 X 값이 어디 있는지를 나타냅니다.

1.2 ABS

절대값 - Absolute (ABS) (절대값)은 X 값이 음수일 때도 양수값으로 읽어들입니다 (예: Time 의 Sine 값에 대한 ABS 값을 구하면, 공이 튀는 모션을 얻을 수 있습니다). bouncing motion is created for a ball).

1.3 Frac

소수 - Frac 함수는 어떤 수의 정수 부분을 제거하는 것으로, 임의의 수치를 만들어내는 데 좋습니다 (예: 1 을 초과하는 Raw Time 값을 표시하여 카운터를 올리면서, 거기에 Frac 을 사용하여 그 Raw Time 값 증가에 걸리는 시간을 0 에서 1 사이로 표현합니다).

1.4 Floor

버림 - Floor 는 어떤 수의 소수 부분은 버리고 정수 부분만 남깁니다 (예: 0.9 는 0 이, 1.9 는 1 이 됩니다).

1.5 Ceil

올림 - Ceil 은 Floor 처럼 작동하지만, 소수점을 버리기 보다는 올립니다. 그 결과 Ceil 은 항상 Floor 보다 1 큽니다 (예: 0.1 은 1, 1.1 은 2 가 됩니다. 모자이크 생성 예제도 제공됩니다).

1.6 FMod

실수 나머지 - FMod 는 Floating Modulus 의 약자로, A 와 B 입력을 모두 받습니다. A 를 B 로 나눈 다음 그 나머지를 반환합니다 (예: 머티리얼에 스트라이프 패턴을 생성하는 예제가 제공됩니다).

1.7 Power

제곱 - Power 는 밑수 입력을 받아 지수를 적용합니다. 음수 값은 ABS 처럼 양수가 되고, 1 의 제곱은 ABS 와 같은 결과를 냅니다 (예: 텍스처 대비를 조절하는 예제가 있습니다).

1.8 Lerp

선형보간 - Linear Interpolation 또는 Lerp 는 알파 입력에 따라 A 와 B 입력을 블렌딩한 결과를 반환합니다. 주어진 예제에서 알파가 0 일 때, A 가 100% 반환됩니다. 알파가 1 이면, B 가 100% 반환됩니다 (예: 두 텍스처를 블렌딩하는 Lerp 사용 예제가 있습니다).

1.9 HeightLerp

하이트 선형보간 - HeightLerp 는 하이트맵을 사용하여 블렌딩을 변조시키는 Lerp 입니다 (예: 풀밭 텍스처가 자갈밭 텍스처로 블렌딩되는 곳의 두 텍스처 블렌딩에 텍스처의 하이트맵이 사용되는 예제가 있습니다).

1.10 Clamp

제한 - Clamp 는 입력값을 지정된 최소 최대 범위로 제한시키는 데 사용됩니다 (예: Clamp 를 사용하여 보안 카메라의 최소/최대 시야각 지정).

1.11 Sine

사인 - Sine 은 삼각 함수 중 하나로, 직각삼각형의 변 사이 비율을 나타냅니다 (예: Sine 의 용례는 다양하며, 블루프린트나 머티리얼에서 진동의 움직임을 만드는 데 사용됩니다. 수면의 "파형"을 만드는 데도 사용 가능합니다.

1.12 Cosine

코사인 - CosineSine 같은 삼각함수 중 하나로, 직각삼각형의 변 길이 사이의 비율을 나타냅니다. 코사인은 옆 변과 빗변 사이의 비율을 나타냅니다 (예: 사인과 코사인은 제공된 예제에서 보이는 것과 같은 파형을 만들 때 매우 비슷합니다).

1.13 OneMinus

일빼기 - OneMinus 는 텍스처 또는 이미지와 같은 것의 역수를 구하는 데 사용됩니다 (예제에서는 흑백 로고를 백흑으로 뒤집고 있습니다).

1.14 Exponential Density

지수형 농도 - Exponential Density 는 양쪽이 부드러운 곡선을 그리며 끝나는 그레이디언트를 만들어냅니다 (예: 보통 안개의 농도 표현에 자주 사용되지만, 다른 식으로도 활용 가능합니다).

1.15 Sphere Mask

구체 마스크 - Sphere Mask 에는 A 와 B 입력 및 Radius (반경)과 Hardness (경도) 입력이 있으며, A 와 B 사이의 거리를 구합니다 (예제에서는 텍스처 사이 블렌딩이 이루어지는 곳의 경도가 표시되고 있습니다).

1.16 Sphere Gradient - 2D

구체 그레이디언트 - 2D - Sphere Gradient - 2D 는 구체 모양 감쇠를 반환하고, V2 입력 좌표, CenterPosition, 스칼라 반경 값을 받는 머티리얼 함수입니다 (예제에서는 경사면 모양의 머티리얼을 만드는 방법을 보여주고 있습니다).

기본 벡터 수학

MathHall_VectorMathHeader.png

Basic Vector Math 섹션에 제공된 예제는 다음과 같습니다.

예제

데모 내용

2.1 Introduction to Vector Math

벡터 수학에 대한 소개 - 머티리얼과 블루프린트에서의 Vector Math 의 중요성에 대한 설명입니다.

2.2 What is a vector

벡터란 무엇인가 - Vector 와 그 유형에 대한 설명입니다.

2.3 1D Vectors

1D 벡터 - 로드맵 아날로지를 사용한 기본적인 1D Vector 입니다.

2.4 2D Vectors

2D 벡터 - 2D 그래프를 사용한 2D Vector 에 대한 설명입니다.

2.5 Distance

거리 - 피타고라스의 정리를 사용하여 거리를 계산하는 방법입니다 (주: 거리는 머티리얼과 블루프린트에서 자동 계산됩니다).

2.6 Distance in practice

실전에서의 거리 - 블루프린트와 머티리얼에서의 거리 계산입니다.

2.7 3D Vectors

3D 벡터 - 3D 그리드를 사용한 3D Vector 비주얼 데모입니다.

2.8 Normalized Vectors

정규화된 벡터 - 블루프린트와 머티리얼에서 Normalize 노드 포함 정규화된 벡터 사용 예를 찾아볼 수 있습니다.

2.9 Vector as rotation

벡터를 로테이션으로 - 벡터를 로테이션 값으로 변환합니다 (예: 캐릭터가 플레이어의 위치가 표시되는 곳을 향해 회전합니다).

2.10 WorldPosition

월드 포지션 - World Position 에 대한 설명 및 데이터 사용법입니다 (예: 오브젝트를 에디터에서 끌어 이동시킴에 따라 월드 포지션이 업데이트됩니다).

2.11 World Aligned Texture

월드 정렬 텍스처 - World Aligned Texture 를 사용하여 구체 주변으로 텍스처를 블렌딩합니다 (좀 더 자연스러운 느낌의 바위 머티리얼을 만드는 데 좋습니다).

2.12 CameraVector

카메라 벡터 - CameraVector 에 벡터 경로를 나타내는 도표가 같이 표시됩니다.

2.13 Camera Forward Vector

카메라 전방 벡터 - CameraForwardVector 에 전방 벡터 경로를 나타내는 도표가 같이 표시됩니다.

2.14 Dot Product

내적 - 플레이어가 특정 지점을 바라보고 있는지 검사하는 데 사용할 수 있는 Dot Product 에 대한 설명입니다.

2.15 Deriving Dot Product Algebraically

대수로 내적 유추하기 - 내적을 유추하는 법입니다 (주: 언리얼 엔진 4 에서 내적은 거의 항상 노드를 사용하여 구합니다).

2.16 Dot Product Example

내적 예제 - CameraVectorDot Product 를 사용하여 오브젝트와 플레이어의 거리에 따라 컬러를 블렌딩하고 플레이어 이동을 추적하는 예제입니다 (주: 블루프린트 없이 머티리얼로만 이루어진 작업입니다).

2.17 Dot Product Example 2

내적 예제 2 - CameraForwardVectorDot Product 를 사용하여 플레이어가 오브젝트를 보고있는지 확인하는 예제입니다 (주: 블루프린트 없이 머티리얼로만 이루어진 작업입니다).

2.18 Cross Product

외적 - 벡터 값을 읽어 외적을 유추하는 방법을 보여주는 도표가 표시되는 Cross Product 사용법입니다.

2.19 CreateThirdOrthogonalVector

삼차 직교 벡터 생성 - CreateThirdOrthogonalVector 머티리얼 함수는 직교(직각) 벡터 풀 세트 생성에 얼마나 유용한지를 보여줍니다.

2.20 Camera Facing math

카메라 방향 계산 - CameraPosition - ObjectPosition 으로 오브젝트가 플레이어를 향하도록 회전시키는 방법을 보여줍니다 (예: 이 예제에서 여러 오브젝트 앞에 서 있을 때, 플레이어 바로 앞에 있는 오브젝트는 회전하지 않는 반면, 플레이어 왼쪽이나 오른쪽에 있는 오브젝트는 안쪽으로 회전됩니다).

2.21 Camera Facing math 2

카메라 방향 계산 2 - Camera Left VectorCamera Up Vector 를 사용하여 오브젝트가 플레이어를 향하도록 회전시키는 효과를 만들어내고 있습니다 (이 예제는 2.20 과는 달리 바깥의 오브젝트는 전부 일제히 회전하기에 안쪽으로 회전하지 않습니다).

2.22 Trig tips

삼각법 팁 - 직각삼각형에서 두 변을 알고 있을 때 X 각을 구하는 해법에 관련된 사인, 코사인, 탄젠트 관련 팁입니다 (OH AH OA 는 기억하기 좋으라고 만들어 둔 연상법으로, O 는 Opposite (세로 변), H 는 Hypotenuse (빗변), A 는 Adjacent (밑변)을 나타내며, sin = o / h, cos = a / h, tan = o / a 를 나타냅니다.)

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼