본문 바로가기

Ue12

셰이더 프로그래밍 기초: 정점셰이더와 픽셀셰이더 정의 셰이더란?색의 농담, 색조, 명암의 효과를 주는 것셰이더의 최종결과는 농담, 색조 명암효과를 조합한 하나의 RGBA 색상값이다. 정점 셰이더란?정점셰이더가 입력값으로 받는것은 3D 모델 자체인데 모델은 폴리곤으로 구성된다.폴리곤 = 삼각형의 집합, 3D모델 = 정점들의 집합삼각형은 3개의 정점으로 이루어져 있기 때문에 정점데이터 = 정점셰이더의 입력값 정점 셰이더의 역할=> 3D모델을 구성하는 정점들의 위치를 좌표로 변환하는 것픽셀이란? :화면을 구성하는 최소 단위화면에 무엇인가를 만드려면 픽셀을 어디에, 몇개를 그려야 하는지 알아야 한다.=>래스터라이저가 하는 일래스터라이저는 정점셰이더가 출력하는 정점의 위치를 모아 삼각형을 만들고, 그 안에 들어갈 픽셀을 찾아낸다.=>픽셀 셰이더 함수는 래스터라이저가.. 2024. 10. 4.
UE5 : 거리에 따라 밝기가 약해지는 머테리얼 노드 만들기 (거리값에 따른 감쇠) Emissive intensity가 Lerp를 통해 거리값 (PixelDepth / 거리값) 을 받아서 점차 감쇠하게 된다. Value값은 작업에 따라 custom 설정 가능 2024. 2. 26.
UE5 : 렌더링할때 참고하면 좋은 콘솔 변수 Movie Render Queue를 사용할때, 따로 콘솔변수로 설정하여 렌더링 퀄리티를 올릴 수 있다. 도움이 될 수 있는 콘솔변수를 알아보자. r.RayTracingCulling r.RayTracingCulling => 0으로 지정하면, 거리에 따라 계산되는 그림자가 카메라에서 안팎으로 클리핑되는 현상을 막을 수 있다. r.DepthOfFieldQuality r.DepthOfFieldQuality => 1(낮음), 2(높음), 4(최고품질) Depth of field를 줄때 그 퀄리티를 높일 수 있다. r.ScreenPercentage r.ScreenPercentage => 100 해상도 스케일 조절 기술로, 이미지의 실제 표현 해상도보다 높이거나 낮춰서 렌더할 수 있다. 이는 뷰포트에서도 확인할 수 .. 2024. 2. 19.
UE5 : Substrate Material 시스템 설명 - 1 UE5.2에서 새롭게 도입된 Substrate Material 시스템 Substrate? - Default lit이나 clear coat같은 새로운 쉐이딩 모델 방식으로 기존 방식인데 보다 더 풍부한 머테리얼 표현이 가능하게 한다 ( Liquid on metal, Dust on clearcoat, Clearcoat over subsurface ) - 다른 타입의 surface를 blend할 수 있다 (metal, glass, plastic) - 핵심은 "slab of matter": 정해진 단위가 있는 물리량으로 매개변수화된 원칙적 표현 핵심 빌딩 블럭을 기반으로 closure 그래프로 머테리얼을 표현한다 (mixing, layering) (*closure: 컴퓨터 언어에서 클로저는 일급 객체 함수의 개.. 2023. 6. 27.
UE4 : HDR로 배경만들기 (skysphere_BP) https://youtu.be/lwi4K4x0Q3k △참고영상 언리얼에 기본적으로 멋찐 하늘이 있지만 나는 나만의 하늘을 띄우고 싶을때 / HDR가지고 배경만들때 사용할 수 있는 방법 1. Content Browser에서 Blueprint Class(Actor)로 생성한다. SkySphere_BP라고 네이밍 2. BluePrint Editor 에서 Component > Sphere를 추가하고 SphereSky라고 이름 붙여준다. Static Mesh > Sky_Sphere로 설정해준다. (*Content Browser 셋팅에서 Unreal Engine Content를 체크해줘야함) Variables을 추가하고 이름을 SkyMaterial이라고 붙여준다. △다하면 이렇게 보임 3. Construction .. 2021. 7. 19.
UE4 : Moon Material 달 만들기 / Dot 표현식, Camera Vector 와 VertexNormalWS 달 material을 만들면서 edge부분으로 갈수록 흐릿해지는 효과를 주기위해서 △ Opacity에 다음과 같은 노드를 사용했다. * Vector : 길이와 방향값을 가진 크기 [Camera Vector] 여기서 파란색 선을 보면 되는데, 카메라를 기준으로 나가는 벡터다. Default 값은 '1'로 설정되어 있다. [VertaxNormals] 각 vertax 로컬축을 중심으로 나가는 벡터 마찬가지로 Default 값이 '1' 이 두개를 Dot했다. 왜? Dot : 곱, 두개의 벡터를 곱한것 한 벡터를 다른 벡터에 투영했을때의 길이를 계산한다 or 두 벡터 사이의 코사인에 그 세기를 곱한것 감쇠 계산(Attenuation)에 많이 사용되는 계산법 그러니까 저 CameraVector이랑 VertexNor.. 2021. 7. 9.