CREATE YOUR WORLD
World Environment
제페토 월드에 Post-processing 적용하기
7분
월드에 화려한 효과를 더하고 싶거나, 월드의 그래픽 퀄리티를 높이고 싶다면 unity의 post processing 기능을 활용해보세요 다양한 시각적 효과를 더해 몰입감을 높이고 더 완성도 높은 월드를 만들 수 있습니다 post processing 시작하기 post processing 패키지를 설치합니다 unity에서 window > package manager 를 열고, packages 옵션을 unity registry 로 설정한 뒤 목록에서 post processing 패키지를 찾아 설치해 주세요 zepetocamera prefab을 복제합니다 프로젝트 폴더에서 packages > zepeto character controller > runtime > resources > camera 경로로 이동하여 zepetocamera prefab을 찾아 복사한 뒤, assets 폴더에 붙여넣기 합니다 그 후 복제한 prefab의 이름을 zepetocameracopy 로 수정해주세요 zepetocameracopy를 연결합니다 hierarchy에서 managers > zepetoplayers 를 선택하고, inspector에서 prefab 필드에 복제한 zepetocameracopy를 드래그 앤 드롭합니다 새 레이어를 생성합니다 zepetocameracopy의 inspector에서 layer > add layer 를 눌러 새 레이어를 생성한 뒤, layer 필드에 새로 만든 레이어를 지정합니다 📘 note 사용자가 추가할 수 있는 layer는 layer 3 및 layer 6 이상입니다 layer 0 2 및 layer 4 5는 unity의 기본 레이어로 수정이 불가능합니다 post processing 적용하기 post processing 적용 방법에는 크게 두 가지가 있습니다 global 월드 전체에 post processing을 적용하는 방식 local 캐릭터가 특정 구역에 진입했을 때만 post processing을 적용하는 방식 global 적용 방법 zepetocameracopy에 post process layer와 post process volume을 추가합니다 inspector에서 add component 버튼을 눌러 post process layer 와 post process volume 을 추가하고, post process layer의 volume blending > layer 필드를 새로 만든 레이어로 지정합니다 그 다음 post process volume에서 is global 옵션을 체크하고, 원하는 효과가 담긴 post process profile을 profile 필드에 연결합니다 post process profile이 없거나 새로운 post process profile을 생성하고 싶다면, profile 필드 옆의 new 버튼을 눌러 새 profile을 만들 수 있습니다 post process profile에 원하는 효과를 추가합니다 새로운 post process profile을 생성했다면, 생성된 post profile profile을 선택한 뒤 add effect 버튼을 눌러 효과를 추가한 후 설정값을 조정하여 원하는 시각 효과를 연출해주세요 설정 값을 조절하고 싶다면 값을 수정하고자 하는 필드의 좌측에 위치한 체크박스를 먼저 체크해야 합니다 ✏️ tip effect는 play mode에서도 자유롭게 수정할 수 있으며, play mode를 종료한 후에도 변경한 내용이 유지됩니다 실행 중에 inspector에서 설정 값을 실시간으로 조절하면서, effect가 어떻게 적용되는지 확인해보세요 원하는 효과를 더욱 정밀하게 연출할 수 있습니다 \<effect 적용 예시> local 적용 방법 zepetocameracopy에 post process layer를 추가합니다 zepetocameracopy의 inspector에서 post process layer 를 추가한 뒤, this 버튼을 눌러 trigger를 설정하고, layer 필드를 새로 만든 레이어로 지정합니다 post process volume 오브젝트를 생성합니다 hierarchy에서 + 버튼 > 3d object > post process volume 을 클릭하여 post process volume 오브젝트를 생성합니다 post process volume 오브젝트의 layer 를 새로 만든 레이어로 지정하고, is global 필드의 체크를 해제 합니다 post process volume에 원하는 효과를 추가합니다 add effect 버튼을 눌러 원하는 효과를 추가한 후 설정값을 조정하여 원하는 시각 효과를 연출해주세요 post process volume을 배치합니다 post processing이 적용되었으면 하는 위치에 post process volume을 배치해주세요 \<local 적용 예시> 스크립트에서 post process volume 제어하기 생성한 post process volume은 스크립트를 통해서 제어가 가능합니다 아래는 toggle을 이용하여 post process volume을 활성화 및 비활성화하는 예시입니다 새로운 game object를 생성합니다 hierarchy에서 + 버튼 > create empty 를 클릭하여 새로운 game object를 생성하고, 이름을 postprocessmanager 로 수정해주세요 새로운 toggle ui를 생성합니다 hierarchy에서 + 버튼 > ui > toggle 을 클릭하여 새로운 toggle을 생성해주세요 새로운 스크립트를 생성합니다 project 창에서 + 버튼 > zepeto > typescript 를 클릭하여 새로운 스크립트를 생성하고, 이름을 postprocessscript 로 수정합니다 생성된 스크립트 파일을 열고 아래 코드를 복사 붙여넣기 해 주세요 import { zepetoscriptbehaviour } from 'zepeto script'; import { gameobject } from 'unityengine'; import { postprocessvolume } from 'unityengine rendering postprocessing'; import { toggle } from 'unityengine ui'; export default class postprocessscript extends zepetoscriptbehaviour { public onofftoggle toggle; public postprocessobj gameobject; private postprosessvolume postprocessvolume; start() { this postprosessvolume = this postprocessobj getcomponent\<postprocessvolume>(); this onofftoggle onvaluechanged addlistener(()=>{ this postprosessvolume profile settings foreach( // 현재 profile settings의 모든 설정을 on/off합니다 (setting)=>{ setting active = !setting active; } ); }); } } postprocessmanager에 스크립트를 추가합니다 hierarchy에서 postprocessmanager를 선택하고, inspector에서 add component > zepeto script 를 클릭한 뒤 script 필드에 postprocessscript를 드래그 앤 드롭합니다 그 후 hierarchy에서 생성한 toggle과 post process volume을 찾아 각각 on off toggle 필드와 post process obj 필드에 드래그 앤 드롭합니다 <적용 예시> post process volume이 위치한 곳에서 toggle을 누르면 post processing이 활성화 또는 비활성화 되는 것을 확인할 수 있습니다