기본 콘텐츠로 건너뛰기

250327 머티리얼 2, LandScape

UV

텍스쳐를 바르기 위한 일종의 좌표.

X = U, Y = V라고 생각하면 편함. x,y,z,w는 이미 사용되어서 UV라고 지었다고 함.

메티리얼 에디터에서 U를 누른 상태로 클릭하여 TexCoord를 부를 수 있음.


어두운 부분 0, 밝은 부분 1

Multiply - Floor

곱해진 UV의 값이 Floor에 의해 버림되어 네모 형태를 만듦.

Floor 에 의해 0인 부분은 검은색, 1은 노란색으로 표현됨.

Multiply - Ceil

곱해진 UV의 값이 Ceil에 의해 버림되어 네모 형태를 만듦.

Ceil의 경우는 0인 부분이 0.1로 되어 연한 검정색이 됨.


Lerp
선형보간
A와 B 값을 섞는다. Alpha가 0이면 A값, 1이면 B값.

Alpha 값을 변수로 설정하고, 머티리얼 인스턴스에서 값을 조정하는 것으로 두 텍스쳐가 혼합된 머티리얼을 만들 수 있다.

Abs
절댓값. 값을 양수로 만들어 버린다.

Frac
어떤 숫자의 정수 값을 0으로 만들어 버린다.

Ceil이나 Floor를 이용하고, Lerp를 이용하면 텍스쳐가 마치 픽셀처럼 보이는 효과를 만들 수 도 있다.

Panner
텍스쳐를 X,Y 방향으로 움직이게 할 수 있다.

다음과 같이, 하나의 텍스쳐로 동일한 이미지가 아닌 복잡한 이미지 처럼 보이게 하는 등으로도 사용 가능하다.

Power
제곱

Fmod
나머지 연산. 값을 나누고 소수점 값만 돌려준다.
음수도 나올 수 있음.

Clamp
어떤 특정한 값을 Min과 Max 사이 값만 표현함.

One Minus
반전.
검은색 -> 흰색, 흰색 -> 검은색

Sphere Mask
A : 적용 위치
B : 구심점
Attenuation Radius : 적용 반경
Hardness Percent : 0 이면 전환이 딱딱하게, 100 이면 부드럽게

Sphere Gradient
Sphere Mask와 비슷한 기능을 함.
Center Position : 적용 위치 x,y 의 0.0~1.0좌표
Radius : 적용 범위 퍼센트 0~1






Named Reroute Declaration Node
일종의 함수/이벤트를 만들어서 저장한다.

Start Previewing Node
해당 노드까지의 결과 값을 Preview에 표시함


Directional Light
자동 노출정도 끄는 법 Project Settings - Engine - Rendering -Auto Exposure Off


 구름

Stratocumulus : 층적운 -> 낮은 층의 구름

Altostratus고층운 -> 중간 고도에 형성되는 얇은 층의 회색 또는 푸른색 구름

Cirrostratus : 권층운 -> 고도가 높고 얇은 층의 구름

Nimbostratus (Stom) : 난층운 -> 낮은 고도에서 넓고 두꺼운 층을 이루는 회색 구름

Layout_CloudGlobalScale : 수치에 따라 구름 텍스쳐 크기 조절

Layout_CloudPerTypeScale : 구름의 모양 변경

 


Layout_WindControls : 구름의 속도(방향 포함)

Cloud_GlobalCoverage : 구름의 전체적인 양.밀도.


Noise_Strength : 노이즈, 구름의 형태가 변경 됨.

Cloud AlbedoColor : 구름의 색상
Storm : 먹구름의 정도
Multiscatter : 빛에 대한 구름의 반사 반응

구름 그림자 : Directional Light - Atmosphere and Cloud - Cast Cloud Shadows


Land Scape
Shift + 1 또는 좌측상단에서
Section Size : Landscape의 한 구획의 크기
Sections Per Component : 컴포넌트 별 섹션
Number of Components : 컴포넌트의 수
Overall Resolution : 해상도 / 전체 버텍스 수

Paint로 넘어가서 LandScape를 추가 했다면, 이 LandScape를 칠할 Material이 필요하다.
기본적으로 LandScape Material이 머티리얼을 가지고 있으면 Layers- Create Layers From Assigned Materials를 통해 할당 받을 수 있다. 또는 직접 추가 할 수 있다.


Sculpt
Brush Type
원형 :
알파 :
텍스쳐 :
컴포넌트 :
Brush Falloff
Smooth : 부드럽게.
Linear : 선형. 가장자리를 다듬지 않은 방식
Sphere : 구형. 부드럽게 시작해서 날카로운 에지로 끝남.
Tip : 뾰족. 날카롭게 시작해서 부드러운 타원형으로 끝나는 형

Tool Strength : 브러시 적용시 강도
Brush Size : 브러시의 사이즈

Scuplt : 앞서 정한 브러시 설정에 따라 위로 솟아오르는 지형이 만들어진다. Shift를 누를경우반대효과를 낼 수 있다.
Erase : 다른 브러시로 인한 LandScape의 변화를 초기화한다.
Smooth : 각져있는 부분을 매끄럽게 처리해준다.
Erosion/Hydro : 각각 침식의 방식. 




🐥참고

UV
https://en.wikipedia.org/wiki/UV_mapping

수학 머티리얼 표현식
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/math-material-expressions-in-unreal-engine

머티리얼 표현식 레퍼런스
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/utility-expressions?application_version=4.27#spheremask


볼류메트릭 클라우드
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/volumetric-cloud-component-in-unreal-engine

클라우드 머티리얼
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/volumetric-cloud-material-in-unreal-engine

Land Scape
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/creating-landscapes-in-unreal-engine

LandScape Brush
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/landscape-brushes-in-unreal-engine

이 블로그의 인기 게시물

250523 PCG 2

PCG Building Volume Sampler를 사용할 경우 Voxel Size를 맞추어주자. 2m길이를 Transform Points로 Offset을 이동시켜 Difference를 통해 메쉬를 생성한다. 사용시에 Pivot의 위치가 중앙이 아니면 제대로 표현되지 않을 것이다. PCG Landscape Landscape 생성후 PCG Volume 생성. Get Landscape Data - Surface Sampler 안보인다면 Generate Surface Sampler 일반 그리드 패턴으로 서피스 데이터에 포인트를 샘플링합니다. 이 노드에는 다음과 같은 옵션이 있습니다. 포인트 규모(Point Extents) : 서피스의 기본 그리드 셀 크기를 정의합니다. 여유(Looseness) : 변형 가능한 셀 크기를 정의합니다. 실제로 셀 크기는 포인트 규모 * (1 + 여유)입니다. 제곱미터당 포인트(Points Per Square Meter) : 유지되는 셀의 비율을 계산합니다. 이 프로퍼티는 그리드가 클 때 과잉을 제한합니다. Looseness : 기본 1. 0일경우 Extent의 길이 만큼, 1일경우 2배가 됨.  Attribute Filter를 생성하고, Material에 해당하는 Layer를 찾아서 이름을 넣어준다. Type을 Float로 하고 Float Value를 설정하면, 해당 머티리얼이 색칠된 정도 0~1에서 Operator에 의해 >(초과) 0.6초과 일 경우만 생성되게 할 수 있다. 값을 1로 하고 Equal을 이용해서 1인 경우만 생성되게 하는 것도 가능하다. plugin Water body lake를 넣으면, 이또한 Spline이라는 것을 알 수 있다. 따라서 Get Spline Data-Spline Sampler를 통해 사용할 수 있다. GetActorData와 Difference를 통해서 Lake내부를 제거해주기 PCG Mesh Mesh Sampler를 쓰기위해 Get Actor Property를 이용하면, 해당 액터가 ...

250604 저장불러오기

SaveGame 블루프린트 생성 Game Instance 생성, Init 오버라이드 AC_Inventory Save Load

250609 온라인

 Online Subsystem외에도 어느 서버를 사용할 것인지에 따라 플러그인을 추가해주어야 한다. 공통으로 OnlineSubsystem으로 시작한다. 헤더파일 CPP파일 cmd에서 Ipconfig를 통해 Ipv4를 넣어주면 된다. DefaultEngine.ini 수정 https://dev.epicgames.com/documentation/ko-kr/unreal-engine/online-subsystem-steam-interface-in-unreal-engine#%EC%99%84%EC%84%B1%EC%84%B8%ED%8C%85 [/Script/Engine.GameEngine] +NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver") [OnlineSubsystem] DefaultPlatformService=Steam [OnlineSubsystemSteam] bEnabled=true SteamDevAppId=480 bInitServerOnclient=true [/Script/OnlineSubsystemSteam.SteamNetDriver] NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection" 전용 서버 없이 클라이언트가 서버를 만들 수 있게 함. 호스팅 Binaries와 Saved파일을 한번 제거해주고, Generate해주기 헤더파일 헤더파일 CPP 파일 CreateSessionComplete, FindSessionsComplete, JoinSessionComplete 생성자 CreateGameSession 세션을 생성하고 존재하면 제거한다. OnCreateSessionComplete ServerTrav...