สร้างโลกของคุณเอง
สิ่งแวดล้อมโลก
นำ Post-Processing มาใช้ในโลก ZEPETO
6นาที
หากคุณต้องการเพิ่มเอฟเฟกต์ภาพที่สวยงามให้กับโลกของคุณ หรือยกระดับคุณภาพกราฟิก ลองใช้ฟีเจอร์ post processing ของ unity ดูสิ ด้วยเอฟเฟกต์ภาพที่หลากหลาย คุณสามารถสร้างโลกที่มีความสมจริงและน่าดึงดูดมากยิ่งขึ้นได้ เริ่มต้นใช้งาน post processing ติดตั้งแพ็กเกจ post processing ใน unity ให้ไปที่ window > package manager ตั้งค่า packages เป็น unity registry จากนั้นค้นหาและติดตั้งแพ็กเกจ post processing จากรายการ ทำสำเนา prefab ที่ชื่อว่า zepetocamera ในโฟลเดอร์ project ให้ไปที่ packages > zepeto character controller > runtime > resources > camera ค้นหา zepetocamera prefab จากนั้นคัดลอกแล้ววางไว้ในโฟลเดอร์ assets จากนั้นเปลี่ยนชื่อ prefab ที่คัดลอกมาเป็น zepetocameracopy เชื่อมต่อ zepetocameracopy ใน hierarchy ให้เลือก managers > zepetoplayers ใน inspector ให้ลาก zepetocameracopy ไปใส่ในช่อง prefab สร้าง layer ใหม่ ใน inspector ของ zepetocameracopy ให้คลิก layer > add layer เพื่อสร้าง layer ใหม่ จากนั้นกำหนด layer ที่สร้างไว้ในช่อง layer 📘 หมายเหตุ คุณสามารถใช้ได้เฉพาะ layer 3 และ layer 6 ขึ้นไปเท่านั้น layer 0–2 และ layer 4–5 เป็น layer พื้นฐานของ unity ซึ่งไม่สามารถแก้ไขได้ การนำ post processing ไปใช้งาน มี 2 วิธีหลักในการใช้ post processing global :ใช้เอฟเฟกต์กับทั้งโลก local :ใช้เอฟเฟกต์เฉพาะเมื่อผู้เล่นเข้าสู่พื้นที่ที่กำหนด การใช้งานแบบ global เพิ่ม post process layer และ post process volume ให้กับ zepetocameracopy ใน inspector ให้คลิก add component แล้วเพิ่มทั้ง post process layer และ post process volume ใน post process layer ให้ตั้งค่า volume blending > layer เป็น layer ที่คุณสร้างไว้ จากนั้นใน post process volume ให้ติ๊กที่ is global ในช่อง profile ให้เลือก post process profile ที่มีเอฟเฟกต์ที่คุณต้องการ หากยังไม่มี profile ให้คลิกปุ่ม new ข้างช่อง profile เพื่อสร้างใหม่ เพิ่มเอฟเฟกต์เข้าไปใน post process profile หากคุณสร้าง profile ใหม่ ให้เลือก profile นั้นแล้วคลิก add effect เลือกเอฟเฟกต์ที่ต้องการ และปรับค่าต่าง ๆ ให้เหมาะสมกับสไตล์ของโลกคุณ หากต้องการแก้ไขค่า ให้ทำเครื่องหมายถูกที่กล่องทางซ้ายของแต่ละฟิลด์ก่อน ✏️ เคล็ดลับ คุณสามารถแก้ไขเอฟเฟกต์ได้อย่างอิสระแม้ในขณะ play mode และการเปลี่ยนแปลงจะยังคงอยู่แม้จะหยุดเล่นแล้ว ลองปรับค่าต่าง ๆ ใน inspector ขณะรัน scene เพื่อดูผลแบบเรียลไทม์ และปรับให้ตรงกับที่คุณต้องการ <ตัวอย่างเอฟเฟกต์> การใช้งานแบบ local เพิ่ม post process layer ให้กับ zepetocameracopy ใน inspector ของ zepetocameracopy ให้เพิ่ม post process layer คลิกปุ่ม this เพื่อกำหนด trigger แล้วตั้งค่า layer ที่สร้างไว้ในช่อง layer สร้างวัตถุ post process volume ใน hierarchy ให้คลิก + > 3d object > post process volume เพื่อสร้างวัตถุ volume ใหม่ ตั้งค่า layer ให้เป็น layer ที่คุณสร้างไว้ และยกเลิกการติ๊ก is global เพิ่มเอฟเฟกต์เข้าไปใน post process volume คลิกปุ่ม add effect แล้วเลือกเอฟเฟกต์ที่ต้องการ จากนั้นปรับค่าต่าง ๆ ให้เหมาะสม วาง post process volume วางวัตถุ post process volume ไว้ในพื้นที่ที่คุณต้องการให้แสดงผลเอฟเฟกต์ <ตัวอย่างการใช้งานแบบ local> ควบคุม post process volume ด้วยสคริปต์ คุณสามารถควบคุม post process volume ผ่านสคริปต์ได้เช่นกัน ด้านล่างนี้คือตัวอย่างการเปิด/ปิดเอฟเฟกต์โดยใช้ toggle สร้าง gameobject ใหม่ ใน hierarchy ให้คลิก + > create empty เพื่อสร้าง gameobject ใหม่ เปลี่ยนชื่อเป็น postprocessmanager สร้าง ui toggle ใหม่ ใน hierarchy ให้คลิก + > ui > toggle เพื่อสร้าง toggle ui ใหม่ สร้างสคริปต์ใหม่ ในหน้าต่าง 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 เลือก postprocessmanager จาก hierarchy ใน inspector ให้คลิก add component > zepeto script แล้วลาก postprocessscript ไปวางในช่อง script จากนั้นลาก toggle ไปใส่ในช่อง on off toggle และลาก post process volume ไปใส่ในช่อง post process obj <ตัวอย่าง> ตอนนี้เมื่อคุณกดปุ่ม toggle ในพื้นที่ที่มี post process volume อยู่ เอฟเฟกต์จะถูกเปิดหรือปิดตามการตั้งค่า