갑자기 짜게 식어서 유기할 수 있음
이거 만들 예정
기획해둔 건 전부 장황해서 다 적긴 그렇고
일지 올릴때 어떻게 구현하려고 했는지 올릴 예정 (여기도 그렇게 했음)
게임은 간단한 UI, 간단한 AI, 간단한 컨트롤로 구성되어 있고
일본인 2명이 대학 과제로 만든 간단한 FPS라는 썰이 있음
한국에서는 미니서든이라고 알려져서 추억의 컴퓨터실 게임 중 하나로 기억할거임
문제는 그래픽이 좆박았고 기본적인 앉기, 엎드리기 같은것도 없고
AI도 그냥 적 보면 총 쏘고 아니면 말고 그런 간단한 것이고
애니메이션도 없이 걍 "다리 달리기0, 다리 달리기1, ..." 이런식으로 선형보간 하면서 만들어둠
완전 지금 하면 똥게임이나 다름 없지만 이 게임의 매력은 딱 두가지임.
1. 초딩도 할 수 있는 맵 제작과 스킨 변경
2. 은근 B급감성 있음(빌게이츠, 사담후세인, 아놀드 슈워제네거 캐릭터 있음)
이런 싼마이한 감성 때문에 팬층이 꽤 있는 것 같음
그래서 고도엔진으로 만드려는 사람도 있었고(유기한 것 같음)
게임 파일 데이터를 하나하나 이진 데이터까지 분석한 미친 일본인도 있음
그래서 유니티로 이 게임을 만들 때, 보강할 부분은 보강하고 (애니메이션 등등)
두가지 장점인 특색은 그대로 구현하기로 함
1. 초딩도 할 수 있는 맵 제작 -> 유니티 에디터 확장으로 쉽게 할 수 있게 만듬
2. 초딩도 할 수 있는 스킨 변경 -> 에셋번들, 어드레서블 같은 압축된 번들에서 데이터를 불러오지 않고, StreamingAssets를 이용하기로 함
3. B급감성 -> 2025년에 맞춰서 업데이트할 예정
그래서 어제부터 했던 걸 공유하자면
이 게임의 맵 에디터임.
맵 에디터를 분석하자면
1. 맵의 구성요소는 전부 육면체 단위임. (여기서부터 일반적인 게임과는 뭔가 다르다... 느낌이 들거임)
2. 육면체의 버텍스를 조정해서 지형지물, 벽, 땅 등등을 만듦
3. 맵은 3dsmax 마냥 3각투상도(윗면, 정면, 옆면)랑 원근카메라로 볼 수 있음
은근 이거 만든 애가 미친건지
메시 컬라이더가 깨질 정도로 버텍스를 휘저어버리면 컬라이더를 걍 없애버림.
그래서 이걸 이용해서 육면체 버텍스를 합쳐버려서 평면으로 만들어서 물 표면을 구현한 에드온 맵도 있었음
아무튼 잡설은 여기까지 하고
오늘 구현할 에디터의 기능은 바로 텍스쳐 기능임
맵 하나당 블럭에 쓰일 텍스쳐는 총 10개를 불러올 수 있음
다른 말로 하면, 머티리얼이 10개 + 1개(텍스쳐 없으면 기본 색상 머티리얼) 라는 뜻이지
이 게임파일을 분석한 일본인에 의하면 맵 데이터 파일의 310바이트는 텍스쳐 데이터를 담고 있다고 함
31바이트씩 텍스쳐 경로 (작아보이지만 맵 데이터랑 같이 있는 경로기 때문에 상관없)
그걸 10개씩.
그래서 내가 직접 구현할 방식은
1. 텍스쳐 위치 - StreamingAssets 안에만 있으면 상관없게 할 예정
2. 실사 지향 PBR 지원
3. 텍스쳐 개수는 무제한
XTexture라고 하는 클래스를 정의한다.
이 컴포넌트는 6개의 PBR 텍스쳐를 저장할 수 있음.
BakeMaterial이라는 메소드를 만들어서 그걸 머티리얼로 변환한다.
원활한 변환을 위해서 (사실 Roughness 안쓰는 애미터진 유니티 때문임) 컴퓨트 셰이더를 이용해서 텍스쳐를 전부 굽는다.
TextureData라는 클래스에서
Texture의 path가 담긴 리스트,
아까 구운 Material이 담긴 리스트를 만든다.
그걸 에디터 인스펙터 상에서 기능을 메차쿠차 구현한다.
Project Setting에 설정을 추가해서 게임 데이터가 있을 StreamingAssets 위치를 지정한다
(여기서는 에디터 프로젝트의 StreamingAsset을 지정했는데 실제로는 빌드된 게임의 스트리밍에셋 폴더를 지정해야함)
밑에는 같은 폴더에 있는 다른 pbr 텍스쳐를 불러오기 위한 키워드들
(경로를 가린 이유는 미완성이라서 경로를 전부 보여줌..)
이렇게 텍스쳐를 인스펙터 에디터에서 불러올 수 있다.
첫번째 사진: Base 컬러만
두번째 사진: Base, Normal, Height, AO
세번째 사진: Base, Metallic, Roughness, Normal, Height, AO
잘 적용되는 것으로 보인다.
수정사항이 있는데 졸려서 여기까지만 만들고 끝내기로 했음
아마 다음 일지는 에디터 상에서 육면체 메시를 맘껏 주무르는 기능을 추가하면 올릴 듯
이거 지하철역?같은곳에서 진행하는 좀비맵이 진짜 엄청 재밌었는데 추억추