라이트 맵을 구운 후 OptiX Denoiser를 적용하는 방법
10663 단어 UnityEditorOptiXUnity3DDenoiseUnity
이 방법은 라이트 맵에 한정되지 않고 렌더링 된 이미지 시퀀스에도 사용할 수 있습니다.
※ 위: 디노이즈 후 하: 디노이즈 전
라이트매퍼에 디노이저가 붙어 있는 Unity 2019 이후 버전에서도, 디노이즈를 실행하려면 다시 라이트맵을 베이크할 필요가 있으므로, 디노이즈의 처리를 나누어 실행하고 싶을 때에도 유효(한 하즈 모쿠지
Windows용 배치 스크립트
OptiX Denoiser 다운로드
다음 리포지토리에서 OptiX 디노이저 CLI 도구를 다운로드할 수 있습니다.
DeclanRussell/NvidiaAIDenoiser
위의 소프트웨어를 사용하려면 해당 GeForce 시리즈 그라보와 드라이버가 (아마도) 필요하므로 준비하십시오.
OptiX 디노이저에 대해 자세히 알아보십시오.
NVIDIA® OptiX™ AI-Accelerated Denoiser
Arnold와 함께 제공되는 디노이저
Solid Angle의 Autodesk 판매 Arnold에는 렌더링 후 디노이즈하는 Noice라는 도구가 함께 제공됩니다.
Noice를 사용하여 노이즈를 제거하려면 컬러 이외에도 상당한 수의 레이어가 요구되므로 Unity의 라이트맵을 디노이즈하는 용도로는 사용할 수 없지만 GUI도 붙어 있고 시간축의 보완도 있다. 기억하고 손해는 없다.
Arnold Denoiser - Arnold for Maya User Guide - Arnold Renderer
Windows용 배치 스크립트
OptiX Denoiser CLI 도구가 준비되면 Unity에서 베이킹 한 라이트 맵에 디 노이즈를 적용합니다.
폴더의 이미지에 대해 일괄 처리를 하는 Windows용 배치 스크립트와 사용 방법은 다음과 같다.
※ Unity의 라이트맵에 적용하는 가정이므로, 「BeforeDenoise~」라고 하는 서브 폴더에 오리지날 파일을 옮겨, 원의 파일과 동명으로 디노이즈 끝난 화상을 보존한다.
※
Normal(-n)
와 Albedo(-a)
의 입력은 없음. ※ 컬러 화상만으로도 디노이즈는 적용할 수 있다.다운로드
다음 텍스트를
好きなファイル名.bat
라는 확장명이 있는 이름으로 저장합니다.Batch Script for OptiX Denoiser CLI by @DeclanRussell
@echo off
::::::: SETTING :::::::
set DENOISER_EXE=C:\Path\To\OptiX Denoiser Standalone\Denoiser_v2.4\Denoiser.exe
set SRC_BACKUP_FOLDER=BeforeDenoise~
set SRC_BACKUP_PREFIX=
::::::: INPUT :::::::
if NOT EXIST "%~1" (
echo.
echo No Directory Found. Drag ^& Drop Directory to Denoise.
echo.
timeout 10
goto :EOF
)
set /p DENOISER_ARGS=Additional denoiser options [-h or any]:
if "-h"=="%DENOISER_ARGS%" (
echo.
"%DENOISER_EXE%" -h
echo.
pause
goto :EOF
)
set /p TARGET_EXT=Enter target file extension [png or any]:
echo Target File Extension is set to: %TARGET_EXT%
echo.
::::::: MAIN :::::::
call :MAIN "%~dpn1"
echo.
pause
goto :EOF
:MAIN
pushd "%~dpn1"
if not 0==%ERRORLEVEL% (
echo.
echo Not a Directory: %~dpnx1
echo.
::timeout 10
goto :EOF
)
mkdir "%SRC_BACKUP_FOLDER%" 2>nul
for %%I in (*.%TARGET_EXT%) do (
echo.
echo Denoising...: %%~nxI
if NOT EXIST "%~dpn1\%SRC_BACKUP_FOLDER%\%SRC_BACKUP_PREFIX%%%~nI.%TARGET_EXT%" (
copy /-Y "%%~nI.%TARGET_EXT%" "%~dpn1\%SRC_BACKUP_FOLDER%\%SRC_BACKUP_PREFIX%%%~nI.%TARGET_EXT%"
) else (
echo Original File exists... copy skipped.
)
"%DENOISER_EXE%" %DENOISER_ARGS% -i "%~dpn1\%SRC_BACKUP_FOLDER%\%SRC_BACKUP_PREFIX%%%~nI.%TARGET_EXT%" -o "%%~nI.%TARGET_EXT%"
)
사용방법
저장한
.bat
파일에 폴더를 드래그&드롭 하면 입력 대기의 윈도우가 표시되므로, 추가 플래그와 확장자(예: exr
※점은 없음)를 입력해 실행.※ 옵션에
-h
를 입력하면 도움말을 볼 수 있다.필터 설정의 주의점
데노이저를 사용하여 만족스러운 결과를 얻으려면 Unity 라이트 매퍼 필터를 꺼야합니다.
Filtering을 Auto(Gaussian)로 설정하여 베이크한 다음과 같은 라이트맵은 디노이저로 처리해도 거의 변화는 기대할 수 없다.
반드시 Unity 필터는 "None"으로 설정하여 라이트맵을 구워야 한다.
※ 카메라로 촬영했을 때의 핀 보케 부분은 정확히 이런 인상이므로, 데노이저도 조정하지 않는 것이라고 생각된다.
결론
Denoise는 Denoize라고 입력하기 쉽습니다.
이상입니다. 수고하셨습니다.
Reference
이 문제에 관하여(라이트 맵을 구운 후 OptiX Denoiser를 적용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sator_imaging/items/611735e0221a0738eb3b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)