본문 바로가기
툰렌더링 공부

언리얼 엔진 공부 #4

by IX. 2022. 11. 30.

11.30

초기엔 셰이더코드를 짰는데, 어느 정도 안정화되니 작업 프로세스 자동화에 더 많은 시간을 쏟게 된다.

요즘 게임은 개발공정이 엄청나게 복잡해졌기 때문에, 이런 자동화처리가 중요해진다. 

블루프린트 공부까지 겸하며 하다보니 2주 정도 걸린 것 같다.

블루프린트의 Import Subsystem으로 임포트 후의 일을 제어할 수 있다.

문제는 하나의 객체만 넘어온다는 것이다. FBX를 임포트 하면 딱 메쉬데이터만 넘어오기 때문에 완전 자동화가 힘들다.

나중에 실력이 좀 향상되면 이것까지 제어할 수 있게 될까.

 

블렌더에서 설정한 값이 그대로 언리얼로 넘어가야 하기 때문에 메타데이터로 기록해 넘겨야 한다.

맥스에선 User Define, 블렌더에선 Custom Properties로 넘길 수 있다.

애니메이터야 어렵겠지만, 최소한 모델러라도 엔진을 켜지 않고 결과물을 확인할 수 있도록.

 

라이트맵을 아무리 구워도 표현이 안되길래, 여러 영상을 찾아봐도 뾰족한 수가 나오지 않아서 살펴봤더니, 간접광으로 루멘이 켜져 있었다.야이... 혼파망의 UE5라이팅

 

12.1

오늘의 실험주제. 반사

리플렉션 메소드가 None이라면 반사가 먹지 않을까?

아니... 리플렉션 캡처가 있다면, 메소드와 상관없이 먹는다.

리플렉션 캡처가 2개 있다면?

2개가 모두 적용되나, 나중에 만든 것이 더 우선으로 적용된다.

기본적으로 리플렉션 캡처는 범위가 넓게 설정되므로, 기존 것이 무시되는 줄 알았지만, 범위를 줄여 확인해보니 합성되는 것이다. 여러개를 설정할 때는 주의할 것. 물론 모바일에선 1개도 벅찰 것 같다..

 

리플렉션 캡처의 소스는 실시간 갱신되지 않는다. 지우고 다시 만들거나, 아래항목 중 하나를 변경하면 다시 캡처를 한다. 사실 캡처를 다시 할 일이 없기도 하지만.

 

덧. 그냥 빌드메뉴에 있다. 요 아래.

 

ThridPerson맵에서 라이트맵이 구워지지 않는 문제가 있어 자료를 찾아보니, 버그라고 한다.orz

맵 전체를 복사하고 새 레벨을 만들면 잘된다.

 

Exponential Fog가 라이트맵에 영향을 끼칠까?

답 : 영향을 끼친다.

 

유니티는 앰비언트의 유형을 정할 수 있다. 스카이박스, 그라디언트, 단색

언리얼은 그런 거 없다. 그냥 무조건 스카이박스다.

이걸 찾으려고 한참을 헤맸다.

12.2

나한테 왜 이래...

합법적 농땡이 중.

 

12.5

디렉셔널을 스태틱으로 바꾼 후 라이트를 굽고 나면 이 그림자들은 실시간  디렉셔널과 잘 어울릴까?

예상했던대로 답은 아니오.

12.6

블렌더에서 스프링본 애니메이션을 베이킹 해주는 과정이 귀찮기 때문에, 다시 블렌더 스크립트 작업.

베이킹된 fcurve를 원본에 직접 붙여주려 했으나, '알수 없는 오류(정말로 콘솔창에 이렇게 뜸)'로 실패.

별 수 없이 구워진 값을 일일이 복사해주는 방법을 써야 한다.

따라서 할 일은 프레임값과 밸류값을 찾는 일인데... 어째... 왜 없지? 해서 찾아보니

Keyframe구조체의 co값이 그 역할을 담당하고 있다... 이걸 왜 벡터2로 합쳐놔... 사람 헛갈리게 

이게 Keyframe.co값이다.

해서 나온 결과물.

 

'모두 선택'을 따로 떼어놓은 이유는 일부만 선택하고 베이킹할 수도 있어야 하기 때문에.

12.7

블렌더엔 놀랍게도 Additive모드가 없다. 이걸 위해선 알파 블렌드를 써서 이미시브와 혼합해야 한다. 이런 바보같은!