라이트, 액터, 충돌

Oak_Cassia·2022년 6월 2일
0

전에 링크 걸었던 강의를 기반으로 언리얼 엔진 문서(라이트 링크)를 보며 공부하고 있다.

상단, 오른쪽, 후면 등을 직교로 볼 수 있는 뷰 포트가 있다. 이 때 휠클릭으로 드래그하면 길이를 알수 있다.
전에 없다고 했던 드래그로 액터를 선택하는 것도 존재한다.\\ (직교 뷰포트)


다섯가지 라이트

  1. 디렉셔널: 야외 라이트 또는 굉장히 멀거나 거의 무한한 거리에서 쏜 빛
  2. 스카이: 씬의 배경을 캡처 해 레벨의 지오메트리에 적용
  3. 포인트: 전구, 단일 포인트에서 모든 방향으로 쏘는 빛
  4. 스포트: 원뿔 모양 빛
  5. 렉트: 사각형 표면에서 한 방향으로 빛


액터

  • 레벨에 배치할 수 있는 모든 오브젝트
  • 게임 플레이 코드를 통해 생성 및 소멸

컴포넌트

  • 액터에 추가할 수 있는 기능
  • 단독으로 존재할 수 없음
  • 액터에 추가하면 컴포넌트가 제공하는 기능 사용

  • 액터의 서브클래스
  • 플레이어나 게임AI로 제어되는 NPC 등
  • 게임모드의 디폴트 폰 클래스에서 기본 폰 선택

캐릭터

  • 액터, 폰의 서브클래스
  • 콜리전 설정, 입력, 움직임

스태틱 메시

  • 렌더링 가능한 지오메트리 유형 중 하나
  • 월드에서 메시를 사용하기 위해 스태틱 메시 액터 사용
    • 스태틱 메시를 드래그 드롭하면 스태틱 메시 액터로 변환
  • 이동시키려면 무버블로 만들어야함

코딩 표준

  • 접두사 U: Uobject 상속

  • 접두사 A: AActor 상속

  • 접두사 E: Enum 상속

  • 접두사 F: 그 외 대부분 클래스의 접두사

    • FString

게임 모드

  • 게임의 규칙 설정(게임 참여, 일시정지 가능 여부, 승리조건 등)
  • 레벨별로 오버라이드할 수 있다.

GetOwner()

  • 액터의 소유자 리턴
  • 로블록스의 Parent 느낌?

FMath::VInterpConstantTo

  • 일종의 struct
  • (현재 위치, 목표 위치, DeltaTime, 속도)로 FVector 생성
  • 한 프레임당 속도에 맞춰 이동
  • 물체를 이동시킬 때 유용

씬 컴포넌트

  • 트랜스폼이 있고 attach 지원
  • 나는 카메라와 같은 방향을 가리키는 용도로 썼다.

GetComponentRotation()

  • 컴포넌트의 rotation 리턴, 월드 안의

스태틱 메시 콜리전

  • 메시의 블르프린트로 가서 콜리전-프리미티브-박스-인덱스 에서 크기와 위치를 설정해줬다

Line trace

  • 직선 상태로 진행하는 점의 위치를 추적하는 것
  • 라인에 다른 물체가 걸리면 그 뒤로 갈 필요 없다. 정교해야한다.
  • LineTrceByChannel() 은 직선상에 트레이스에 히트한 첫 오브젝트 반환

Shape trace

  • Line trace가 점이 였다면 점 대신 다른 모양

trace chnnel

  • 채널은 비저빌리티와 카메라 같은 것에 사용
    • visbility 보이는 물체
    • camera 카메라가 물체를 통과하는지
  • 트레이스에 쓰임
  • 어떤 물체가 응답할 수 있는지 리스트 작성 다른 물체는 무시
    • 프로젝트 설정에서 가능
    • 이후 스태틱 메시 액터에서 프리셋
    • 블록: 블록으로 설정된 두가지 액터 사이에 발생
    • 오버랩: 서로 무시하는 것처럼 보인다.
    • Ignore: 무시

      사용자가 만든 컴포넌트에 관한 충돌 관련 이벤트를 위해 설정해 줄 수 있다.

UWorld::GetWorld()

  • World는 가장 높은 계층의 object
  • UWorld 밑에 ULevel

DrawDebugLine

  • world, stat, end ,color,
  • 인자를 받아 선을 표시
  • 충돌이나 트레이스 표현 유용

get forwardvector

  • 씬 컴포넌트의 forward 방향을 리턴하는 함수
profile
rust로 뭐할까

0개의 댓글