메타버스 4기 (Unreal Engine)/Jan

메타버스 4기 Jan 14, 2025

나무늘보섬 2025. 1. 14. 18:49

교재 Material, Shader 관련 노드

  • Texture Sample : 실제 텍스처 데이터를 샘플링하여 해당 텍스처의 픽셀 정보를 얻어오는 노드
  • Texture Object : 텍스처 자체를 참조하는 노드
  • TexCoord : UV 좌표계를 연결
    • UTiling, VTiling : (U) * (V)한 값 만 반복됨.
  • CustomRotator: 회전 시키는 노드
    • UV : 좌표계
    • Rotation Center : 회전 시킬 축
    • Rotation Angle : 각도  0부터 1 (1 == 360도, 0.5== 180도)
  • CheapContrast : 색상 대비(흰색과 검은색)를 시켜주는 노드 / 컬러이미지: CheapContrast_RGB

 

  • Fresnel 
    • 주로 렌더링과 빛의 반사 를 다룰 때 사용
    • 효과 : 물체의 표면에서 빛이 반사되는 정도가 관찰자의 시각에 따라 어떻게 달라지는지를 설명하는 물리적 현상. 
      • -> 물체의 표면에 대한 입사각에 따라 반사되는 빛의 양이 달라지는 효과, 표면의 반사 및 굴절 효과
  • Desaturation 
    • 입력된 색상을 흑백으로 변환하여 색상 정보를 제거
    • 색상 정보를 흑백 값으로 변환하면서, 원본 색상의 명도(luminance)를 기준으로 그레이스케일 값을 계산

 

 

 

회전 시킬 수 있는 노드들 (부분, 파트 별로 회전 가능, 최상단은 모든 Component 다 회전)

 

 


활동정리

 

GameMode의 활용 4가지

 

 

 

 

 

 

GameMode

  • 멀티 플레이의 경우, 서버에만 존재해야함.
  • 자주 변경되는 데이터는 포함되지 않아야 함.
  • 일시적인 데이터 저장용도 X, 절대적인 규칙들을 저장해 놓는다.
  • Game State Class : (멀티 플레이 게임) 게임 전체의 상태, 전반적인 로
    • 클라이언트가 게임의 상태를 모니터링할 수 있도록 해줍니다. 
    • 개념적으로 게임 스테이트는 접속된 모든 클라이언트가 알아야 하는 정보, 플레이어 개개인이 아닌 게임 모드에 관련된 정보를 관리해야 합니다. 
    • 그래서 접속된 플레이어 목록, 깃발뺏기 게임의 팀 점수, 오픈 월드 게임에서 완료한 미션 등과 같은 게임 전반적인 프로퍼티 기록을 유지함
  • Player State Class : 개별 플레이어의 상태, 플레이어의 고유 정보

 

 

 


실습 -  문제 내보기

 

1번 다음 중 주어진 텍스처의 RGB값을 출력하는 노드의 이름은? 

a) TextureCoordinate

b) DetailTexturing

c) TextureSample (답)

d) TextureObject 

e) Constant3Vector

 

2번 texture sample에 할당한 에셋을 수정하기 위한 방법으로 적절하지 않은 것은? (쉬움과 보통 그 중간 어딘가..)

a) texture coordinate 노드를 추가해 u타일링 및 v타일링의 값을 조정한다.

b) multiply 노드를 이용해 색상을 조정한다.

c) cheapcontrast 노드를 이용해 대비를 조정한다.

d) lerp를 이용해 원하는 부분에 텍스쳐를 할당한다. (답)

 

3번 빈칸을 채우시오. (아마 어려움?)

러프니스에 텍스쳐를 적용할 때 texture sample 노드의 (       )값을 주로 블렌딩하는데, 이는 다양한 러프니스 값을 혼합하는 데 유리하게 사용할 수 있는 그레이 스케일 값을 제공하기 위해서이다.  (답) R 혹은 붉은색 



<Fresnel 노드>

4번. Fresnel 노드의 이 파라미터는 '표면을 정면에서 봤을 때 스페큘러 리플렉션 (Specular Reflection)의 비율'을 지정하는 것으로,

기본적으로 카메라를 향하는 영역의 동작 방식을 지정하고, 값 1을 사용하면 노드의 효과가 무효화 되는 이 파라미터는?

 

a) ExponentIn

b) BaseReflectFractionIn (답)

c) Normal

d) 이 중에 없음



<Lerp 노드의 사용 이유>

5번 텍스처를 만들 때, Lerp 노드를 사용하는 이유는?

 

답) 2개의 이미지를 블렌딩하고 블렌딩한 이미지를 사용하기 위해

답2) 색, 크기(스칼라), 텍스처 등을 선형보간(Linear Interpolate) 하기 위해

 

답이 아닌 것) 0과 1사이의 값을 조정하려고 -> 모호함.



 

 


실습

 

사진 1

 

 

 

 

Add Movement Input을 쓰려면 Component로 FloatingPawnMovement가 필요함,

 

 

 

  • 사진 1에는 Delta Seconds의 return value는 1프레임이 몇 초인지 나옴 -> 누적시간을 저장해주고 계산해줘야함 
    • -> 그렇기 위해 ElaspedTime 시간 변수 추가해서 계산 
    • 한 번만 출력하려면 Do Once 노드로 출력 가능!

 

 

Turn 키 맵핑

 

<키보드 시점 변경> Add Actor Local Rotation으로 설정, Turn

 

 

앞뒤좌우 이동 키 맵핑
앞뒤좌우 움직임

 

마우스로 시점 변경하기 - Pawn이니까 Get Player Pawn 노드가 필요하다
BP 캐릭터의 detail 창에서 이걸 켜 줘야 상하좌우 시점전환이 됨. (Pitch - Y, Yaw - X)

 

 

 

 

점프 맵핑

 

 

 

BP 캐릭터의 점프 속도 바꾸기

 


무료 에셋 링크

 

https://www.fab.com/search?q=paragon

'메타버스 4기 (Unreal Engine) > Jan' 카테고리의 다른 글

메타버스 4기 Jan 16, 2025  (5) 2025.01.20
메타버스 4기 Jan 15, 2025  (2) 2025.01.15
메타버스 4기 Jan 13, 2025  (1) 2025.01.13
메타버스 4기 Jan 10, 2025  (1) 2025.01.10
메타버스 4기 Jan 08, 2025  (0) 2025.01.08