Praneat Blog

BosStraf
20 Apr 2020
Screen Shot 2560-09-19 at 11.08.50 AM.png

Unity Particle Workshop #1: Basic Fire

รอบแรกนี้เป็นการทำ พาติเคิลไฟ แบบง่ายๆ ในโปรแกรม Unity3d โดยเราจะมี Particle Moduleที่ต้องเรียนรู้เพิ่มอีก 3 อันคือ Size Over Lifetime , Shape และ Color Over Lifetime และเราจะมาจำลองการสร้างไฟแบบหยาบๆ กันด้วย Module ทั้ง2 อย่างนี้

เริ่มแรกก็ทำการสร้าง Particle เปล่าๆขึ้นมา จากนั้นเพิ่ม Moduleที่ชื่อ Size over Lifetime เข้าไป จะสังเกตุได้ว่า พาติเคิลของเรานั้นเริ่มจากขนาดเล็กไปใหญ่ ซึ่งเจ้า Moduleนี้มีหน้าที่ ทำให้ขนาดพาติเคิลของเราเปลี่ยนแปลงไปตามค่าLifetime ตามกราฟที่เราใส่ค่าเข้าไป โดยแกนแนวตั้งจะเป็น ขนาดที่เราต้องการ และ แกนแนวนอนจะเป็นค่า Normalize ของLifetimeของพาติเคิล ซึ่งจากกราฟที่Unityให้มาตอนแรก จะทำให้พาติเคิลของเรามีขนาดเล็กและค่อยๆใหญ่ขึ้นเรื่อยๆ แต่การสร้างไฟของเรานั้น จะใช้กราฟที่ทำให้ พาติเคิลของเรามีขนาดเล็กไปใหญ่และหลังจากนั้นจะค่อยๆเล็กลง โดยใช้กราฟง่ายๆดังภาพ (เราสามารถเพิ่มจุดของกราฟได้โดยการคลิ้กขวาบนตำแหน่งของเส้นกราฟที่ต้องการ แล้วเลือก Addkey)

หลังจากนี้เราจะปรับค่าใน Main Moduleกัน โดยเริ่มจาก -Start Lifetime ปรับให้เป็น Random Between Two Constants เพื่อทำให้ ไฟของเรามีระยะเวลายาวนานไม่เท่ากัน -Start Speed ปรับ ให้เป็น Random Between Two Constants อีกเช่นกัน เพื่อให้ความเร็วของพาติเคิลแต่ละอันไม่เท่ากัน

จากขั้นตอนนี้จะสังเกตุได้ว่า พาติเคิลของเราเริ่มจะเป็นไฟแต่ว่ายังมีการกระจายตัวอยู่ เราจึงต้องไปปรับในส่วนของ Module ที่ชื่อว่า Shape ต่อ Shape คือ รูปร่างของการ Emit Particle ว่าเราอยากให้ พาติเคิลของเรานั้นถูกปล่อยมาจากรูปร่างแบบใด เช่น รูปกรวย ทรงกลม หรือ ทรงสี่เหลี่ยม โดยในครั้งนี้เราจะใช้ ค่ากรวย หรือ Cone นั่นเอง โดยการปรับให้ Angle เป็น 0 และ Radius เป็น 0.2 เพื่อทำให้ ไฟของเราเข้ามารวมกันเป็นกลุ่มก้อนไฟ และสิ่งที่เราได้คือ กลุ่มก้อนอะไรสักอย่างที่มีลักษณะเป็นเปลว ซึ่งเราจะทำให้พาติเคิลของเรานั้นดูเหมือนไฟโดยการเติมสีลงไป

เพิ่ม Module Color over Lifetime เข้าไป Color over Lifetime นั้นมีหน้าที่เปลี่ยนสีของพาติเคิลเราไปตามค่าLifetime ของพาติเคิล ด้วยค่า การ Gadient ของสี โดยการทำไฟของเราครั้งนี้ ก็แล้วแต่ว่า เราอยากได้ สีไฟของเราเป็นแบบไหน แต่ในตัวอย่างนี้จะใช้สีเหลืองไปหาสีส้ม ซึ่งเป็นสีของเปลวไฟปกติ ซึ่งเมื่อเราคลิ้กเข้าไปด้านในเราจะพบกับหน้าจอเลือกGadient จุดด้านบนจะเป็น ค่า Alpha และ จุดด้านล่างจะเป็นสี เราสามารถเพิ่มจุดได้ โดนการคลิ้กไปที่ บริเวณที่เราต้องการจะเพิ่มค่า สี หรือค่า Alpha ลงไป

หลังจากขั้นตอนทั้งหมด เราก็จะได้ เปลวไฟแบบหยาบๆ พอที่จะเอาไปใช้งานได้ หลังจากนี้จะเป็นขั้นตอนการใส่ Texture ให้กับ พาติเคิลของเราโดย -สร้าง material ใหม่ขึ้นมาเป็น ชนิด Particles>Additive -จากนั้นทำการใส่textureที่เราต้องการลงไป หากใครไม่มีก็ใช้ texture ใน workshop นี้ได้เลย เมื่อเราได้ material แล้ว เราก็จะทำการ เอาไปใส่ให้กับ พาติเคิลของเรา โดยการไปที่ module Renderer > material เลือก material ที่เราพึ่งสร้างขึ้นมา เท่านี้เราก็จะได้ พาติเคิลไฟ ไว้ใช้ในงานของเราได้ TIPS หากอยากได้ความ realistic มากๆ ให้เปลี่ยนจาก Texture ไฟ ธรรมดา ให้เป็น Texture Sheet ที่เป็นไฟ เคลื่อนไหว และ เพิ่มควันเข้าไปด้วย