이건 lua도 아닌데 말 머리를 뭘로 해야 검색시 찾기 쉬울까... 일단 글 내용에 lua넣어둬야지... 모드. 그래픽. 모델링.


아래 포럼글을 따라해봤는데,

https://forums.factorio.com/viewtopic.php?f=135&t=26190

블렌더로 팩토리오 그래픽에 적절한 광원/그림자/원근법을 적용해 스프라이트를 뽑는 템플릿을 블렌더 최신버전에서 따라하면서 만든 템플릿.

이건 좀 옛날 버전꺼라...



내가 만든 블렌더 2.90용 템플릿.

https://drive.google.com/uc?id=1ZmpAJiPCv7YjxMUijn8hVC-wW8dBTviw&export=download


압축 파일 안에 설명 추가로 있다.

이 글은 그림을 같이 보여주기 위해 쓴거고, 압축파일 안의 설명하곤 좀 다르니까,

압축 파일 안에 추가설명을 더 열심히 읽자.

이것도 열심히 읽고.



ImageMagick 깔아야하고, spritify라는 블렌더 애드온이 필요한데, 이거 링크도 압축 파일 안에 있다.

spritify깔았을 때 애드온 목록



spritify를 깔았다면 블렌더의 렌더링 설정 패널에 이런게 추가됨.



압축 파일 설명에 "패널 Editor Type"이라는 표현이 나오는데, 이거다.

저런 것들을 누르면 각 패널 유형을 바꿀 수 있음. 화면 상단 탭들을 누르면 각 작업에 최적화된 패널 배치도 나오더라.



Text Editor 패널에 내가 스크립트를 만들어 넣었다. Outliner패널의 Collection 트리 GUI랑 상호작용하며 개체를 숨겼다 보였다 하는 스크립트.




이게 Outliner 패널인데, MasterLink랑 BodyLink라는 2개의 Collection을 내가 만들어 넣어놨다. Collection은 2.80버전부터 Layer를 없애고 대신에 도입된 기능인듯. RenderLayer마다 이 Collection의 체크된 상태를 저장해서 Layer처럼 쓸 수 있다. Layer보다 기능성이 확장됨.

- 그냥 드래그하면 링크 옮기기,

- control+드래그하면 링크 만들기(바로가기 & 참조 기능),

- shift+드래그하면 드래그 대상이 드래그한 개체의 parent가 될 수 있는 것이면 개체의 실제 parent가 바뀐다.

모델링 작업은 BodyLink안에서 하라고 내가 구분해둔 것. 오브젝트 추가하기 전에 BodyLink 한번 눌러주고 추가하면 알아서 저기로 들어가는 듯.

BodyLink 밑으로 안들어가있는 개체가 있으면 그냥 드래그해서 넣으면 됨.

작업 후, Text Editor 패널의 Re-link All을 실행해서 애니메이션 등이 적용되도록 만들어야함.




필요한 스프라이트 종류에 따라서 렌더링 범위를 바꿔야함.

이거 템플릿 원작자가 1~4번 프레임은 90도 회전으로 할당해둠.

5번부터 회전인데, 끝 프레임을 132를 하면 128프레임으로 360도 회전을 함.

끝 프레임을 68이나 다른 값으로 하면 Timeline 편집을 해야함.


해상도도 여기서 원하는 대로 바꿀 수 있다.




Timeline 패널을 열고, Outliner 패널의 RootAxis라고 내가 이름지어둔 축 개체를 선택하면 키프레임 위치가 표시되는데,

제일 오른쪽 키 프레임만 노랗게 표시되도록 빈공간 한번 눌렀다가 제일 오른쪽 키 프레임만 선택함.

그리고 그넘을 드래그해서 69 프레임 위치로 옮김.

그리고 프레임 렌더링 구간의 End를 68로 설정하면 64프레임짜리 회전애니메이션 스프라이트가 뽑아짐.


------------------------


- 회전이 아니라 다른 동작을 하는걸 만들고 싶다면(예를 들자면 원심분리기 쿵떡쿵떡같은거)

그에 관련된 개체만 렌더링되는 레이어를 따로 만들고, 그 개체들의 애니메이션을 따로 만들어서 키프레임 따로 만들고 렌더링 하면 될듯.


- 플레이어 컬러 마스크 같은걸 렌더링하려면 컬러가 바뀌지 않는 개체의 Object Properties에서

Visibility > Ray Visibility > Camera의 체크를 끄고 렌더링하면 될 것 같다. 렌더링 되는 개체는 회색이어야 하는듯? 팩토리오 base 폴더에 스프라이트 봐가면서 잘 따라해보셈.


- 렌더러는 cycles를 했는데, 2.80부터 Blender renderer를 대체한 Eevee라는 렌더러는 빠르긴 한데 그림자 퀄리티가 개줫망이라서 cycles로 함.


- GPU 렌더링을 사용하려면 Edit > Preference > System > Cycles Render Devices에서 None이 아닌걸 선택. n당이면 CUDA하면 된다.


- Text Editor에서 All View 스니펫을 실행한 후, Render Animation을 하고, Spritify에서 Generate Animated GIF를 한 128프레임 회전 결과물.