어떻게 블루프린트에서 노드가 반환값을 여러개 가질 수 있을까?
언리얼에서의 자손 액터
- child로 지정해줘야 child actors고,
- 지정하지 않으면 attached actors라는 중간지대에 놓임
이벤트 디스패처
- C++ 델리게이트(함수 포인터 저장하는 배열)
- 이벤트 발행할 때 이 배열에 저장된 함수 포인터 호출
- 함수와의 차이:
- 이벤트 디스패처는 구독 중인 여러 대상에게 동시에 소식을 전하는 브로드캐스팅(1:N) 방식
- 호출 객체와 수신 객체 간 결합도를 낮춤
- 함수는 1:1, 즉시 실행/반환 특성을 가짐. 수신 대상을 몰라도 되고 비동기적 처리에 유리
게임 메인 UI 설계
- PlayerController에서 이벤트 바인딩(GameMode와 UI간 직접 결합 방지)
- BP_GameMode에서 이벤트 발행
- WBP_MainUI에서 이벤트 수신
- WBP_KillCount로 이벤트와 값 전달
그래픽스 프로그래밍
조명처리
- 결국 조명처리는 조명의 방향과 점(면)의 법선을 외적해 나온 값으로 그리는 것이다
- 램버트의 코사인 법칙은 1760년에 정립됐으며, 물리적 한계로 코사인 함수와 동일하다고 믿기로 했다. 이 법칙 기반으로 수많은 기술들이 발전해왔으며 컴퓨터 그래픽스의 물리기반 렌더링은 출발점의 한계 때문에 그 자체로 한계가 있을 수밖에 없고 아무리 발전한다한들 빛이라는 무한대의 성질을 컴퓨터로 완벽히 따라하는 것은 불가능하다.