항상 처음부터 메모리 부터 봐야하는데, 이상하게 자주 착각을 한다 메모리는 문제 없을거라는...

항상 맨 먼저 확인해야하는 버릇이 필요하군요. 줄여지가 꽤 있었군요..

 

'업무일지' 카테고리의 다른 글

업무일지 <유저테스트준비중>  (0) 2023.03.03
업무일지<shaderloader>  (0) 2023.02.24
업무일지<Tree / Occlusion>  (0) 2023.02.13
업무일지<어드레서블 시스템>  (0) 2023.02.01
업무일지<Terrain을 수동으로>  (0) 2023.01.19

숲지역의 경우는 나무의 폴리곤 양이 많고 나무 간 밀도가 높기 때문에 Batches와 Shadow casters의 수치가 높습니다.

SetPass calls도 높습니다. 포퍼먼스에 상당한 영향이 있습니다.ㅠㅠ

이걸 최적화하는건 참 쉬움 일이 아닙니다.

우선은, Occlusion을 이용하여 보이지 않을 물체들을 그리지 않게 합니다. (의미 없는 스테이지도 있긴 합니다.)

Occlusion 적용전
bake
Occlusion이 적용된 상태

그리고, 시야에서 멀리는 물체에 LOD에 그림자가 생기지 않도록 만들었습니다.

그리고, GPU인스턴스를 이용해서 배치수를 줄이는 작업을 진행하였습니다.

이렇게 하니, 절반 정도 줄어들었군요.

그림자가 없어짐으로써 자칫 퀄리티가 떨어지는 문제가 있기 때문에 이 부분도 많이 신경을 써야 합니다.

아직도 갈길이 멀군요.

'업무일지' 카테고리의 다른 글

업무일지<shaderloader>  (0) 2023.02.24
업무일지<Memory>  (0) 2023.02.17
업무일지<어드레서블 시스템>  (0) 2023.02.01
업무일지<Terrain을 수동으로>  (0) 2023.01.19
업무일지<Terrain To mesh>  (0) 2023.01.17

아이가 그린 그림을 기반으로 생성해봤습니다.

'AI' 카테고리의 다른 글

로고 만들기 (stable-diffusion-webui)  (0) 2023.04.28
여자 히어로 (stable-diffusion-webui)  (0) 2023.04.13
여자모델 (stable-diffusion-webui)  (0) 2023.04.05
AutoHotkey와 ChatGPT  (0) 2023.03.14
여자모델 (stable-diffusion-webui)  (0) 2023.02.22

중국에서 이펙트를 보내왔는데, 유니티에서는 멀쩡한데, 빌드만 되면 제대로 나오질 않는 문제가 발생.

핑크이거나 아예 안나오는 경우는 셰이더가 잘못된 가능성이 높은데, 나오기는 하지만 모두 하얗군요.

 

문제는 이펙트만 따로 빌드하면 멀쩡한데... 셰이더베리언트를 추가해도 제대로 나오질 않고...

이렇게 유니티에서는  멀쩡히 잘 돌아가는 셰이더는 문제점을 찾기가 어렵다는...

 

또 한가지 문제는 셰이더 그래프나 엠플리파이 셰이더를 이용한게 아니라  HLSL코드로 짠듯한 느낌입니다.

가득이나 HDRP의 셰이더 코드는 알아보기가 어려워 파악에 어려움이 있는데, 5000줄이 넘는 코드로 되어있어서, 이걸 이펙터가 짠거라면 보기드문 실력자라는 생각이 들긴한데, 내가 이 코드를 분석하기에는 어려움이 있군요.

이게 예전부터 있던 문제인데, 가장 의심되는 부분은 에셋번들인데, 여기만 거치면 셰이더에 매번 문제가 발생하는군요.

이걸 어드레서블 시스템으로 바꿨으면 좋겠는데, 개발쪽에서 개선의 의지가 없어서 아쉬움이 있습니다.

 

-- 이펙터가 우회적인 방법으로 해결한거 같은데, 모르겠군요...

 

'업무일지' 카테고리의 다른 글

업무일지<Memory>  (0) 2023.02.17
업무일지<Tree / Occlusion>  (0) 2023.02.13
업무일지<Terrain을 수동으로>  (0) 2023.01.19
업무일지<Terrain To mesh>  (0) 2023.01.17
업무일지<Texture량과 채널>  (0) 2023.01.16

에셋에서 구매한 Terrain to mesh는 바닥 부분을 자체적으로 셰이더을 사용하는데 이게 그리 가벼워 보이진 않습니다.

그리고 에셋에 종속된 형태라 좀 사용이 용이 하지 않습니다.

좀더 가볍게 만드는게 좋을거 같다고 판단하여 불필요한 부분을 통합하고 간편화시켰습니다.

바닥 텍스쳐를 6채널을 쓰다보니 좀 더 최적화하여, 4채널로 변경하고, 노멀과 마스크를 적게 사용하도록 변경하였습니다.
(본래라면 4개의 채널에 맞는 각각의 노멀과 마스크를 넣는게 맞겠지만, 저희 게임은 그렇게까지 할 필요는 없다고 판단 했습니다. )

결국 터레인도 Lerp으로 설계했을거라 생각하고 유사한 레이어를 구성하였습니다.

(역시나 뽑은 채널이 잘 적용됩니다.)

완성... 잘된거 같네요.

 

 

'업무일지' 카테고리의 다른 글

업무일지<Tree / Occlusion>  (0) 2023.02.13
업무일지<어드레서블 시스템>  (0) 2023.02.01
업무일지<Terrain To mesh>  (0) 2023.01.17
업무일지<Texture량과 채널>  (0) 2023.01.16
업무일지<PIX>  (0) 2023.01.12

아무리봐도 터레인이 무겁다고 느껴지네요. GPU인스턴스를 사용을 해도 여전히 무겁고...제어하기도 쉽지 않고...

그래서 터레인을 그대로 mesh로 옮기는 방법을 찾아봤습니다.

빌트인,URP,HDRP가 모두 사용이 가능한 어셋을 발견.

터레인 바닥과 나무들까지 깔끔하게 뽑힙니다.

다만, 나무들 방향이 정확하지 않은 단점이 있는데, 애초에 터레인도 나무가 내 맘대로 안되는거였으니, 어느정도 감수하고 수동으로 돌리면 됩니다.

'업무일지' 카테고리의 다른 글

업무일지<어드레서블 시스템>  (0) 2023.02.01
업무일지<Terrain을 수동으로>  (0) 2023.01.19
업무일지<Texture량과 채널>  (0) 2023.01.16
업무일지<PIX>  (0) 2023.01.12
업무일지<인디케이터효과>  (0) 2023.01.09

좌 19개 Texture, 우 14개&nbsp;Texture

캐릭터의 텍스쳐를 많이 사용하고 있다고 판단하여 이것을 줄일 수 있는 방법이 있는지 테스트하였습니다.

 

좌는 텍스쳐 19장을 사용한 것이고, 우는 텍스쳐 14장을 사용한 것입니다.

좌는 텍스쳐를 사용하되 채널을 R 하나만 사용하여 여러 텍스쳐로 구성되어 있고,

우는 metallic, smoothness, AO를 하나의 텍스쳐로 묶었습니다.

 

애초 생각은 여러 단일 텍스쳐를 하나의 텍스쳐로 묶으면 다 나은 결과가 나올 거라 생각했지만, 전혀 다른 결과가 나왔음.

단일 채널을 사용한 텍스쳐 쪽이 오히려 효율이 좋았습니다.

 

결론, 채널을 묶어서 텍스쳐량이 적어진다고 더 효율이 좋을 거라고 생각하지 않도록 하자.

단일 채널의 텍스쳐가 오히려 효과적일 수 있다.

'업무일지' 카테고리의 다른 글

업무일지<Terrain을 수동으로>  (0) 2023.01.19
업무일지<Terrain To mesh>  (0) 2023.01.17
업무일지<PIX>  (0) 2023.01.12
업무일지<인디케이터효과>  (0) 2023.01.09
업무일지<셰이더정리/추가 작업>  (0) 2023.01.05

최적화 관련 이슈를 보고 있습니다.

HDRP 커스텀 Lit에 텍스쳐만 넣은것
HDRP에 제공되는 Lit
Unlit에 Rim을 적용한 셰이더

 

수치가 매번 바뀌어 정확하진 않지만 대략적인 짐작은 할수있습니다.(만족스럽진 않지만 걍 참고정도만...)

확실히 Unlit과 Lit의 차이가 많이 나는걸 볼수있어요.

'업무일지' 카테고리의 다른 글

업무일지<Terrain To mesh>  (0) 2023.01.17
업무일지<Texture량과 채널>  (0) 2023.01.16
업무일지<인디케이터효과>  (0) 2023.01.09
업무일지<셰이더정리/추가 작업>  (0) 2023.01.05
업무일지<배경제작>  (0) 2023.01.03

새로운 배경을 제작하면서 이전에 사용하던 셰이더를 일부 정리하고 추가하는 작업중에 있습니다.

캐릭터 인디케이터와 일부 표식을 처리중인데 특정맵에서는 눈에 안띄인다고 하네요. 이를 개선작업하는 작업을 진행했습니다.

 

lerp와 boolen관련하여 어느것이 포퍼먼스에 좋은가에 대해서 좀 검색을 해봤는데 ChatGPT가 괜찮은 답변을 주는군요.

 

'업무일지' 카테고리의 다른 글

업무일지<PIX>  (0) 2023.01.12
업무일지<인디케이터효과>  (0) 2023.01.09
업무일지<배경제작>  (0) 2023.01.03
업무일지<fake shadow>  (0) 2022.12.29
업무일지<Depth Write>  (0) 2022.12.23

각종 나무와 바닥 재질을 어셋에서 구매하여 배경을 제작중입니다.

(예전에 제작했던 배경을 새로운 그래픽에 맞춰 퀄리티 업을 하고 있어요.)

오랜만에 터레인을 만지고 있네요.

항상 그래픽은 일단 퀄리티를 높게 만들고 최적화를 하는게 퀄리티에 좋습니다.

처음부터 최적화를 생각하고 만들면 퀄업이 힘들기 마련이라는...

'업무일지' 카테고리의 다른 글

업무일지<인디케이터효과>  (0) 2023.01.09
업무일지<셰이더정리/추가 작업>  (0) 2023.01.05
업무일지<fake shadow>  (0) 2022.12.29
업무일지<Depth Write>  (0) 2022.12.23
업무일지<HairShader>  (0) 2022.12.21

우리게임은 기본적으로 PBR방식의 셰이더를 사용하고 있습니다.

그래서 3D UI는 Unlit으로 만들 필요가 있다고 판단했습니다.

셰이더 그래프로 Lambert 구현하려고 하니...Lambert 공식을 본지 너무 오래되서 기억이 전혀 안나는군요.

그래서 얼추 비슷한걸 만들었습니다.

'업무일지' 카테고리의 다른 글

업무일지<셰이더정리/추가 작업>  (0) 2023.01.05
업무일지<배경제작>  (0) 2023.01.03
업무일지<Depth Write>  (0) 2022.12.23
업무일지<HairShader>  (0) 2022.12.21
업무일지<요상한 3dsmax>  (0) 2022.12.15

HDRP 헤어 셰이더가 완성이 되었습니다.

소팅관련해서 좀 문제가 발생해서 이를 해결할 방법을 찾느라 추가 연구를 좀 해봅니다.

물체의 노멀방향에 따라서 Depth Write처리가 달라지는걸 알수 있어요.

'업무일지' 카테고리의 다른 글

업무일지<배경제작>  (0) 2023.01.03
업무일지<fake shadow>  (0) 2022.12.29
업무일지<HairShader>  (0) 2022.12.21
업무일지<요상한 3dsmax>  (0) 2022.12.15
업무일지<Shadowmask>  (0) 2022.12.07

유니티 HDRP에는 기본적으로 제공되는 Hair Shader가 있는데, 이를 다른 작업자가 제대로 활용하지 못해서 계속해서 헤어가 뭔가 만족스럽지 않고, 애매한 결과가 나온상태로 마무리가 되었었습니다.

하여, 한번 기본 Hair셰이더를 파보았는데, 유니티가 좋은 기능들을 잘 구현해놨어요.

좋은 기능은 잘 활용해야합니다.

원본 Hair셰이더를 좀더 가공하면 우리게임에 원하는 형태로 나올거 같습니다.

'업무일지' 카테고리의 다른 글

업무일지<fake shadow>  (0) 2022.12.29
업무일지<Depth Write>  (0) 2022.12.23
업무일지<요상한 3dsmax>  (0) 2022.12.15
업무일지<Shadowmask>  (0) 2022.12.07
업무일지<배경퀄리티 업>  (0) 2022.11.30

셰이더를 아래처럼 구성을 했는데...

맥스에서 캐릭터 skin을 하면 방향이 바뀌는 현상이 있군요...

3dsmax 도데체 익스포트할때 무슨짓을 하는거냐???

 

이전 3dsmax에서는 뷰포트 어디에 바이패드를 생성하느냐에 따라 바뀐다고 하는데,

3dsmax 2021 뷰포트 어디에서 생성을 하든 방향은 똑같음.  바이패드를 상위버전에서 개선한듯 합니다.

하지만, 여전히 왜?? 방향이 바뀌는걸까? 무얼 고쳐야 정상으로 나오는건가?

우선, 유니티 롤에 따르도록 합니다.

'업무일지' 카테고리의 다른 글

업무일지<Depth Write>  (0) 2022.12.23
업무일지<HairShader>  (0) 2022.12.21
업무일지<Shadowmask>  (0) 2022.12.07
업무일지<배경퀄리티 업>  (0) 2022.11.30
업무일지 <LOD 스킨중>  (0) 2022.11.16

유니티에서 베이크될때 이상하다는 이야기가 있어서 테스트 해봤습니다.

유니티는 면이 뒤집힌 경우 베이크가 제대로 되질 않네요.

저사양으로 개발할때는 면을 많이 아끼는 경우가 있는데, 베이크할때 주의가 필요할거 같습니다.

가능하면, 폐쇄된 형태의 오브젝트로 제작하는게 가장 좋은거 같습니다.

 

이런 골치아픈 문제를 손쉽게 해결하고자 한다면, 유니티 에셋에 있는 Bakery를 사용하는것도 괜찮을거 같다고 생각됩니다.(많은 사람들이 사용하는 어셋인 이유가 있더군요.)

'Unity > ETC' 카테고리의 다른 글

Prefab에 대해서 정리해봅시다.  (0) 2022.01.18
Unity LUT  (0) 2021.10.27
Asset Database version2?  (0) 2021.05.27
UTS2 Shader 모바일용과 일반의 차이  (0) 2021.05.25
플렛폼별 대표 이미지 압축율 테스트  (0) 2021.05.13

저렴한 맵에서 이상하게 느린것 같은 느낌이든다는 의견이 있어서 조사중...
프로파일로 돌려보니 이상하게 낮아야 할 드로우콜이 높네요.
렌더독 돌려보고 메모리 체크하고... 뭔가 특별히 눈에 띄는게 없어요.
크게 변경 사항이 없었다면, 이럴때는 그림자를 의심해 볼 필요가 있습니다.
그림자가 항상 많이 먹죠.
근데 딱히 이상한거 모르겠다...
그러다 저사양에서 이상한게 느껴졌습니다. 저사양에서 그림자 품질이 이렇게 떨어졌나?
확인해보니, shadowmask가 distance shadowmask로 되어있군요.


누가 또 실수로 바꿔놨구나...ㅎ...(제발....ㅠㅠ)
이걸로 드로우콜이 절반이 감소됨.

'업무일지' 카테고리의 다른 글

업무일지<HairShader>  (0) 2022.12.21
업무일지<요상한 3dsmax>  (0) 2022.12.15
업무일지<배경퀄리티 업>  (0) 2022.11.30
업무일지 <LOD 스킨중>  (0) 2022.11.16
업무일지<실내 페이크 그림자처리>  (0) 2022.11.09

썰렁한 배경의 뒷부분을 채워줄 오브젝트들을 유니티 에셋에서 찾아서 보강하였음.

아울러, 움직임이 랜덤적으로 필요한 NPC가 필요하여 단순한 스크립트를 추가하여 NPC도 같이 추가 하였음.

(update쪽에 영향이있는 스크립트라 프로그래머에게 문제없는지 확인후 진행.)

이제 덜 썰렁해보이는군요.


내일부터 유저 테스트가 들어갑니다. 긴장됩니다. 잘되야할근데...

'업무일지' 카테고리의 다른 글

업무일지<요상한 3dsmax>  (0) 2022.12.15
업무일지<Shadowmask>  (0) 2022.12.07
업무일지 <LOD 스킨중>  (0) 2022.11.16
업무일지<실내 페이크 그림자처리>  (0) 2022.11.09
업무일지<실내라이트처리는>  (0) 2022.11.03

오랜만에... 3dsmax를 키고 처리가 되지 않은 NPC LOD 처리중입니다.

별생각없이 그냥 스킨잡으려다가 SkinWrap이 기억에 소환됨. SkinWrap 오랜만에 써보는...

(SkinWrap은 하이폴리곤으로 스키닝된 오브젝트을 로우폴리곤에 똑같이 스킨을 할때 아주 유용합니다.

다시 스킨을 하지 않아도 스위치 몇가지만 누르면 스킨되는 좋은 기술이죠.)

 


바닥에 반사되는 Planaer reflection을 이용하여 부하도 많고 골치 아픈 SSR(Screen Space Relfection)기능을 OFF.

효과는 괜찮다고 하네요.

다만, 배경이 너무 뭐가 많아서 다 반사되서 반사되는걸 제한할듯한데... 방법을 궁리중..

(Planaer reflection은 말그대로 바닥반사를 사용하는데 이용되는 기능입니다. 유니티 HDRP에서 제공이되며,

URP도 있는걸로 알고 있습니다.)

'업무일지' 카테고리의 다른 글

업무일지<Shadowmask>  (0) 2022.12.07
업무일지<배경퀄리티 업>  (0) 2022.11.30
업무일지<실내 페이크 그림자처리>  (0) 2022.11.09
업무일지<실내라이트처리는>  (0) 2022.11.03
업무일지<Scale/jenkins>  (0) 2022.10.27

아무리 머리를 굴려보고 여기저기 물어봐도 스폿 라이트로는 무거워서 해결이 안 된다고 판단이 됩니다.
실내이지만 바닥과 캐릭터만 가벼운 디렉트 라이트로 처리하여 실내에 그림자 구성해봅니다.
의외로 사람들이 그림자가 그다지 이상하다고 안 느끼는군요.
그럼 로우 퀄리티에서 좀 더 퀄리티 있게 보이게 하는 숙제가 남았네요. (배경 작업자가 포스트 프로세싱에 무게를 두고 제작하여 로우에서 포스트 프로세싱 없이는 너무 떨어져 보이는 문제가 있음.)


실내의 퀄리티 처리 방식이 이전 야외배경과 달라 라이트가 none일때 무시되는 예외적인 코드처리를 추가요청하였습니다.