기본 콘텐츠로 건너뛰기

250403 MPC Decal

MPC : Material Parameter Collection

Material Parameter Collection을 MPC_Class로 하나 만든다.

MPC는 Scalar값과 Vector값을 만들어서 설정할 수 있다.


Material Parameter Collection을 가져와서 사용할 변수를 가져다 사용할 수 있다.
이런 방식으로 Material Parameter Collection을 바꾸면, 동일한 모든 머티리얼의 값을 바꿀 수 있다는 장점이 있다.


블루프린트에서 사용시 ObjectReference를 통해 가져온다.

아래는 타임 라인과 Set Vector Parameter Value, Set Scalar Parameter Value를 통해 벡터, 스칼라 값을 바꾸어 보는 모습.

블루프린트 액터를 배치해야 한다는 사실을 잊지 않도록 주의.


Radial Gradient : 원형
Linear Gradient : x,y형 순차형
Diamond Gradient : 다이아몬드형



Flipbook
텍스쳐 2D의 Rows, Columns를 순차적으로 재생.
Rows, Columns에 값을 넣고, Translucent로 하여 Result값을 넣어준다.




Adjustment
Hue Shift : 색상 변경
Scurve :
CheapContrast : 저렴한 비용으로 대비조절

3Colorblend : 세가지 색을 섞어서 그라데이션으로 표시.
ExponentIn프레넬 이펙트의 감쇠를 제어하는 입력입니다.
BaseReflectFractionIn표면을 정면에서 볼 때의 스페큘러 리플렉션 부분을 지정합니다. 이 값을 1로 설정하면 프레넬이 사실상 비활성화됩니다.



World Position
월드에서의 위치 좌표 값에 따라 색이 변경됨.


Actor Position
액터의 위치에 따라 색이 변경됨.

Object Position
오브젝트의 위치에 따라 색이 변경됨. 상대적

Object Orientation
오브젝트의 회전에 따라 색이 변경됨. Local




Camera Position
카메라가 바라보는 위치에 따라 색이 변경됨.




Screen Position
스크린 위치에 따라 표시. 고정표시

Actor Radius
액터의 크기에 따라 변경됨.



번외 Rotation
Center 위치를 정하고 Speed만큼 회전



Decal
비용이 적어서 많이 사용됨.
일종의 스프레이. 총알 구멍, 벽의 무늬 등.

Decal Actor와 Plane 머티리얼을 헷갈리지 말자.
Decal 자체를 컨텐츠 브라우저에서 끌어 넣어도 된다.


Material Domain : Deferred Decal
Blend Mode : Translucent

Detail 패널에서 Decal Size를 조절하는 게 좋다.

Decal Normal
Normal 값을 넣어서 물체의 표면효과를 줄 수 있음.



Sort Order
데칼 끼리의 숫자가 클수록 위에 표시된다.

Receives Decals
메쉬의 Detail에서 Decal을 받을지 말지 설정할 수 있다.

Fade Screen
Fade Screen Size : 데칼과 화면의 비율이 이것보다 이하일 경우 페이드 시작

마우스 위치에 데칼 생성하기
Get Hit Result Under Cursor by Channel : 커서 위치의 충돌을 확인
Trace Channel : Visibility 보이는지 여부, Camera 카메라에 표시되는지

Hit Result Location으로 위치 값을 가져오고,
Rotation from X Vector로 Normal로부터 회전 값으로 반환해옴.

Spawn Decal at Location 위치, 회전 값을 받아와서 생성
Life Span : 0은 무제한, 시간이 지난 후 사라짐.
















Anchor
Ctrl 클릭 : Anchor 위치 변경
Shift 클릭 : Anchor에 맞추어 Align 변경


🐸참고


Fresnel
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/using-fresnel-in-your-unreal-engine-materials

Decal
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/decals-in-unreal-engine

Get Hit Result Under Cursor by Channel
https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/Game/Player/GetHitResultUnderCursorbyChannel

이 블로그의 인기 게시물

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...