특수 Actor | Material

김여울·2025년 5월 2일

사전캠프

목록 보기
9/24

1. 특수 Actor

  • 클래스 = 설계도
  • 액터 = 그 클래스의 인스턴스

🔻Pawn


  • 액터의 자손 + 빙의(Possess) 기능을 가진다
  • 컨트롤러 액터가 폰에 빙의하게 되면 입력을 전달할 수 있는 상태가 된다

🔻Character

  • 폰의 자식
  • CharacterMovement 컴포넌트 : '걷기, 뛰기, 헤엄치기, 날기' 기능 포함된 폰
  • 주인공, 적을 편하게 만들 수 있다


    액터 클래스 > 폰 클래스 > 캐릭터 클래스
    *상속받는 건 클래스 개념

🔻Controller

  • 플레이어 컨트롤러
    ✔ 키보드, 마우스에서 입력 받아 폰으로 전달해주는 액터
  • AI 컨트롤러
    ✔ 정해진 규칙에 따라 AI가 동작하면서 그것에 대한 처리 결과를 폰으로 전달해주는 액터


2. 컴포넌트의 종류

  • 컴포넌트들은 각각 다른 기능을 지니며 액터에 추가해 사용한다
  • 컴포넌트 추가하기

    액터 생성 ➡ 블루프린트 클래스화 ➡ 컴포넌트 추가

🔻씬 컴포넌트

  • 위치, 회전, 스케일값을 포함하는 트랜스폼을 가지고 있다
    '위치한다', '존재한다'

🔻스태틱 메시 컴포넌트

  • 씬 컴포넌트의 자손 클래스 ➡ 트랜스폼을 지닌다
    스태틱 메시 에셋을 표시하는 기능을 가진다
    : 애니메이션이 없고, 뼈가 없는 3D에셋 ➡ 변형되지 않음

    3D 모델을 스태틱 메시로 임포트하기 통해서 스태틱 메시 에셋을 생성할 수 도 있다.

  • 피직스 : 물리 적용 여부를 결정
    ▶ 피직스 시뮬레이트 ☑ ➡ 물리를 적용한다
    📎Epic Games Developer

  • 컨스트레이트 : 물리를 적용하더라도 특정 축으로 움직이는 건 막음

  • 콜리전 : 물체가 부딪히거나 겹쳤을 때 어떤 행동을 할지 결정하는 충돌체
    ▶ 시뮬레이션 중 히트 이벤트 생성 : 물체가 부딪혔을 때 특정 블루프린트 노드 실행
    ▶ 오버랩 이벤트 : 겹쳤을 때 특정 블루프린트 이벤트 실행
    ▶ 콜리전 프리셋 : 겹침과 부딪힘이 동시에 일어날 수 없음과 같은 규칙을 정해주는 항목
    📎Epic Games Developer

🔻머티리얼

📎Epic Games Developer

  • 스태틱 메시를 설정 후 컴파일 ➡ 머티리얼 생성

    • 재질을 만드는 것 가능
    • 스태틱 메시가 두 개 이상의 머티리얼을 가질 수 있음
    • 텍스쳐를 입혀 그림으로 특정 색 나타낼 수 있음

  • 머티리얼 만들기
    컨텐츠 드로어 > 머티리얼

    • 베이스 컬러
      • 머티리얼의 전반적인 색상
    • 메탈릭
      • 0 : 완전 비금속
      • 1 : 완전 금속
    • 스페큘러
      • 비금속적인 부분의 반사도
      • 0 : 반사 없음
      • 1 : 반사 있음
    • 러프니스
      • 표면의 거침 정도
      • 0 : 매끄러워 반사가 잘됨
      • 1 : 거칠어서 무광
    • 베이스 컬러

  • 텍스쳐 가저오기

    • R G B
      • 빛의 삼원색
      • 색을 표현
    • A
      - 알파 값
      - 불투명도

  • 머티리얼 적용하기
    적용 > 저장 > 콘텐츠 드로어 > 만들어놓은 액터 클릭 > 뷰포트에서 머티리얼 적용

🔻라이트 컴포넌트

이름특징
디렉셔널 라이트햇빛 같은 평행한 빛 발사
스포트 라이트원뿔 형태
포인트 라이트구 형태

속성 이름설명
강도빛의 세기
라이트 컬러빛의 색상
어테뉴에이션 반경빛이 영향을 끼치는 거리
소스 반경광원의 크기
* 디렉셔널 라이트는 반경 없음 (햇빛)

✔ 강도와 라이트 컬러에 따라 머티리얼이 다른 색상으로 나타날 수 있음


🔻스켈레탈 메시 컴포넌트

  • 스켈레탈 메시 컴포넌트도 씬 컴포넌트의 자손 클래스라 트랜스폼이 포함되어 있음

▶ 애니메이션 : 포즈를 취하는 장면
▶ 스켈레탈 메시 에셋 : 위의 애니메이션 동작에 따라 변형될 수 있는 3D 모델


🔻스프링 암 컴포넌트

'카메라 붐' or '셀카봉'으로 사용해 카메라가 월드에 충돌하면서 플레이어를 따라감

액터에 암이 붙고 한쪽 끝은 카메라를 붙이고 그 카메를 충돌체로 인식한다
충돌체가 부딪히면 잡아 당겨지고 안 부딪히면 원래 길이로 돌아온다

▶ 타깃 암 길이 : 충돌하지 않았을 때의 암 길이
▶ 소켓 오프셋 : 카메라 암의 위치

🔻카메라 컴포넌트


비치는 화면을 촬영하는 기능
어떤 카메라를 비출 지는 스크립트나 블루프린트 노드를 통해 정한다

3. Actor의 노드들

🔻Transformaiton

: 액터의 각종 트랜스폼에 관련된 정보들

  • Add

    • 현재 트랜스폼에 위치, 회전, 스케일 등을 더함
  • Get

    • 현재 액터의 정보를 가져옴
  • Set

    • 지정함

    📌 Add 와 Set 차이
    y값에 1
    add ➡ 현재 y에 1 더하기
    set ➡ 기존의 y값과 상관없이 1로 바뀜

  • Add Actor Local Transformaion

    • Make Transform 노드를 통해 트랜스폼 자료형 생성 가능
  • Get Actor Transform

    • 자동으로 액터의 트랜스폼을 가져옴
  • Set Actor Transform

    • Make Transform 노드를 연결해 그 트랜스폼으로 지정됨

🔻Sweep 와 Teleport

  • Sweep : 물체가 이동할 때 휩쓸고 지나간 것으로 처리
    ➡ 사이에 있는 물체들은 오버랩됨
  • Teleport : 순간이동을 통해 움직임


4. Component의 노드들

원하는 컴포넌트를 드래그 하면 변수처럼 사용 가능하다
액터와 마찬가지로 Transformation 검색하면 Add, Get, Set 나온다.
액터가 아닌 컴포넌트에 대한 것

🔻기능

노드 이름기능결과
Activate컴포넌트를 활성화
Deactivatate컴포넌트를 비활성화
Is Activate활성화 여부 체크
Is Valid(노드) 현재 컴포넌트가 정상인지삭제되었거나 불안정 상태이면 Return Value에 False 나옴
Is Valid(함수) Branch와 비슷실행을 받아 Input Object의 내용을 확인해 정상 ➡ Is Valid 핀 실행, 비정상 ➡ Is Not Valid 핀 실행

라이트 컴포넌트 노드
light color, bloom scale, set intensity(강도) 등 설정 가능
컴포넌트 ➡ 라이트 : light color, bloom scale, set intensity(강도) 등 설정 가능


카메라 컴포넌트 노드
여러 카메라의 비율, 각도 등 조절


🔻카메라 선택하고 설정하기

  • 부모 클래스를 Pawn으로 바꿔 빙의하기
  • Get Player Controller : 현재 플레이어의 컨트롤러 가져오기
  • 가져온 값을 통해 possess 후 Pawn에 자기 자신 넣기


❔카메라가 두 개인 경우 어떤 카메라에 possess할지 정하기


Camera는 비활성화, Camera1은 활성화 시킨다
카메라를 삭제하고 싶을 땐 Is Valid 노드를 사용하면 된다

0개의 댓글