본문 바로가기

전체 글63

07. 머터리얼 디테일 살펴보기 이쪽 내용을 살펴볼 것. Physical Material 이 머터리얼이 들어가있는 오브젝트를 의미한다 보통 바닥이나 바위 이런 곳이 많이 사용된다. Phys Material 이 머터리얼이 사용하는 피지컬 머터리얼이라는 뜻이다 상호작용해주는 물리같은걸 넣어준다고 생각하면 될 것 같다. 쉐이더가 이거까지 해준다고 싶지만 언리얼은 그런다고 한다. Phys Material Mask 사운드팀이나 기획팀이 연결요청할때 만지는 뭐시기라고 한다 Material Domain 이 머터리얼의 사용 용도를 결정하는 칸 surface : 일반적인 쉐이더 decal : 말 그대로 바닥에 붙이는 스티커 같은거 장판 효과같은거 만들때에도 사용가능 Light Function : 라이트 마스크 같은 느낌 자주사용하지는 않는다 Volum.. 2023. 5. 31.
[셰이더 프로그래밍] 02. 진짜 쉬운 빨강쉐이더 렌더몽키에서 빨강색 공을 그리는 셰이더를 작성하고 그 결과를 .fx파일로 엑스포트 한 뒤 이걸 DirectX 프레임워크에 그대로 가져다가 사용할 것이다. struct VS_INPUT { float4 mPosition : POSITION; }; struct VS_OUTPUT { float4 mPosition : POSITION; }; float4x4 gWorldMatrix; float4x4 gViewMaatrix; float4x4 gProjectionMatrix; VS_OUTPUT vs_main(VS_INPUT Input) { VS_OUTPUT Output; Output.mPosition = mul(Input.mPosition, gWorldMatrix); Output.mPosition = mul(Outpu.. 2023. 5. 31.
[셰이더 프로그래밍] 01. 셰이더가 무엇인가 셰이더의 정의 셰이더는 화면에 출력할 픽셀의 위치와 색상을 계산하는 함수이다. 3D 파이프라인을 간단히 설명하자면 [정점 셰이더] -> [레스터라이저] -> [픽셀 셰이더] -> [화면] 으로 되어있다. 정점 셰이더가 입력 값으로 받는 것은 3D모델 자체이다. 정점 셰이더가 수행하는 가장 중요한 일은 물체를 구성하는 정점들의 위치를 실제 화면 좌표로 변환하는 것 정점 셰이더는 3D 물체를 구성하는 정점의 수 만큼 실행된다. - 화면을 구성하는 최소 단위는 픽셀이다 레스터라이저는 정점 셰이더가 출력하는 그 정점의 위치를 차례대로 모아 도형을 만든 뒤 그 안에 들어간 픽셀들을 찾아내어 그려준다. 레스터라이저 과정은 얘가 찾아내는 픽셀 수 만큼 호출된다. - 픽셀 셰이더의 주된 일은 화면에 출력할 최종 색을 .. 2023. 5. 30.
06. 재질의 기본 이해와 쉐이더 제작 언리얼에서 제공하는 라이트 방식이 두가지다 (4기준 / skylight 기준) 하나는 상황을 캡쳐를 해서 (카메라 기준) 보여주는 방식이 있고 내가 지정한 큐브맵을 따로 넣어주는 방법이 있다. Skylight 가 무버블일때랑 스테이블일때랑 AO가 적용받는 방식이 좀 다르다. ---- 또 리플렉션 캡쳐라는게 있는데 이게 뭐냐면 특정 이미지나 특정 라이트 값을 캡쳐를 해서 모델에 전사를 한다. 스태틱 레이트레이싱과 비슷한가? 싶다 얘도 비슷하게 특정 상황을 캡쳐를 해서 전사를 하거나 혹은 내가 HDRI를 끌어와서 이거 기준으로 해달라고 할 수 있다. 무작정 넣어보면 리플렉션 캡처를 다시 빌드해야 한다고 나온다. 이 씬 같은 경우는 라이트캡스가 구워져있는 scene 이기 때문에 기본적으로 라이트맵이 들어가있고.. 2023. 5. 30.