PR: PolloAI
ผมมีพื้นผิว (texture) แต่ไม่มี normal map หรือ metallic map การวาดด้วยมือเป็นเรื่องยุ่งยาก GPT-Image-2 สะดวกมากสำหรับงานนี้ เลยมาแชร์โน๊ตของผม
<video preload="none" tabindex="-1" playsinline="" aria-label="Embedded video" poster="https://pbs.twimg.com/amplify_video_thumb/2061699996932829184/img/YqHlVRSK80U4S7OS.jpg" src="https://video.twimg.com/amplify_video/2061699996932829184/pl/n5xhgmkuvKDguuFG.m3u8?tag=27&variant_version=1" style="width: 100%; height: 100%; position: absolute; background-color: black; top: 0%; left: 0%; transform: rotate(0deg) scale(1.005);"></video>
!https://pbs.twimg.com/amplify_video_thumb/2061699996932829184/img/YqHlVRSK80U4S7OS.jpg
ภาพเรนเดอร์ปกติ ดูแบนๆ
ครั้งนี้ผมใช้ Image Generation ของ PolloAI เนื่องจาก GPT Image 2.0 พร้อมใช้งาน แค่ส่ง texture ต้นฉบับเป็น input image แล้วเขียน prompt
■ Normal Maps
ใส่ texture ต้นฉบับแล้วขอให้ "สร้าง normal map" คุณสามารถระบุรายละเอียด เช่น "ทำให้ส่วนที่เป็นเหล็กคมชัด และรอยยับของผ้าเด่นชัดขึ้น" ตามลักษณะของวัสดุ
Texture ต้นฉบับ (VRoid)
Normal map Prompt: "กรุณาสร้าง normal map จาก texture ของภาพที่ป้อนเข้าไป ทำให้ส่วนที่เป็นเหล็กคมชัด และรอยยับของผ้าเด่นชัดขึ้น"
เนื่องจากได้ผลลัพธ์จาก prompt เดียว การลองผิดลองถูกจึงรวดเร็ว ถ้าไม่ชอบก็แค่เปลี่ยนคำสั่งแล้วสร้างใหม่ ในกรณีนี้ ตอนแรกยับน้อยไป เลยเพิ่มคำสั่งให้เน้นรอยยับ
<video preload="none" tabindex="-1" playsinline="" aria-label="Embedded video" poster="https://pbs.twimg.com/amplify_video_thumb/2061700280157450240/img/C7Pixv5ProHRiHAU.jpg" src="https://video.twimg.com/amplify_video/2061700280157450240/pl/XpLkkjAj5H10m41H.m3u8?tag=27&variant_version=1" style="width: 100%; height: 100%; position: absolute; background-color: black; top: 0%; left: 0%; transform: rotate(0deg) scale(1.005);"></video>
มันแปลงเป็น normal map ได้เกือบสมบูรณ์แบบทีละพิกเซล สุดยอดมาก
■ Metallic Maps
ในทำนองเดียวกัน ขอให้ "สร้าง metallic map" มันจะทำให้ส่วนที่เป็นโลหะเป็นสีขาว และส่วนที่ไม่ใช่โลหะเป็นสีดำ ขึ้นอยู่กับ texture อาจจะได้ผลดีหรือไม่... ครั้งนี้ผมได้ผลลัพธ์ที่ต้องการหลังจากลองไม่กี่ครั้ง
มันง่ายมากที่จะสร้างแผนที่ที่จำเป็นสำหรับเวิร์กโฟลว์ PBR ตามลำดับจาก texture ต้นฉบับเพียงอันเดียว
Prompt: สร้าง metalness map โดยอ้างอิงจากภาพต้นฉบับ ส่วนที่เป็นโลหะให้เป็นสีขาว ส่วนที่เป็นผ้าให้เป็นสีดำ
<video preload="none" tabindex="-1" playsinline="" aria-label="Embedded video" poster="https://pbs.twimg.com/amplify_video_thumb/2061701183174295552/img/P-89wIQkVZGGcwQe.jpg" src="https://video.twimg.com/amplify_video/2061701183174295552/pl/0x1AeXLnMMfLKkxe.m3u8?tag=27&variant_version=1" style="width: 100%; height: 100%; position: absolute; background-color: black; top: 0%; left: 0%; transform: rotate(0deg) scale(1.005);"></video>
!https://pbs.twimg.com/amplify_video_thumb/2061701183174295552/img/P-89wIQkVZGGcwQe.jpg
มันดูมีมิติมากขึ้นเมื่อแต่ละส่วนมีความคมชัดแตกต่างกัน
■ Looping Normal Maps (เจเนอเรชันใหม่)
อันนี้สร้างจากศูนย์โดยระบุ "tileable fabric normal map" โดยไม่มีภาพต้นฉบับ
Prompt: สร้าง tileable fabric normal map
ไม่ใช่แค่แปลงจาก texture ต้นฉบับ แต่คุณยังสามารถสร้างวัสดุขึ้นมาใหม่ได้อีกด้วย ซึ่งมีประโยชน์เมื่อคุณต้องการพื้นผิวย่อยสำหรับรายละเอียด
<video preload="none" tabindex="-1" playsinline="" aria-label="Embedded video" poster="https://pbs.twimg.com/amplify_video_thumb/2061701798545821696/img/Z2_PttwA0u909PN3.jpg" src="https://video.twimg.com/amplify_video/2061701798545821696/pl/2viytGlhPyZjkRUX.m3u8?tag=27&variant_version=1" style="width: 100%; height: 100%; position: absolute; background-color: black; top: 0%; left: 0%; transform: rotate(0deg) scale(1.005);"></video>
ผมทำให้มันแรงไปหน่อยสำหรับตัวอย่าง จริงๆ แล้วเบากว่านี้สักหน่อยน่าจะดีกว่า มันดูสวยงามเมื่อมี normal ของผ้าเมื่อซูมเข้าไป
■ เพิ่มเติม: Texture ฉีกขาด
ผมยังลองทำ texture สำหรับเอฟเฟกต์ฉีกขาดและเสียหายด้วย
Prompt: สร้างเวอร์ชันที่เสียหายของภาพที่ป้อนเข้าไป กรุณาฉีกส่วนที่เป็นผ้า และทำให้ส่วนที่เป็นเหล็กมีรอยแตก
ชิ้นส่วนวัสดุเล็กๆ แบบนี้สามารถผลิตได้อย่างรวดเร็วขึ้นอยู่กับ prompt (ส่วนที่ดูเหมือนหนังถูกตีความเป็นเหล็ก แต่... ก็ไม่เป็นไร จริงๆ แล้วการเปลี่ยนแปลงดีไซน์ครั้งใหญ่มักจะทำให้ภาพเปลี่ยนไป ดังนั้นผมไม่แนะนำให้ใช้สำหรับงานนั้น การประมวลผลความเสียหายคือขีดจำกัด)
<video preload="none" tabindex="-1" playsinline="" aria-label="Embedded video" poster="https://pbs.twimg.com/amplify_video_thumb/2061702655551164416/img/2vZqOsVlvtfw-73T.jpg" src="https://video.twimg.com/amplify_video/2061702655551164416/pl/3T-cstWU-eBTp0Ek.m3u8?tag=27&variant_version=1" style="width: 100%; height: 100%; position: absolute; background-color: black; top: 0%; left: 0%; transform: rotate(0deg) scale(1.005);"></video>
!https://pbs.twimg.com/amplify_video_thumb/2061702655551164416/img/2vZqOsVlvtfw-73T.jpg
วิดีโอแสดง normal map และ metallic map ใหม่ที่สร้างขึ้นจาก texture ที่ฉีกขาด มันดูสมจริง ก็เลยใช้ได้!
■ สรุป
อีกครั้ง
<video preload="none" tabindex="-1" playsinline="" aria-label="Embedded video" poster="https://pbs.twimg.com/amplify_video_thumb/2061703515387621376/img/m4eZW3YxMNpcbB7E.jpg" src="https://video.twimg.com/amplify_video/2061703515387621376/pl/iWj5m9eNovfxBwyt.m3u8?tag=27&variant_version=1" style="width: 100%; height: 100%; position: absolute; background-color: black; top: 0%; left: 0%; transform: rotate(0deg) scale(1.005);"></video>
0:13
สลับตามลำดับ: Texture เท่านั้น → เพิ่ม Normal → เพิ่ม Metallic → เพิ่มรายละเอียด → ประมวลผลความเสียหาย คุณจะเห็นความแตกต่างของพื้นผิวได้ชัดเจนเมื่อหมุนแสง
ผมรู้สึกขอบคุณจริงๆ ที่งานที่เคยทำด้วยมือหรือใช้เครื่องมือเฉพาะทาง ตอนนี้สามารถเสร็จได้ด้วย prompt เดียว ความแม่นยำอยู่ในระดับที่ใช้งานได้จริง และโดยเฉพาะ normal map ดูเหมือนจะเข้ากันได้ดีกับ generative AI
PolloAI ยังสามารถสร้างวิดีโอและสร้าง digital human นอกเหนือจาก GPT Image 2.0 ได้อีกด้วย ถ้าสนใจ ลองดูนะครับ!! (โปรโมชั่น)





