ระดับ 3 · สี

เทสีด้วย Paint Bucket และ Live Paint

ใน Rayzia มีเครื่องมือสองตัวที่เติมสีลงในพื้นที่ปิด และทั้งสองทำงานคนละแบบโดยสิ้นเชิง ตัวหนึ่งลอกลายจากสิ่งที่เห็นบนหน้าจอ อีกตัวเข้าใจพาธที่อยู่ข้างใต้ เลือกให้ถูกตัวจะช่วยประหยัดเวลาเก็บงานทีหลังได้มาก

ถังสีอยู่ตรงไหน และมันทำอะไรกันแน่

แถบเครื่องมือจัดเป็นกลุ่ม Paint Bucket อยู่ใน ช่องเครื่องมือลงสี ร่วมกับ Gradient, Mesh Gradient และ Spray โดย Gradient เป็นตัวหลักประจำช่อง คลิกสามเหลี่ยมเล็ก ๆ บนช่องนั้นเพื่อเปิดเมนูย่อยแล้วเลือก Paint Bucket หรือกด U ตัวเลือกของคุณจะคงอยู่: ช่องจะจำเครื่องมือที่คุณเลือกไว้และแสดงตัวนั้นต่อไป

ทีนี้มาถึงส่วนที่คนมักเข้าใจผิด ถังสีไม่ได้เปลี่ยนสีรูปทรงที่คุณคลิก มันถ่ายภาพแคนวาสที่เรนเดอร์แล้ว เทสีแบบ flood-fill ออกจากจุดที่คลิกจนชนขอบเขตสี ลอกมาสก์นั้นเป็นรูปหลายเหลี่ยม (วงนอกบวกรูใด ๆ เติมสีแบบ even-odd) แล้วสร้าง พาธใหม่ จากผลลัพธ์ คุณจะได้วัตถุใหม่ในเอกสาร ส่วนงานเดิมที่คุณเทสีลงไประหว่างนั้นจะไม่ถูกแตะต้อง

เพราะการลอกลายเริ่มจากพิกเซลที่เรนเดอร์แล้ว พาธที่เทได้จึงตามสิ่งที่ปรากฏบนหน้าจอ ไม่ใช่สมการเบซิเยร์ที่แม่นยำของรูปทรงรอบ ๆ ให้คาดหวังผลที่ใกล้เคียงมาก ไม่ใช่รอยต่อที่สมบูรณ์แบบ

การเทสีลงพื้นที่

  1. เลือกเครื่องมือ กด U หรือเปิดเมนูย่อยของช่องเครื่องมือลงสีแล้วเลือก Paint Bucket
  2. ตั้งสีที่กำลังจะเท กด , เพื่อเปิดตัวเลือกสี X สลับว่าสีไหนกำลังใช้งาน Shift+X สลับสีพื้นกับสีเส้น D รีเซ็ตเป็นค่าเริ่มต้นคือพื้นขาวเส้นดำ และ . เปลี่ยนสีที่ใช้งานอยู่เป็นเกรเดียนต์
  3. คลิกภายในพื้นที่ คลิกหนึ่งครั้งในพื้นที่ปิด การเทจะเกิดขึ้นเมื่อปล่อยเมาส์ และกลายเป็นพาธใหม่ในเอกสาร
  4. ดูขอบ แล้วปรับ ถ้าสีทะลักออกนอกพื้นที่ แสดงว่าเส้นขอบมีช่องว่าง ถ้าสีหยุดก่อนถึงขอบหรือลามเข้าโทนสีข้างเคียง แสดงว่า threshold ไม่เหมาะ เลิกทำด้วย Ctrl+Z ปรับแถบตัวเลือก แล้วเทใหม่

แถบตัวเลือก

เมื่อเลือก Paint Bucket แถบบริบทจะมีปุ่มควบคุมห้าอย่าง:

  • Fill by: Visible colors, Red, Green, Blue หรือ Lightness ตัวเลือกนี้กำหนดว่า flood จะเปรียบเทียบแชนเนลไหนเวลาตัดสินว่าพื้นที่สิ้นสุดตรงไหน
  • Threshold: 0 ถึง 100 ค่าเริ่มต้น 5 กำหนดว่าพิกเซลข้างเคียงต่างกันได้แค่ไหนก่อนที่ flood จะถือว่าเป็นกำแพง เพิ่มค่าเพื่อเทข้ามขอบนุ่มหรือขอบ anti-aliased ลดค่าเพื่อเคารพโทนสีที่ใกล้เคียงกัน
  • Grow/shrink by: -20 ถึง 20 ค่าเริ่มต้น 0 ขยายหรือหดเส้นขอบที่ลอกได้ในภายหลัง ค่าบวกเล็กน้อยจะซุกพาธใหม่ไว้ใต้เส้นขอบรอบ ๆ เพื่อไม่ให้เห็นรอยเส้นบาง ๆ
  • Close gaps: None, Small, Medium หรือ Large ค่าเริ่มต้น Small นี่คือตัวแก้ปัญหาสีรั่ว
  • รีเซ็ตเป็นค่าเริ่มต้น.

Close gaps คือค่าที่ควรทำความเข้าใจ เส้นขอบที่วาดด้วยมือแทบไม่เคยบรรจบกันพอดี และช่องเปิดแค่สองพิกเซลก็พอให้ flood ทะลักออกไปเติมเต็มทั้งหน้าได้ ค่อย ๆ ปรับค่าขึ้นจนสีถูกกักอยู่ในพื้นที่ เริ่มที่ Small ซึ่งเปิดอยู่แล้วตั้งแต่ต้น

Live Paint เป็นคนละเรื่องกันเลย

Live Paint มีปุ่มของตัวเองบนแถบเครื่องมือ ไม่ได้อยู่ในช่องกลุ่ม และไม่มีคีย์ลัด มันไม่ได้ flood พิกเซลเลย แต่เอาพาธที่ซ้อนทับกันของคุณไปประมวลผลด้วยเอนจินแบ่งพื้นที่ระนาบตัวเดียวกับที่ขับเคลื่อน Shape Builder คำนวณพื้นที่เวกเตอร์จริงที่จุดตัดเหล่านั้นสร้างขึ้น แล้วเติมสีพื้นปัจจุบันลงในพื้นที่ที่คุณคลิกอย่างแม่นยำ

ความต่างนี้สำคัญ ไม่มี threshold ให้ปรับ และไม่มีช่องว่างให้สีรั่ว เพราะพื้นที่คำนวณจากรูปทรงเรขาคณิต ไม่ใช่จากสี ต้นฉบับยังอยู่ครบ และชิ้นสีใหม่จะถูกเพิ่มไว้ด้านบน

สรุปคือ: ใช้ Live Paint เมื่อพื้นที่ถูกล้อมด้วยพาธเวกเตอร์จริงที่ตัดกัน ซึ่งครอบคลุมงานลายเส้นและไดอะแกรมส่วนใหญ่ ใช้ Paint Bucket เมื่อขอบเขตเป็นสิ่งที่รูปทรงเรขาคณิตอธิบายไม่ได้ เช่น รูปภาพที่วางไว้ หรือผลลัพธ์ที่เรนเดอร์แล้วซึ่งคุณอยากลอกลายด้วยสายตา

คีย์ที่ควรรู้ตรงนี้

ปุ่มทำอะไร
UPaint Bucket
GGradient (ตัวหลักของช่องเครื่องมือลงสี)
,เปิดตัวเลือกสี
Xสลับสีที่ใช้งานระหว่างสีพื้นกับสีเส้น
Shift+Xสลับสีพื้นกับสีเส้น
Dสีเริ่มต้น: พื้นขาว เส้นดำ
/ตั้งสีที่ใช้งานเป็นไม่มีสี
.ตั้งสีที่ใช้งานเป็นเกรเดียนต์
Ctrl+Zเลิกทำการเทสี

Live Paint ไม่มีคีย์ลัด Connector และ Blob Brush ก็เช่นกัน คอมเมนต์บางส่วนในซอร์สโค้ดบอกไว้ต่างจากนี้ แต่มันล้าสมัยแล้ว

คำถามที่พบบ่อย

ทำไมการเทสีของฉันถึงเติมเต็มทั้งหน้า?

พื้นที่นั้นไม่ได้ปิดสนิท flood เจอช่องว่างในเส้นขอบและทะลักออกไปทางนั้น เลิกทำ ปรับ Close gaps จาก Small เป็น Medium หรือ Large แล้วเทใหม่ ถ้ายังรั่วอยู่ แสดงว่าช่องเปิดใหญ่จริง ๆ ควรปิดพาธเอง หรือใช้ Live Paint ซึ่งไม่มีทางรั่ว

ถังสีสร้างรูปทรงใหม่แทนที่จะลงสีสี่เหลี่ยมของฉัน นี่เป็นบั๊กหรือเปล่า?

ไม่ใช่ นั่นคือการออกแบบ Paint Bucket จะลอกลายพื้นที่ที่ flood ไว้แล้วสร้างพาธใหม่จากมันเสมอ ถ้าต้องการเปลี่ยนสีวัตถุที่มีอยู่ ให้เลือกด้วยเครื่องมือ Select (V) แล้วตั้งสีพื้นในตัวเลือกสีแทน

ควรใช้ Live Paint แทนถังสีเมื่อไหร่?

เมื่อใดก็ตามที่พื้นที่ที่คุณต้องการเกิดจากพาธเวกเตอร์ที่ตัดกัน Live Paint ใช้รูปทรงเรขาคณิตจริง จึงไม่มี threshold ให้เดา และไม่มีช่องว่างให้อุด ถังสีเหมาะกับงานที่รูปทรงเรขาคณิตอธิบายไม่ได้ เช่น บิตแมปที่วางไว้

เทเกรเดียนต์ได้ไหม?

กด . เพื่อตั้งสีที่ใช้งานเป็นเกรเดียนต์ก่อนเท ส่วนการแก้ไขเกรเดียนต์บนวัตถุโดยตรง เครื่องมือ Gradient (G) เป็นทางที่ดีกว่า: ลากบนวัตถุ แล้วลากแฮนเดิลบนแคนวาส