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

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

실내배경이 왔는데 라이트가 스팟포인트 구조로 되어있는데 스팟포인트 하나 인데도 실시간으로 그림자를 그리니 꽤 무거움. 저사양에서 프레임이 아주 안좋네요.. 그림자를 어떻게 자연스럽게 만들지 고민중입니다.


퇴근하려는데 갑자기 캐릭터 페이셜이 안된다고 애니팀에서 해결하지 못해서 안절부절... 내일이 버전 마감인디...  알아서 하겠지하고 퇴근하려고 했으나 원인을 못찾는듯 하여 해결하기로합니다.
알고보니 해외팀에서 캐릭터 prefab에서 스크립트를 정리하면서 관련 내용을 전부 삭제함. 그래서 복구 하라고 알려주었습니다.

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

업무일지 <LOD 스킨중>  (0) 2022.11.16
업무일지<실내 페이크 그림자처리>  (0) 2022.11.09
업무일지<Scale/jenkins>  (0) 2022.10.27
업무일지<SSGI는 Light Probe가 작동안한다>  (0) 2022.10.24
업무일지<테스트>  (0) 2022.10.20

캐릭터 모션중에 물체의 스케일이 변경이된다는 이야기를 애니메이터와 기획자가 하고 있었고...

알아서 해결하겠지 하고 신경안쓰려했지만, 애니메이터가 잘안된다고 기획자가 강제로 1스케일로 변경시키겠다고...

아... 분명히.. 애니메이션이나 모델 문제인데...(모르겠으면, 물어봐줘...)

역시나 모델에 스케일이 1로 안되어있어서 3dsmax에서 Reset XForm 하여 변경... 해결...


버그 때문에 빌드만 몇번을 하고 있는지 모르겠음..범인은...외부에 있었다..


jenkins 빌드에 대해서 원하는 방법을 어느정도 할 수준은 된거 같군요. 이전에 작업자가 해결하지 못했던 부분도 방법을 찾았습니다.

 

대부분 Batch로 구성이 되었네요.

 

우선  클린한 업데이트 데이터를 만듭니다.

@echo off

echo.    -- Setting the variables...

:: Here you need to make some changes to suit your system.
set SOURCE=D:/_Clinet_OutGame
set SVN=C:/Program Files/TortoiseSVN/bin/

:: Unless you want to modify the script, this is enough.

echo. %SOURCE%
echo. %SVN%
echo. ++ Done setting variables.
echo.

echo.   -- adding files now...


CD /D %SOURCE%/
echo. CD /D %SOURCE%/
echo.   -- revert now...
"%SVN%svn.exe" revert -R "%SOURCE%"
echo.   -- cleanup now...
"%SVN%svn.exe" cleanup "%SOURCE%"
echo. ++ Done.
echo.   -- updating now...


"%SVN%svn.exe" update "%SOURCE%" --non-interactive --trust-server-cert-failures unknown-ca,cn-mismatch,expired,not-yet-valid,other


echo. -- Cleaning up...
set SOURCE=
set SVN=
echo. ++ Done.

유니티 빌드를 한뒤

 

업데이트할 폴더를 삭제하고 다시 폴더만 생성(이과정은 svn 상위 루트를 없애지 않기위해서 있는 부분이다.말로 설명이 어렵다.) 그리고 svn에 올릴 폴더를 복사하고,

:: delete folder
rmdir /s /q D:\Work\out\Publishing
echo. ++ Done.

:: create folder
mkdir D:\Work\out\Publishing
echo. ++ Done.

:: Here you need to make some changes to suit your system.
set SOURCE=D:\Work\out\Publishing
set UNITYPATH=D:/_Clinet_OutGame/Publishing

:: Unless you want to modify the script, this is enough.
echo. %SOURCE%
echo. %UNITYPATH%

echo.   -- copy build 
xcopy "%UNITYPATH%" "%SOURCE%" /s /h /e /d /y

최종적으로 svn에 커밋을 합니다.

@echo off

echo.    -- Setting the variables...

:: Here you need to make some changes to suit your system.
set SOURCE=D:/Work/out
set SVN=C:/Program Files/TortoiseSVN/bin/

:: Unless you want to modify the script, this is enough.

echo. %SOURCE%
echo. %SVN%
echo. ++ Done setting variables.
echo.


echo.   -- adding files now...

CD /D %SOURCE%/
echo. CD /D %SOURCE%/
"%SVN%svn.exe" add --force * --auto-props --parents --depth infinity -q -- force --username common --password 1111 --trust-server-cert-failures="unknown-ca,cn-mismatch,expired,not-yet-valid,other" * 

echo. ++ Done.
echo.   -- committing now...


"%SVN%svn.exe" commit "%SOURCE%" -m "Created F4 Local"  --username common --password 1111 --trust-server-cert-failures="unknown-ca,cn-mismatch,expired,not-yet-valid,other"


echo. -- Cleaning up...
set SOURCE=
set SVN=
echo. ++ Done.

오브젝트 갈라짐 연출을 위해서 Shader를 좀더 퀄리티 업을 하는 작업을 진행중...
이전에 라이트하게 만드는것이 목적이다보니, Normal Map자체가 들어가질 않아서 이번에 추가하도록 구성하였습니다.


라이트프로브로 베이크된 경우 Screen Space Global Illumiantion이 켜있으면 구워진 라이트가 제대로 나오질 않네요.

SSGI가 켜지지 않은 하위 퀄리티에서는 정상적으로 빛이 나오지만, SSGI가 켜있는 최상위 퀄리티 옵션에서는 구워진 라이트가 제대로 안나옴...  라이트가 baked로 되면 정상작동하지 않고 mixed로 변경하니 제대로 나옵니다.

이유는 아래에 있군요.

 

The Screen Space Global Illumination (SSGI) override is a High Definition Render Pipeline (HDRP) feature that uses the depth and color buffer of the screen to calculate diffuse light bounces.

HDRP implements ray-traced global illumination (RTGI) on top of this override. This means that the properties visible in the Inspector change depending on whether you enable ray tracing.

SSGI and RTGI replace all lightmap and Light Probe data. If you enable this override on a Volume that affects the Camera, Light Probes and the ambient probe stop contributing to lighting for GameObjects.

 

https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@14.0/manual/Override-Screen-Space-GI.html


2D를 Normal Map로 바꾸는 간단한 웹사이트를 발견..오늘 요긴하게 써먹었네요.

https://www.smart-page.net/smartnormal/

 

SmartNormap 2.0

 

www.smart-page.net


그리고 이건 업무는 아니고.. 와이프가 필요하다고 해서 찾은 스크립트

맥스에서 물체를 랜덤 포지션화시키는 스크립트

https://www.youtube.com/watch?v=ZKcBHwLvAu0&ab_channel=ThePolymonger 

 

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

업무일지<실내라이트처리는>  (0) 2022.11.03
업무일지<Scale/jenkins>  (0) 2022.10.27
업무일지<테스트>  (0) 2022.10.20
업무일지<해결됨.>  (0) 2022.10.19
업무일지<Lightmap 버그?>  (0) 2022.10.18